//# 0 errors, 628 messages
//#
/*
    //#WeblogConfig.java:1:1: class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.ui.struts2.editor;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.business.plugins.PluginManager;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.business.WeblogManager;
import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
import org.apache.roller.weblogger.pojos.WeblogPermission;
import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.weblogger.ui.core.RollerContext;
import org.apache.roller.weblogger.ui.core.plugins.UIPluginManager;
import org.apache.roller.weblogger.ui.struts2.util.UIAction;
import org.apache.roller.weblogger.util.Blacklist;
import org.apache.roller.weblogger.util.cache.CacheManager;
import org.apache.struts2.interceptor.validation.SkipValidation;


/**
 * Action for modifying weblog configuration.
 */
public class WeblogConfig extends UIAction {
    
    private static Log log = LogFactory.getLog(WeblogConfig.class);
    //#WeblogConfig.java:49: method: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init
    //#WeblogConfig.java:49: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addError(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addError(Ljava/lang/String;Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addError(Ljava/lang/String;Ljava/util/List;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addMessage(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addMessage(Ljava/lang/String;Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addMessage(Ljava/lang/String;Ljava/util/List;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.errorsExist()Z
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.execute()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getAbsoluteSiteURL()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getActionName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getActionWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getAuthenticatedUser()Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getBooleanProp(Ljava/lang/String;)Z
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getCommentDaysList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getDesiredMenu()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getEditorsList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getHoursList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getIntProp(Ljava/lang/String;)I
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getLocalesList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getMediumDateFormat()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getMenu()Lorg/apache/roller/weblogger/ui/core/util/menu/Menu;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getMinutesList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getPageTitle()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getPluginsList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getProp(Ljava/lang/String;)Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getSecondsList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getShortDateFormat()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getSiteURL()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getTimeZonesList()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getWeblog()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getWeblogCategories()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.isUserIsAdmin()Z
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.isUserRequired()Z
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.isWeblogRequired()Z
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.messagesExist()Z
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.myPrepare()V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.myValidate()V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.requiredWeblogPermissions()S
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.save()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setActionName(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setActionWeblog(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setAuthenticatedUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setBean(Lorg/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setDesiredMenu(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setEditorsList(Ljava/util/List;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setPageTitle(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setPluginsList(Ljava/util/List;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setWeblog(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setWeblogCategories(Ljava/util/List;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): log
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): org/apache/roller/weblogger/ui/struts2/util/UIAction.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): org/apache/roller/weblogger/ui/struts2/util/UIActionPreparable.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#output(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): org/apache/roller/weblogger/ui/struts2/util/UISecurityEnforced.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): org/apache/roller/weblogger/ui/struts2/util/UIAction.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): org/apache/roller/weblogger/ui/struts2/util/UIActionPreparable.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): org/apache/roller/weblogger/ui/struts2/util/UISecurityEnforced.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addError(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.addError
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addError(Ljava/lang/String;Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.addError
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addError(Ljava/lang/String;Ljava/util/List;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.addError
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addMessage(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.addMessage
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addMessage(Ljava/lang/String;Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.addMessage
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.addMessage(Ljava/lang/String;Ljava/util/List;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.addMessage
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.errorsExist()Z == &org/apache/roller/weblogger/ui/struts2/util/UIAction.errorsExist
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.execute()Ljava/lang/String; == &execute
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getAbsoluteSiteURL()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getAbsoluteSiteURL
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getActionName()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getActionName
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getActionWeblog()Lorg/apache/roller/weblogger/pojos/Weblog; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getActionWeblog
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getAuthenticatedUser()Lorg/apache/roller/weblogger/pojos/User; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getAuthenticatedUser
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean; == &getBean
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getBooleanProp(Ljava/lang/String;)Z == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getBooleanProp
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getCommentDaysList()Ljava/util/List; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getCommentDaysList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getDesiredMenu()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getDesiredMenu
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getEditorsList()Ljava/util/List; == &getEditorsList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getHoursList()Ljava/util/List; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getHoursList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getIntProp(Ljava/lang/String;)I == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getIntProp
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getLocalesList()Ljava/util/List; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getLocalesList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getMediumDateFormat()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getMediumDateFormat
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getMenu()Lorg/apache/roller/weblogger/ui/core/util/menu/Menu; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getMenu
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getMinutesList()Ljava/util/List; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getMinutesList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getPageTitle()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getPageTitle
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getPluginsList()Ljava/util/List; == &getPluginsList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getProp(Ljava/lang/String;)Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getProp
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getSecondsList()Ljava/util/List; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getSecondsList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getShortDateFormat()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getShortDateFormat
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getSiteURL()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getSiteURL
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getTimeZonesList()Ljava/util/List; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getTimeZonesList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getWeblog()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.getWeblog
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.getWeblogCategories()Ljava/util/List; == &getWeblogCategories
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.isUserIsAdmin()Z == &org/apache/roller/weblogger/ui/struts2/util/UIAction.isUserIsAdmin
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.isUserRequired()Z == &org/apache/roller/weblogger/ui/struts2/util/UIAction.isUserRequired
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.isWeblogRequired()Z == &org/apache/roller/weblogger/ui/struts2/util/UIAction.isWeblogRequired
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.messagesExist()Z == &org/apache/roller/weblogger/ui/struts2/util/UIAction.messagesExist
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.myPrepare()V == &myPrepare
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.myValidate()V == &myValidate
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String; == &org/apache/roller/weblogger/ui/struts2/util/UIAction.requiredUserRole
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.requiredWeblogPermissions()S == &requiredWeblogPermissions
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.save()Ljava/lang/String; == &save
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setActionName(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.setActionName
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setActionWeblog(Lorg/apache/roller/weblogger/pojos/Weblog;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.setActionWeblog
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setAuthenticatedUser(Lorg/apache/roller/weblogger/pojos/User;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.setAuthenticatedUser
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setBean(Lorg/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean;)V == &setBean
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setDesiredMenu(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.setDesiredMenu
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setEditorsList(Ljava/util/List;)V == &setEditorsList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setPageTitle(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.setPageTitle
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setPluginsList(Ljava/util/List;)V == &setPluginsList
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setWeblog(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/struts2/util/UIAction.setWeblog
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): __Dispatch_Table.setWeblogCategories(Ljava/util/List;)V == &setWeblogCategories
    //#post(org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init): init'ed(log)
    //#WeblogConfig.java:49: end of method: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig__static_init
    
    // bean for managing submitted data
    private WeblogConfigBean bean = new WeblogConfigBean();
    
    // categories list
    private List weblogCategories = Collections.EMPTY_LIST;
    
    // list of available editors
    private List editorsList = Collections.EMPTY_LIST;
    
    // list of available plugins
    private List pluginsList = Collections.EMPTY_LIST;
    
    
    public WeblogConfig() {
    //#WeblogConfig.java:64: method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()
    //#input(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): java.util.Collections.EMPTY_LIST
    //#input(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): new WeblogConfigBean(WeblogConfig#1) num objects
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.__Tag
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.about
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.active
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.allowComments
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.applyCommentDefaults
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.blacklist
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.bloggerCategoryId
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.commentModerationRequired
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultAllowComments
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultCategoryId
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultCommentDays
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultPlugins
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultPluginsArray
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.description
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.editorPage
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.emailAddress
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.emailComments
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.emailFromAddress
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.enableBloggerApi
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.enableMultiLang
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.entryDisplayCount
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.handle
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.icon
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.id
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.locale
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.moderateComments
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.name
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.pageModels
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.showAllLangs
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.timeZone
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.actionName
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.actionWeblog
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.authenticatedUser
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.desiredMenu
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.editorsList
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.pageTitle
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.pluginsList
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.weblog
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.weblogCategories
    //#new obj(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): new WeblogConfigBean(WeblogConfig#1)
    //#presumption(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): init'ed(java.util.Collections.EMPTY_LIST)
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.actionName == &"weblogConfig"
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.actionWeblog == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.authenticatedUser == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.weblog == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.about == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.blacklist == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.bloggerCategoryId == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultCategoryId == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultPlugins == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultPluginsArray == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.description == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.editorPage == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.emailAddress == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.emailFromAddress == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.handle == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.icon == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.id == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.locale == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.name == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.pageModels == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.timeZone == null
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean == &new WeblogConfigBean(WeblogConfig#1)
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.desiredMenu == &"editor"
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.editorsList == java.util.Collections.EMPTY_LIST
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): (soft) init'ed(this.editorsList)
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.pluginsList == this.editorsList
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.weblogCategories == this.editorsList
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.pageTitle == &"websiteSettings.title"
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): new WeblogConfigBean(WeblogConfig#1) num objects == 1
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.active == 1
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.showAllLangs == 1
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.allowComments == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.applyCommentDefaults == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.commentModerationRequired == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultAllowComments == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.emailComments == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.enableBloggerApi == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.enableMultiLang == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.moderateComments == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.defaultCommentDays == &"0"
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): this.bean.entryDisplayCount == 15
    //#unanalyzed(void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()): Effects-of-calling:com.opensymphony.xwork2.ActionSupport
        this.actionName = "weblogConfig";
        this.desiredMenu = "editor";
        this.pageTitle = "websiteSettings.title";
    }
    //#WeblogConfig.java:68: end of method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig()
    
    
    // admin perms required
    public short requiredWeblogPermissions() {
        return WeblogPermission.ADMIN;
    //#WeblogConfig.java:73: method: short org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.requiredWeblogPermissions()
    //#input(short requiredWeblogPermissions()): org.apache.roller.weblogger.pojos.WeblogPermission.ADMIN
    //#output(short requiredWeblogPermissions()): return_value
    //#presumption(short requiredWeblogPermissions()): init'ed(org.apache.roller.weblogger.pojos.WeblogPermission.ADMIN)
    //#post(short requiredWeblogPermissions()): return_value == org.apache.roller.weblogger.pojos.WeblogPermission.ADMIN
    //#post(short requiredWeblogPermissions()): (soft) init'ed(return_value)
    //#WeblogConfig.java:73: end of method: short org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.requiredWeblogPermissions()
    }
    
    
    public void myPrepare() {
        
        try {
            WeblogManager wmgr = WebloggerFactory.getWeblogger().getWeblogManager();
    //#WeblogConfig.java:80: method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.myPrepare()
    //#WeblogConfig.java:80: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogConfig.java:80: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#input(void myPrepare()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#input(void myPrepare()): __Descendant_Table[others]
    //#input(void myPrepare()): __Dispatch_Table.getActionWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(void myPrepare()): __Dispatch_Table.setEditorsList(Ljava/util/List;)V
    //#input(void myPrepare()): __Dispatch_Table.setPluginsList(Ljava/util/List;)V
    //#input(void myPrepare()): __Dispatch_Table.setWeblogCategories(Ljava/util/List;)V
    //#input(void myPrepare()): log
    //#input(void myPrepare()): this
    //#input(void myPrepare()): this.__Tag
    //#input(void myPrepare()): this.actionWeblog
    //#output(void myPrepare()): new ArrayList(myPrepare#1) num objects
    //#output(void myPrepare()): this.editorsList
    //#output(void myPrepare()): this.pluginsList
    //#output(void myPrepare()): this.weblogCategories
    //#new obj(void myPrepare()): new ArrayList(myPrepare#1)
    //#pre[1] (void myPrepare()): (soft) log != null
    //#pre[6] (void myPrepare()): (soft) this.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig
    //#pre[7] (void myPrepare()): (soft) init'ed(this.actionWeblog)
    //#presumption(void myPrepare()): java.util.Map:values(...)@96 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.Weblogger:getPluginManager(...)@93 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@80 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@80 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@93 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.plugins.PluginManager:getWeblogEntryPlugins(...)@94 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.ui.core.RollerContext:getUIPluginManager(...)@86 != null
    //#post(void myPrepare()): possibly_updated(this.editorsList)
    //#post(void myPrepare()): this.pluginsList == One-of{&new ArrayList(myPrepare#1), old this.pluginsList}
    //#post(void myPrepare()): possibly_updated(this.weblogCategories)
    //#post(void myPrepare()): new ArrayList(myPrepare#1) num objects <= 1
    //#test_vector(void myPrepare()): java.util.Iterator:hasNext(...)@97: {0}, {1}
    //#test_vector(void myPrepare()): org.apache.roller.weblogger.ui.core.plugins.UIPluginManager:getWeblogEntryEditors(...)@87: Addr_Set{null}, Inverse{null}
            
            // set categories list
            setWeblogCategories(wmgr.getWeblogCategories(getActionWeblog(), false));
    //#WeblogConfig.java:83: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.business.WeblogManager:getWeblogCategories(Weblog, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: List org.apache.roller.weblogger.business.WeblogManager:getWeblogCategories(Weblog, bool)
            
            // set the Editor Page list
            UIPluginManager pmgr = RollerContext.getUIPluginManager();
    //#WeblogConfig.java:86: Warning: method not available
    //#    -- call on UIPluginManager org.apache.roller.weblogger.ui.core.RollerContext:getUIPluginManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: UIPluginManager org.apache.roller.weblogger.ui.core.RollerContext:getUIPluginManager()
            List editorsList = pmgr.getWeblogEntryEditors();
    //#WeblogConfig.java:87: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.ui.core.plugins.UIPluginManager:getWeblogEntryEditors()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: List org.apache.roller.weblogger.ui.core.plugins.UIPluginManager:getWeblogEntryEditors()
            if(editorsList != null) {
                setEditorsList(editorsList);
            }
            
            // set plugins list
            PluginManager ppmgr = WebloggerFactory.getWeblogger().getPluginManager();
    //#WeblogConfig.java:93: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogConfig.java:93: Warning: method not available
    //#    -- call on PluginManager org.apache.roller.weblogger.business.Weblogger:getPluginManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: PluginManager org.apache.roller.weblogger.business.Weblogger:getPluginManager()
            Map pluginsMap = ppmgr.getWeblogEntryPlugins(getActionWeblog());
    //#WeblogConfig.java:94: Warning: method not available
    //#    -- call on Map org.apache.roller.weblogger.business.plugins.PluginManager:getWeblogEntryPlugins(Weblog)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: Map org.apache.roller.weblogger.business.plugins.PluginManager:getWeblogEntryPlugins(Weblog)
            List plugins = new ArrayList();
            Iterator iter = pluginsMap.values().iterator();
            while(iter.hasNext()) {
                plugins.add(iter.next());
            }
            // sort
            setPluginsList(plugins);

        } catch (Exception ex) {
            log.error("Error preparing weblog config action", ex);
    //#WeblogConfig.java:104: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
        }
    }
    //#WeblogConfig.java:106: end of method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.myPrepare()
    
    
    @SkipValidation
    public String execute() {
        
        // load bean with data from weblog
        getBean().copyFrom(getActionWeblog());
    //#WeblogConfig.java:113: method: String org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.execute()
    //#input(String execute()): ""._tainted
    //#input(String execute()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#input(String execute()): __Descendant_Table[others]
    //#input(String execute()): __Dispatch_Table.getActionWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(String execute()): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean;
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean]
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Descendant_Table[others]
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.copyFrom(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.setAbout(Ljava/lang/String;)V
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.setActive(Z)V
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.setIcon(Ljava/lang/String;)V
    //#input(String execute()): this
    //#input(String execute()): this.__Tag
    //#input(String execute()): this.actionWeblog
    //#input(String execute()): this.bean
    //#input(String execute()): this.bean.__Tag
    //#output(String execute()): java.lang.StringBuilder:toString(...)._tainted
    //#output(String execute()): return_value
    //#output(String execute()): this.bean.about
    //#output(String execute()): this.bean.active
    //#output(String execute()): this.bean.allowComments
    //#output(String execute()): this.bean.blacklist
    //#output(String execute()): this.bean.bloggerCategoryId
    //#output(String execute()): this.bean.commentModerationRequired
    //#output(String execute()): this.bean.defaultAllowComments
    //#output(String execute()): this.bean.defaultCategoryId
    //#output(String execute()): this.bean.defaultCommentDays
    //#output(String execute()): this.bean.defaultPlugins
    //#output(String execute()): this.bean.defaultPluginsArray
    //#output(String execute()): this.bean.description
    //#output(String execute()): this.bean.editorPage
    //#output(String execute()): this.bean.emailAddress
    //#output(String execute()): this.bean.emailComments
    //#output(String execute()): this.bean.emailFromAddress
    //#output(String execute()): this.bean.enableBloggerApi
    //#output(String execute()): this.bean.enableMultiLang
    //#output(String execute()): this.bean.entryDisplayCount
    //#output(String execute()): this.bean.handle
    //#output(String execute()): this.bean.icon
    //#output(String execute()): this.bean.id
    //#output(String execute()): this.bean.locale
    //#output(String execute()): this.bean.moderateComments
    //#output(String execute()): this.bean.name
    //#output(String execute()): this.bean.pageModels
    //#output(String execute()): this.bean.showAllLangs
    //#output(String execute()): this.bean.timeZone
    //#new obj(String execute()): java.lang.StringBuilder:toString(...)
    //#pre[5] (String execute()): this.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig
    //#pre[6] (String execute()): this.actionWeblog != null
    //#pre[7] (String execute()): this.bean != null
    //#pre[8] (String execute()): this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean
    //#post(String execute()): java.lang.StringBuilder:toString(...)._tainted == 0
    //#post(String execute()): return_value == &"input"
    //#post(String execute()): init'ed(this.bean.about)
    //#post(String execute()): init'ed(this.bean.active)
    //#post(String execute()): init'ed(this.bean.allowComments)
    //#post(String execute()): init'ed(this.bean.blacklist)
    //#post(String execute()): possibly_updated(this.bean.bloggerCategoryId)
    //#post(String execute()): init'ed(this.bean.commentModerationRequired)
    //#post(String execute()): init'ed(this.bean.defaultAllowComments)
    //#post(String execute()): possibly_updated(this.bean.defaultCategoryId)
    //#post(String execute()): this.bean.defaultCommentDays == &java.lang.StringBuilder:toString(...)
    //#post(String execute()): init'ed(this.bean.defaultPlugins)
    //#post(String execute()): possibly_updated(this.bean.defaultPluginsArray)
    //#post(String execute()): init'ed(this.bean.description)
    //#post(String execute()): init'ed(this.bean.editorPage)
    //#post(String execute()): init'ed(this.bean.emailAddress)
    //#post(String execute()): init'ed(this.bean.emailComments)
    //#post(String execute()): init'ed(this.bean.emailFromAddress)
    //#post(String execute()): init'ed(this.bean.enableBloggerApi)
    //#post(String execute()): init'ed(this.bean.enableMultiLang)
    //#post(String execute()): init'ed(this.bean.entryDisplayCount)
    //#post(String execute()): init'ed(this.bean.handle)
    //#post(String execute()): init'ed(this.bean.icon)
    //#post(String execute()): init'ed(this.bean.id)
    //#post(String execute()): init'ed(this.bean.locale)
    //#post(String execute()): init'ed(this.bean.moderateComments)
    //#post(String execute()): init'ed(this.bean.name)
    //#post(String execute()): init'ed(this.bean.pageModels)
    //#post(String execute()): init'ed(this.bean.showAllLangs)
    //#post(String execute()): init'ed(this.bean.timeZone)
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getId
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getHandle
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getName
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getDescription
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getEnableBloggerApi
    //#unanalyzed(String execute()): Effects-of-calling:java.lang.Boolean:booleanValue
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getEditorPage
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getBlacklist
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getAllowComments
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getDefaultAllowComments
    //#unanalyzed(String execute()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String execute()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getDefaultCommentDays
    //#unanalyzed(String execute()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getModerateComments
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getEmailComments
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getEmailFromAddress
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getEmailAddress
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getLocale
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getTimeZone
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getDefaultPlugins
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getEntryDisplayCount
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getActive
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getCommentModerationRequired
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:isEnableMultiLang
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:isShowAllLangs
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getPageModels
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getIconPath
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getAbout
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getDefaultCategory
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.WeblogCategory:getId
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getBloggerCategory
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.commons.lang.StringUtils:split
        
        return INPUT;
    //#WeblogConfig.java:115: end of method: String org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.execute()
    }
    
    
    /**
     * Save weblog configuration.
     */
    public String save() {
        
        // run validation
        myValidate();
    //#WeblogConfig.java:125: method: String org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.save()
    //#input(String save()): ""._tainted
    //#input(String save()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#input(String save()): __Descendant_Table[others]
    //#input(String save()): __Dispatch_Table.addError(Ljava/lang/String;)V
    //#input(String save()): __Dispatch_Table.addError(Ljava/lang/String;Ljava/lang/String;)V
    //#input(String save()): __Dispatch_Table.addMessage(Ljava/lang/String;)V
    //#input(String save()): __Dispatch_Table.addMessage(Ljava/lang/String;Ljava/util/List;)V
    //#input(String save()): __Dispatch_Table.getActionWeblog()Lorg/apache/roller/weblogger/pojos/Weblog;
    //#input(String save()): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean;
    //#input(String save()): java.lang.Boolean.FALSE
    //#input(String save()): log
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean]
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Descendant_Table[others]
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.copyTo(Lorg/apache/roller/weblogger/pojos/Weblog;)V
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getAbout()Ljava/lang/String;
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getActive()Z
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getApplyCommentDefaults()Z
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getBlacklist()Ljava/lang/String;
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getBloggerCategoryId()Ljava/lang/String;
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getEntryDisplayCount()I
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getIcon()Ljava/lang/String;
    //#input(String save()): this
    //#input(String save()): this.__Tag
    //#input(String save()): this.actionWeblog
    //#input(String save()): this.bean
    //#input(String save()): this.bean.__Tag
    //#input(String save()): this.bean.about
    //#input(String save()): this.bean.active
    //#input(String save()): this.bean.allowComments
    //#input(String save()): this.bean.applyCommentDefaults
    //#input(String save()): this.bean.blacklist
    //#input(String save()): this.bean.bloggerCategoryId
    //#input(String save()): this.bean.commentModerationRequired
    //#input(String save()): this.bean.defaultAllowComments
    //#input(String save()): this.bean.defaultPlugins
    //#input(String save()): this.bean.defaultPluginsArray
    //#input(String save()): this.bean.description
    //#input(String save()): this.bean.editorPage
    //#input(String save()): this.bean.emailAddress
    //#input(String save()): this.bean.emailComments
    //#input(String save()): this.bean.emailFromAddress
    //#input(String save()): this.bean.enableBloggerApi
    //#input(String save()): this.bean.enableMultiLang
    //#input(String save()): this.bean.entryDisplayCount
    //#input(String save()): this.bean.icon
    //#input(String save()): this.bean.locale
    //#input(String save()): this.bean.moderateComments
    //#input(String save()): this.bean.name
    //#input(String save()): this.bean.pageModels
    //#input(String save()): this.bean.showAllLangs
    //#input(String save()): this.bean.timeZone
    //#output(String save()): return_value
    //#pre[3] (String save()): this.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig
    //#pre[5] (String save()): this.bean != null
    //#pre[6] (String save()): this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean
    //#pre[25] (String save()): init'ed(this.bean.entryDisplayCount)
    //#pre[1] (String save()): (soft) log != null
    //#pre[4] (String save()): (soft) this.actionWeblog != null
    //#pre[7] (String save()): (soft) init'ed(this.bean.about)
    //#pre[8] (String save()): (soft) init'ed(this.bean.active)
    //#pre[9] (String save()): (soft) init'ed(this.bean.allowComments)
    //#pre[10] (String save()): (soft) init'ed(this.bean.applyCommentDefaults)
    //#pre[11] (String save()): (soft) init'ed(this.bean.blacklist)
    //#pre[12] (String save()): (soft) init'ed(this.bean.bloggerCategoryId)
    //#pre[13] (String save()): (soft) init'ed(this.bean.commentModerationRequired)
    //#pre[14] (String save()): (soft) init'ed(this.bean.defaultAllowComments)
    //#pre[16] (String save()): (soft) init'ed(this.bean.defaultPlugins)
    //#pre[17] (String save()): (soft) init'ed(this.bean.defaultPluginsArray)
    //#pre[18] (String save()): (soft) init'ed(this.bean.description)
    //#pre[19] (String save()): (soft) init'ed(this.bean.editorPage)
    //#pre[20] (String save()): (soft) init'ed(this.bean.emailAddress)
    //#pre[21] (String save()): (soft) init'ed(this.bean.emailComments)
    //#pre[22] (String save()): (soft) init'ed(this.bean.emailFromAddress)
    //#pre[23] (String save()): (soft) init'ed(this.bean.enableBloggerApi)
    //#pre[24] (String save()): (soft) init'ed(this.bean.enableMultiLang)
    //#pre[26] (String save()): (soft) init'ed(this.bean.icon)
    //#pre[27] (String save()): (soft) init'ed(this.bean.locale)
    //#pre[28] (String save()): (soft) init'ed(this.bean.moderateComments)
    //#pre[29] (String save()): (soft) init'ed(this.bean.name)
    //#pre[30] (String save()): (soft) init'ed(this.bean.pageModels)
    //#pre[31] (String save()): (soft) init'ed(this.bean.showAllLangs)
    //#pre[32] (String save()): (soft) init'ed(this.bean.timeZone)
    //#presumption(String save()): init'ed(java.lang.Boolean.FALSE)
    //#presumption(String save()): org.apache.roller.weblogger.business.Weblogger:getRefererManager(...)@163 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.Weblogger:getUserManager(...)@129 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@128 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@128 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@129 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@163 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@166 != null
    //#presumption(String save()): org.apache.roller.weblogger.pojos.Weblog:getActive(...)@142 != null
    //#presumption(String save()): org.apache.roller.weblogger.pojos.Weblog:getBloggerCategory(...)@136 != null
    //#presumption(String save()): org.apache.roller.weblogger.pojos.WeblogCategory:getId(...)@136 != null
    //#post(String save()): return_value == &"input"
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.config.WebloggerRuntimeConfig:getIntProperty
    //#unanalyzed(String save()): Effects-of-calling:addError
    //#unanalyzed(String save()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.util.Blacklist:populateSpamRules
    //#unanalyzed(String save()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String save()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String save()): Effects-of-calling:java.util.List:size
    //#unanalyzed(String save()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(String save()): Effects-of-calling:java.util.Arrays:asList
    //#unanalyzed(String save()): Effects-of-calling:addMessage
    //#unanalyzed(String save()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String save()): Effects-of-calling:java.lang.Throwable:getMessage
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setName
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setDescription
    //#unanalyzed(String save()): Effects-of-calling:java.lang.Boolean:valueOf
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setEnableBloggerApi
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setEditorPage
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setBlacklist
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setAllowComments
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setDefaultAllowComments
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setModerateComments
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setEmailComments
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setEmailFromAddress
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setEmailAddress
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setLocale
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setTimeZone
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setDefaultPlugins
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setEntryDisplayCount
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setActive
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setCommentModerationRequired
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setEnableMultiLang
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setShowAllLangs
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setPageModels
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setIconPath
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setAbout
    //#unanalyzed(String save()): Effects-of-calling:org.apache.commons.lang.StringUtils:join
    //#unanalyzed(String save()): Effects-of-calling:java.lang.Integer:parseInt
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:setDefaultCommentDays
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction:getText
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction:addActionError
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction:addActionMessage
    //#test_vector(String save()): this.bean.applyCommentDefaults: {0}, {1}
    //#test_vector(String save()): this.bean.bloggerCategoryId: Addr_Set{null}, Inverse{null}
    //#test_vector(String save()): java.lang.Boolean:booleanValue(...)@142: {1}, {0}
    //#test_vector(String save()): java.lang.String:equals(...)@136: {1}, {0}
    //#test_vector(String save()): org.apache.roller.weblogger.pojos.Weblog:isEnableMultiLang(...)@150: {1}, {0}
    //#test_vector(String save()): org.apache.roller.weblogger.pojos.Weblog:isShowAllLangs(...)@150: {1}, {0}
    //#test_vector(String save()): org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig:hasActionErrors(...)@127: {1}, {0}
        
        if(!hasActionErrors()) try {
    //#WeblogConfig.java:127: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig:hasActionErrors()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig:hasActionErrors()
            WeblogManager wmgr = WebloggerFactory.getWeblogger().getWeblogManager();
    //#WeblogConfig.java:128: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogConfig.java:128: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
            UserManager umgr = WebloggerFactory.getWeblogger().getUserManager();
    //#WeblogConfig.java:129: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogConfig.java:129: Warning: method not available
    //#    -- call on UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
            
            Weblog weblog = getActionWeblog();
            
            getBean().copyTo(weblog);
            
            // if blogger category changed then lookup new cat and set it
            if(getBean().getBloggerCategoryId() != null && 
    //#WeblogConfig.java:136: Warning: method not available
    //#    -- call on WeblogCategory org.apache.roller.weblogger.pojos.Weblog:getBloggerCategory()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: WeblogCategory org.apache.roller.weblogger.pojos.Weblog:getBloggerCategory()
    //#WeblogConfig.java:136: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.WeblogCategory:getId()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.WeblogCategory:getId()
                    !weblog.getBloggerCategory().getId().equals(getBean().getBloggerCategoryId())) {
                weblog.setBloggerCategory(wmgr.getWeblogCategory(getBean().getBloggerCategoryId()));
    //#WeblogConfig.java:138: Warning: method not available
    //#    -- call on WeblogCategory org.apache.roller.weblogger.business.WeblogManager:getWeblogCategory(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: WeblogCategory org.apache.roller.weblogger.business.WeblogManager:getWeblogCategory(String)
    //#WeblogConfig.java:138: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.Weblog:setBloggerCategory(WeblogCategory)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.Weblog:setBloggerCategory(WeblogCategory)
            }
            
            // ROL-485: comments not allowed on inactive weblogs
            if(!weblog.getActive()) {
    //#WeblogConfig.java:142: Warning: method not available
    //#    -- call on Boolean org.apache.roller.weblogger.pojos.Weblog:getActive()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: Boolean org.apache.roller.weblogger.pojos.Weblog:getActive()
                weblog.setAllowComments(Boolean.FALSE);
    //#WeblogConfig.java:143: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.Weblog:setAllowComments(Boolean)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.Weblog:setAllowComments(Boolean)
                addMessage("websiteSettings.commentsOffForInactiveWeblog");
            }
            
            // if blog has unchecked 'show all langs' then we must make sure
            // the multi-language blogging option is enabled.
            // TODO: this should be properly reflected via the UI
            if(!weblog.isShowAllLangs() && !weblog.isEnableMultiLang()) {
    //#WeblogConfig.java:150: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.pojos.Weblog:isShowAllLangs()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.pojos.Weblog:isShowAllLangs()
    //#WeblogConfig.java:150: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.pojos.Weblog:isEnableMultiLang()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.pojos.Weblog:isEnableMultiLang()
                weblog.setEnableMultiLang(true);
    //#WeblogConfig.java:151: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.Weblog:setEnableMultiLang(bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.Weblog:setEnableMultiLang(bool)
            }
            
            // save config
            umgr.saveWebsite(weblog);
    //#WeblogConfig.java:155: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.UserManager:saveWebsite(Weblog)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.UserManager:saveWebsite(Weblog)
            
            // ROL-1050: apply comment defaults to existing entries
            if(getBean().getApplyCommentDefaults()) {
                wmgr.applyCommentDefaultsToEntries(weblog);
    //#WeblogConfig.java:159: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.WeblogManager:applyCommentDefaultsToEntries(Weblog)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.WeblogManager:applyCommentDefaultsToEntries(Weblog)
            }
            
            // apply referer filters
            WebloggerFactory.getWeblogger().getRefererManager().applyRefererFilters(weblog);
    //#WeblogConfig.java:163: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogConfig.java:163: Warning: method not available
    //#    -- call on RefererManager org.apache.roller.weblogger.business.Weblogger:getRefererManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: RefererManager org.apache.roller.weblogger.business.Weblogger:getRefererManager()
    //#WeblogConfig.java:163: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.referrers.RefererManager:applyRefererFilters(Weblog)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.referrers.RefererManager:applyRefererFilters(Weblog)
            
            // flush
            WebloggerFactory.getWeblogger().flush();
    //#WeblogConfig.java:166: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#WeblogConfig.java:166: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.Weblogger:flush()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.Weblogger:flush()
            
            addMessage("websiteSettings.savedChanges");
            
            // Clear cache entries associated with website
            CacheManager.invalidate(weblog);
    //#WeblogConfig.java:171: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.util.cache.CacheManager:invalidate(Weblog)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.util.cache.CacheManager:invalidate(Weblog)
            
        } catch (Exception ex) {
            log.error("Error updating weblog config", ex);
    //#WeblogConfig.java:174: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            // TODO: i18n
            addError("Error updating configuration");
        }
        
        return  INPUT;
    //#WeblogConfig.java:179: end of method: String org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.save()
    }
    
    
    // validation
    private void myValidate() {
        
        // make sure user didn't enter an invalid entry display count
        int maxEntries = WebloggerRuntimeConfig.getIntProperty("site.pages.maxEntries");
    //#WeblogConfig.java:187: method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.myValidate()
    //#WeblogConfig.java:187: Warning: method not available
    //#    -- call on int org.apache.roller.weblogger.config.WebloggerRuntimeConfig:getIntProperty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myValidate()
    //#    unanalyzed callee: int org.apache.roller.weblogger.config.WebloggerRuntimeConfig:getIntProperty(String)
    //#input(void myValidate()): ""._tainted
    //#input(void myValidate()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig]
    //#input(void myValidate()): __Descendant_Table[others]
    //#input(void myValidate()): __Dispatch_Table.addError(Ljava/lang/String;)V
    //#input(void myValidate()): __Dispatch_Table.addError(Ljava/lang/String;Ljava/lang/String;)V
    //#input(void myValidate()): __Dispatch_Table.addMessage(Ljava/lang/String;Ljava/util/List;)V
    //#input(void myValidate()): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean;
    //#input(void myValidate()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean]
    //#input(void myValidate()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Descendant_Table[others]
    //#input(void myValidate()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getBlacklist()Ljava/lang/String;
    //#input(void myValidate()): org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean.__Dispatch_Table.getEntryDisplayCount()I
    //#input(void myValidate()): this
    //#input(void myValidate()): this.__Tag
    //#input(void myValidate()): this.bean
    //#input(void myValidate()): this.bean.__Tag
    //#input(void myValidate()): this.bean.blacklist
    //#input(void myValidate()): this.bean.entryDisplayCount
    //#pre[2] (void myValidate()): this.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfig
    //#pre[3] (void myValidate()): this.bean != null
    //#pre[4] (void myValidate()): this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/editor/WeblogConfigBean
    //#pre[6] (void myValidate()): init'ed(this.bean.entryDisplayCount)
    //#pre[5] (void myValidate()): (soft) init'ed(this.bean.blacklist)
    //#unanalyzed(void myValidate()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction:getText
    //#unanalyzed(void myValidate()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction:addActionError
    //#unanalyzed(void myValidate()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction:addActionMessage
        if(getBean().getEntryDisplayCount() > maxEntries) {
            addError("websiteSettings.error.entryDisplayCount");
        }
        
        // check blacklist
        List regexRules = new ArrayList();
        List stringRules = new ArrayList();
        try {
            // just for testing/counting, this does not persist rules in any way
            Blacklist.populateSpamRules(getBean().getBlacklist(), stringRules, regexRules, null);
    //#WeblogConfig.java:197: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.util.Blacklist:populateSpamRules(String, List, List, String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
    //#    method: void myValidate()
    //#    unanalyzed callee: void org.apache.roller.weblogger.util.Blacklist:populateSpamRules(String, List, List, String)
            addMessage("websiteSettings.acceptedBlacklist",
                    Arrays.asList(new String[] {""+stringRules.size(), ""+regexRules.size()}));
        } catch (Throwable e) {
            addError("websiteSettings.error.processingBlacklist", e.getMessage());
        }
    }
    //#WeblogConfig.java:203: end of method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.myValidate()
    
    
    public WeblogConfigBean getBean() {
        return bean;
    //#WeblogConfig.java:207: method: WeblogConfigBean org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getBean()
    //#input(WeblogConfigBean getBean()): this
    //#input(WeblogConfigBean getBean()): this.bean
    //#output(WeblogConfigBean getBean()): return_value
    //#pre[2] (WeblogConfigBean getBean()): init'ed(this.bean)
    //#post(WeblogConfigBean getBean()): return_value == this.bean
    //#post(WeblogConfigBean getBean()): init'ed(return_value)
    //#WeblogConfig.java:207: end of method: WeblogConfigBean org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getBean()
    }

    public void setBean(WeblogConfigBean bean) {
        this.bean = bean;
    //#WeblogConfig.java:211: method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setBean(WeblogConfigBean)
    //#input(void setBean(WeblogConfigBean)): bean
    //#input(void setBean(WeblogConfigBean)): this
    //#output(void setBean(WeblogConfigBean)): this.bean
    //#post(void setBean(WeblogConfigBean)): this.bean == bean
    //#post(void setBean(WeblogConfigBean)): init'ed(this.bean)
    }
    //#WeblogConfig.java:212: end of method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setBean(WeblogConfigBean)

    public List getWeblogCategories() {
        return weblogCategories;
    //#WeblogConfig.java:215: method: List org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getWeblogCategories()
    //#input(List getWeblogCategories()): this
    //#input(List getWeblogCategories()): this.weblogCategories
    //#output(List getWeblogCategories()): return_value
    //#pre[2] (List getWeblogCategories()): init'ed(this.weblogCategories)
    //#post(List getWeblogCategories()): return_value == this.weblogCategories
    //#post(List getWeblogCategories()): init'ed(return_value)
    //#WeblogConfig.java:215: end of method: List org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getWeblogCategories()
    }

    public void setWeblogCategories(List weblogCategories) {
        this.weblogCategories = weblogCategories;
    //#WeblogConfig.java:219: method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setWeblogCategories(List)
    //#input(void setWeblogCategories(List)): this
    //#input(void setWeblogCategories(List)): weblogCategories
    //#output(void setWeblogCategories(List)): this.weblogCategories
    //#post(void setWeblogCategories(List)): this.weblogCategories == weblogCategories
    //#post(void setWeblogCategories(List)): init'ed(this.weblogCategories)
    }
    //#WeblogConfig.java:220: end of method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setWeblogCategories(List)

    public List getEditorsList() {
        return editorsList;
    //#WeblogConfig.java:223: method: List org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getEditorsList()
    //#input(List getEditorsList()): this
    //#input(List getEditorsList()): this.editorsList
    //#output(List getEditorsList()): return_value
    //#pre[2] (List getEditorsList()): init'ed(this.editorsList)
    //#post(List getEditorsList()): return_value == this.editorsList
    //#post(List getEditorsList()): init'ed(return_value)
    //#WeblogConfig.java:223: end of method: List org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getEditorsList()
    }
    
    public void setEditorsList(List editorsList) {
        this.editorsList = editorsList;
    //#WeblogConfig.java:227: method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setEditorsList(List)
    //#input(void setEditorsList(List)): editorsList
    //#input(void setEditorsList(List)): this
    //#output(void setEditorsList(List)): this.editorsList
    //#post(void setEditorsList(List)): this.editorsList == editorsList
    //#post(void setEditorsList(List)): init'ed(this.editorsList)
    }
    //#WeblogConfig.java:228: end of method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setEditorsList(List)

    public List getPluginsList() {
        return pluginsList;
    //#WeblogConfig.java:231: method: List org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getPluginsList()
    //#input(List getPluginsList()): this
    //#input(List getPluginsList()): this.pluginsList
    //#output(List getPluginsList()): return_value
    //#pre[2] (List getPluginsList()): init'ed(this.pluginsList)
    //#post(List getPluginsList()): return_value == this.pluginsList
    //#post(List getPluginsList()): init'ed(return_value)
    //#WeblogConfig.java:231: end of method: List org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.getPluginsList()
    }

    public void setPluginsList(List pluginsList) {
        this.pluginsList = pluginsList;
    //#WeblogConfig.java:235: method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setPluginsList(List)
    //#input(void setPluginsList(List)): pluginsList
    //#input(void setPluginsList(List)): this
    //#output(void setPluginsList(List)): this.pluginsList
    //#post(void setPluginsList(List)): this.pluginsList == pluginsList
    //#post(void setPluginsList(List)): init'ed(this.pluginsList)
    }
    //#WeblogConfig.java:236: end of method: void org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig.setPluginsList(List)
    
}
    //#WeblogConfig.java:: end of class: org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig
