//# 3 errors, 194 messages
//#
/*
    //#PlanetConfig.java:1:1: class: org.apache.roller.weblogger.planet.ui.PlanetConfig
 * 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.planet.ui;

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.RollerException;
import org.apache.roller.planet.business.PlanetFactory;
import org.apache.roller.planet.business.PropertiesManager;
import org.apache.roller.planet.config.PlanetRuntimeConfig;
import org.apache.roller.planet.config.runtime.ConfigDef;
import org.apache.roller.planet.config.runtime.RuntimeConfigDefs;
import org.apache.roller.planet.pojos.RuntimeConfigProperty;
import org.apache.struts2.interceptor.ParameterAware;


/**
 * Planet Config Action.
 *
 * Handles editing of planet global runtime properties.
 */
public class PlanetConfig extends PlanetUIAction implements ParameterAware {
    
    private static Log log = LogFactory.getLog(PlanetConfig.class);
    //#PlanetConfig.java:44: method: org.apache.roller.weblogger.planet.ui.PlanetConfig.org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init
    //#PlanetConfig.java:44: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetConfig]
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.execute()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getGlobalConfigDef()Lorg/apache/roller/planet/config/runtime/ConfigDef;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getParameters()Ljava/util/Map;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getPlanet()Lorg/apache/roller/planet/pojos/Planet;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getProperties()Ljava/util/Map;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.isWeblogRequired()Z
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.myPrepare()V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.save()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.setGlobalConfigDef(Lorg/apache/roller/planet/config/runtime/ConfigDef;)V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.setParameters(Ljava/util/Map;)V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.setProperties(Ljava/util/Map;)V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): log
    //#output(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): org/apache/roller/weblogger/planet/ui/PlanetUIAction.__Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetConfig]
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetConfig] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): org/apache/roller/weblogger/planet/ui/PlanetUIAction.__Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetConfig] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.execute()Ljava/lang/String; == &execute
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getGlobalConfigDef()Lorg/apache/roller/planet/config/runtime/ConfigDef; == &getGlobalConfigDef
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getParameters()Ljava/util/Map; == &getParameters
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getPlanet()Lorg/apache/roller/planet/pojos/Planet; == &org/apache/roller/weblogger/planet/ui/PlanetUIAction.getPlanet
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.getProperties()Ljava/util/Map; == &getProperties
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.isWeblogRequired()Z == &isWeblogRequired
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.myPrepare()V == &myPrepare
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String; == &requiredUserRole
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.save()Ljava/lang/String; == &save
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.setGlobalConfigDef(Lorg/apache/roller/planet/config/runtime/ConfigDef;)V == &setGlobalConfigDef
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.setParameters(Ljava/util/Map;)V == &setParameters
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): __Dispatch_Table.setProperties(Ljava/util/Map;)V == &setProperties
    //#post(org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init): init'ed(log)
    //#PlanetConfig.java:44: end of method: org.apache.roller.weblogger.planet.ui.PlanetConfig.org.apache.roller.weblogger.planet.ui.PlanetConfig__static_init
    
    // original request parameters
    private Map parameters = Collections.EMPTY_MAP;
    
    // runtime properties data
    private Map properties = Collections.EMPTY_MAP;
    
    // the runtime config def used to populate the display
    private ConfigDef globalConfigDef = null;
    
    
    public PlanetConfig() {
    //#PlanetConfig.java:56: method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.org.apache.roller.weblogger.planet.ui.PlanetConfig()
    //#input(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): java.util.Collections.EMPTY_MAP
    //#input(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.actionName
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.desiredMenu
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.globalConfigDef
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.pageTitle
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.parameters
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.planet
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.properties
    //#presumption(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): init'ed(java.util.Collections.EMPTY_MAP)
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.actionName == &"planetConfig"
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.desiredMenu == &"admin"
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.globalConfigDef == null
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.planet == null
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.pageTitle == &"planetConfig.title"
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.parameters == java.util.Collections.EMPTY_MAP
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): (soft) init'ed(this.parameters)
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): this.properties == this.parameters
    //#unanalyzed(void org.apache.roller.weblogger.planet.ui.PlanetConfig()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction
        this.actionName = "planetConfig";
        this.desiredMenu = "admin";
        this.pageTitle = "planetConfig.title";
    }
    //#PlanetConfig.java:60: end of method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.org.apache.roller.weblogger.planet.ui.PlanetConfig()
    
    
    @Override
    public String requiredUserRole() {
        return "admin";
    //#PlanetConfig.java:65: method: String org.apache.roller.weblogger.planet.ui.PlanetConfig.requiredUserRole()
    //#output(String requiredUserRole()): return_value
    //#post(String requiredUserRole()): return_value == &"admin"
    //#PlanetConfig.java:65: end of method: String org.apache.roller.weblogger.planet.ui.PlanetConfig.requiredUserRole()
    }
    
    @Override
    public boolean isWeblogRequired() {
        return false;
    //#PlanetConfig.java:70: method: bool org.apache.roller.weblogger.planet.ui.PlanetConfig.isWeblogRequired()
    //#output(bool isWeblogRequired()): return_value
    //#post(bool isWeblogRequired()): return_value == 0
    //#PlanetConfig.java:70: end of method: bool org.apache.roller.weblogger.planet.ui.PlanetConfig.isWeblogRequired()
    }
    
    
    @Override
    public void myPrepare() {
        try {
            // just grab our properties map
            PropertiesManager pMgr = PlanetFactory.getPlanet().getPropertiesManager();
    //#PlanetConfig.java:78: method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.myPrepare()
    //#PlanetConfig.java:78: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetConfig.java:78: Warning: method not available
    //#    -- call on PropertiesManager org.apache.roller.planet.business.Planet:getPropertiesManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: PropertiesManager org.apache.roller.planet.business.Planet:getPropertiesManager()
    //#input(void myPrepare()): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetConfig]
    //#input(void myPrepare()): __Descendant_Table[others]
    //#input(void myPrepare()): __Dispatch_Table.setGlobalConfigDef(Lorg/apache/roller/planet/config/runtime/ConfigDef;)V
    //#input(void myPrepare()): __Dispatch_Table.setProperties(Ljava/util/Map;)V
    //#input(void myPrepare()): log
    //#input(void myPrepare()): this
    //#input(void myPrepare()): this.__Tag
    //#output(void myPrepare()): this.globalConfigDef
    //#output(void myPrepare()): this.properties
    //#pre[1] (void myPrepare()): (soft) log != null
    //#pre[5] (void myPrepare()): (soft) this.__Tag == org/apache/roller/weblogger/planet/ui/PlanetConfig
    //#presumption(void myPrepare()): java.util.Iterator:next(...)@87 != null
    //#presumption(void myPrepare()): org.apache.roller.planet.business.Planet:getPropertiesManager(...)@78 != null
    //#presumption(void myPrepare()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@78 != null
    //#presumption(void myPrepare()): org.apache.roller.planet.config.PlanetRuntimeConfig:getRuntimeConfigDefs(...)@85 != null
    //#presumption(void myPrepare()): org.apache.roller.planet.config.runtime.RuntimeConfigDefs:getConfigDefs(...)@86 != null
    //#post(void myPrepare()): possibly_updated(this.globalConfigDef)
    //#post(void myPrepare()): possibly_updated(this.properties)
    //#test_vector(void myPrepare()): java.lang.String:equals(...)@88: {0}, {1}
    //#test_vector(void myPrepare()): java.util.Iterator:hasNext(...)@87: {0}, {1}
            setProperties(pMgr.getProperties());
    //#PlanetConfig.java:79: Warning: method not available
    //#    -- call on Map org.apache.roller.planet.business.PropertiesManager:getProperties()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: Map org.apache.roller.planet.business.PropertiesManager:getProperties()
        } catch (RollerException ex) {
            log.error("Error loading planet properties");
    //#PlanetConfig.java:81: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object)
        }
        
        // set config def used to draw the view
        RuntimeConfigDefs defs = PlanetRuntimeConfig.getRuntimeConfigDefs();
    //#PlanetConfig.java:85: Warning: method not available
    //#    -- call on RuntimeConfigDefs org.apache.roller.planet.config.PlanetRuntimeConfig:getRuntimeConfigDefs()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: RuntimeConfigDefs org.apache.roller.planet.config.PlanetRuntimeConfig:getRuntimeConfigDefs()
        List<ConfigDef> configDefs = defs.getConfigDefs();
    //#PlanetConfig.java:86: Warning: method not available
    //#    -- call on List org.apache.roller.planet.config.runtime.RuntimeConfigDefs:getConfigDefs()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: List org.apache.roller.planet.config.runtime.RuntimeConfigDefs:getConfigDefs()
        for(ConfigDef configDef : configDefs) {
            if("global-properties".equals(configDef.getName())) {
    //#PlanetConfig.java:88: Warning: method not available
    //#    -- call on String org.apache.roller.planet.config.runtime.ConfigDef:getName()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: void myPrepare()
    //#    unanalyzed callee: String org.apache.roller.planet.config.runtime.ConfigDef:getName()
                setGlobalConfigDef(configDef);
            }
        }
    }
    //#PlanetConfig.java:92: end of method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.myPrepare()

    
    public String execute() {
        return INPUT;
    //#PlanetConfig.java:96: method: String org.apache.roller.weblogger.planet.ui.PlanetConfig.execute()
    //#output(String execute()): return_value
    //#post(String execute()): return_value == &"input"
    //#PlanetConfig.java:96: end of method: String org.apache.roller.weblogger.planet.ui.PlanetConfig.execute()
    }
    
    
    public String save() {
        
        try {
            // only set values for properties that are already defined
            String propName = null;
    //#PlanetConfig.java:104: method: String org.apache.roller.weblogger.planet.ui.PlanetConfig.save()
    //#PlanetConfig.java:104: Warning: unused assignment
    //#    unused assignment into propName
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    Attribs:  Uncertain
    //#input(String save()): "Checking property ["._tainted
    //#input(String save()): "Setting new value for ["._tainted
    //#input(String save()): "]"._tainted
    //#input(String save()): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetConfig]
    //#input(String save()): __Descendant_Table[others]
    //#input(String save()): __Dispatch_Table.getParameters()Ljava/util/Map;
    //#input(String save()): __Dispatch_Table.getProperties()Ljava/util/Map;
    //#input(String save()): log
    //#input(String save()): this
    //#input(String save()): this.__Tag
    //#input(String save()): this.parameters
    //#input(String save()): this.properties
    //#output(String save()): return_value
    //#pre[1] (String save()): (soft) log != null
    //#pre[3] (String save()): (soft) this.__Tag == org/apache/roller/weblogger/planet/ui/PlanetConfig
    //#pre[4] (String save()): (soft) this.parameters != null
    //#pre[5] (String save()): (soft) this.properties != null
    //#presumption(String save()): java.util.Map:get(...)@113 != null
    //#presumption(String save()): java.util.Map:keySet(...)@107 != null
    //#presumption(String save()): org.apache.roller.planet.business.Planet:getPropertiesManager(...)@142 != null
    //#presumption(String save()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@142 != null
    //#presumption(String save()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@144 != null
    //#presumption(String save()): org.apache.roller.planet.pojos.RuntimeConfigProperty:getValue(...)@124 != null
    //#presumption(String save()): org.apache.roller.planet.pojos.RuntimeConfigProperty:getValue(...)@124 != null
    //#post(String save()): return_value == &"input"
    //#test_vector(String save()): java.lang.String:equals(...)@124: {1}, {0}
    //#test_vector(String save()): java.lang.String:equals(...)@124: {0}, {1}
    //#test_vector(String save()): java.lang.String:equals(...)@127: {1}, {0}
    //#test_vector(String save()): java.util.Iterator:hasNext(...)@108: {0}, {1}
    //#test_vector(String save()): java.util.Map:get(...)@114: Addr_Set{null}, Inverse{null}
    //#test_vector(String save()): org.apache.roller.planet.pojos.RuntimeConfigProperty:getValue(...)@124: Addr_Set{null}, Inverse{null}
    //#test_vector(String save()): propValues.length@114: {0}, {1..+Inf}
            RuntimeConfigProperty updProp = null;
    //#PlanetConfig.java:105: Warning: unused assignment
    //#    unused assignment into updProp
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    Attribs:  Uncertain
            String incomingProp = null;
            Iterator propsIT = getProperties().keySet().iterator();
            while(propsIT.hasNext()) {
                propName = (String) propsIT.next();
                
                log.debug("Checking property ["+propName+"]");
    //#PlanetConfig.java:111: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
                
                updProp = (RuntimeConfigProperty) getProperties().get(propName);
                String[] propValues = (String[]) getParameters().get(updProp.getName());
    //#PlanetConfig.java:114: Warning: method not available
    //#    -- call on String org.apache.roller.planet.pojos.RuntimeConfigProperty:getName()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.planet.pojos.RuntimeConfigProperty:getName()
                if(propValues != null && propValues.length > 0) {
                    // we don't deal with multi-valued props
                    incomingProp = propValues[0];
    //#PlanetConfig.java:117: ?use of default init
    //#    init'ed(propValues[0])
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    basic block: bb_6
    //#    assertion: init'ed(propValues[0])
    //#    VN: undefined
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
                }
                
                // some special treatment for booleans
                // this is a bit hacky since we are assuming that any prop
                // with a value of "true" or "false" is meant to be a boolean
                // it may not always be the case, but we should be okay for now
                if( updProp.getValue() != null // null check needed w/Oracle
    //#PlanetConfig.java:124: Warning: method not available
    //#    -- call on String org.apache.roller.planet.pojos.RuntimeConfigProperty:getValue()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.planet.pojos.RuntimeConfigProperty:getValue()
                        && (updProp.getValue().equals("true") || updProp.getValue().equals("false"))) {
                    
                    if(incomingProp == null || !incomingProp.equals("on"))
    //#PlanetConfig.java:127: ?use of default init
    //#    init'ed(incomingProp)
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    basic block: bb_10
    //#    assertion: init'ed(incomingProp)
    //#    VN: incomingProp
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
                        incomingProp = "false";
                    else
                        incomingProp = "true";
                }
                
                // only work on props that were submitted with the request
                if(incomingProp != null) {
    //#PlanetConfig.java:134: ?use of default init
    //#    init'ed(incomingProp)
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    basic block: bb_14
    //#    assertion: init'ed(incomingProp)
    //#    VN: incomingProp
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
                    log.debug("Setting new value for ["+propName+"]");
    //#PlanetConfig.java:135: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
                    
                    updProp.setValue(incomingProp.trim());
    //#PlanetConfig.java:137: Warning: method not available
    //#    -- call on void org.apache.roller.planet.pojos.RuntimeConfigProperty:setValue(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.planet.pojos.RuntimeConfigProperty:setValue(String)
                }
            }
            
            // save it
            PropertiesManager pMgr = PlanetFactory.getPlanet().getPropertiesManager();
    //#PlanetConfig.java:142: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetConfig.java:142: Warning: method not available
    //#    -- call on PropertiesManager org.apache.roller.planet.business.Planet:getPropertiesManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: PropertiesManager org.apache.roller.planet.business.Planet:getPropertiesManager()
            pMgr.saveProperties(this.properties);
    //#PlanetConfig.java:143: Warning: method not available
    //#    -- call on void org.apache.roller.planet.business.PropertiesManager:saveProperties(Map)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.planet.business.PropertiesManager:saveProperties(Map)
            PlanetFactory.getPlanet().flush();
    //#PlanetConfig.java:144: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetConfig.java:144: Warning: method not available
    //#    -- call on void org.apache.roller.planet.business.Planet:flush()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.planet.business.Planet:flush()
            
            addMessage("ConfigForm.message.saveSucceeded");
    //#PlanetConfig.java:146: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetConfig:addMessage(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetConfig:addMessage(String)
            
        } catch (RollerException e) {
            log.error(e);
    //#PlanetConfig.java:149: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object)
            addError("ConfigForm.error.saveFailed");
    //#PlanetConfig.java:150: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetConfig:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetConfig
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetConfig:addError(String)
        }
        
        return INPUT;
    //#PlanetConfig.java:153: end of method: String org.apache.roller.weblogger.planet.ui.PlanetConfig.save()
    }

    
    public Map getParameters() {
        return parameters;
    //#PlanetConfig.java:158: method: Map org.apache.roller.weblogger.planet.ui.PlanetConfig.getParameters()
    //#input(Map getParameters()): this
    //#input(Map getParameters()): this.parameters
    //#output(Map getParameters()): return_value
    //#pre[2] (Map getParameters()): init'ed(this.parameters)
    //#post(Map getParameters()): return_value == this.parameters
    //#post(Map getParameters()): init'ed(return_value)
    //#PlanetConfig.java:158: end of method: Map org.apache.roller.weblogger.planet.ui.PlanetConfig.getParameters()
    }

    public void setParameters(Map parameters) {
        this.parameters = parameters;
    //#PlanetConfig.java:162: method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.setParameters(Map)
    //#input(void setParameters(Map)): parameters
    //#input(void setParameters(Map)): this
    //#output(void setParameters(Map)): this.parameters
    //#post(void setParameters(Map)): this.parameters == parameters
    //#post(void setParameters(Map)): init'ed(this.parameters)
    }
    //#PlanetConfig.java:163: end of method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.setParameters(Map)

    public Map getProperties() {
        return properties;
    //#PlanetConfig.java:166: method: Map org.apache.roller.weblogger.planet.ui.PlanetConfig.getProperties()
    //#input(Map getProperties()): this
    //#input(Map getProperties()): this.properties
    //#output(Map getProperties()): return_value
    //#pre[2] (Map getProperties()): init'ed(this.properties)
    //#post(Map getProperties()): return_value == this.properties
    //#post(Map getProperties()): init'ed(return_value)
    //#PlanetConfig.java:166: end of method: Map org.apache.roller.weblogger.planet.ui.PlanetConfig.getProperties()
    }

    public void setProperties(Map properties) {
        this.properties = properties;
    //#PlanetConfig.java:170: method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.setProperties(Map)
    //#input(void setProperties(Map)): properties
    //#input(void setProperties(Map)): this
    //#output(void setProperties(Map)): this.properties
    //#post(void setProperties(Map)): this.properties == properties
    //#post(void setProperties(Map)): init'ed(this.properties)
    }
    //#PlanetConfig.java:171: end of method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.setProperties(Map)
    
    public ConfigDef getGlobalConfigDef() {
        return globalConfigDef;
    //#PlanetConfig.java:174: method: ConfigDef org.apache.roller.weblogger.planet.ui.PlanetConfig.getGlobalConfigDef()
    //#input(ConfigDef getGlobalConfigDef()): this
    //#input(ConfigDef getGlobalConfigDef()): this.globalConfigDef
    //#output(ConfigDef getGlobalConfigDef()): return_value
    //#pre[2] (ConfigDef getGlobalConfigDef()): init'ed(this.globalConfigDef)
    //#post(ConfigDef getGlobalConfigDef()): return_value == this.globalConfigDef
    //#post(ConfigDef getGlobalConfigDef()): init'ed(return_value)
    //#PlanetConfig.java:174: end of method: ConfigDef org.apache.roller.weblogger.planet.ui.PlanetConfig.getGlobalConfigDef()
    }

    public void setGlobalConfigDef(ConfigDef globalConfigDef) {
        this.globalConfigDef = globalConfigDef;
    //#PlanetConfig.java:178: method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.setGlobalConfigDef(ConfigDef)
    //#input(void setGlobalConfigDef(ConfigDef)): globalConfigDef
    //#input(void setGlobalConfigDef(ConfigDef)): this
    //#output(void setGlobalConfigDef(ConfigDef)): this.globalConfigDef
    //#post(void setGlobalConfigDef(ConfigDef)): this.globalConfigDef == globalConfigDef
    //#post(void setGlobalConfigDef(ConfigDef)): init'ed(this.globalConfigDef)
    }
    //#PlanetConfig.java:179: end of method: void org.apache.roller.weblogger.planet.ui.PlanetConfig.setGlobalConfigDef(ConfigDef)
    
}
    //#PlanetConfig.java:: end of class: org.apache.roller.weblogger.planet.ui.PlanetConfig
