\r
import com.indexdata.pz2utils4jsf.pazpar2.state.StateManager;\r
\r
-public class Pazpar2Command implements CommandReadOnly, Serializable {\r
+public class Pazpar2Command implements Serializable {\r
\r
private static Logger logger = Logger.getLogger(Pazpar2Command.class);\r
private static final long serialVersionUID = -6825491856480675917L; \r
public Pazpar2Command copy () {\r
Pazpar2Command newCommand = new Pazpar2Command(name,stateMgr);\r
for (String parameterName : parameters.keySet()) {\r
- newCommand.setParameterSilently(parameters.get(parameterName).copy()); \r
+ newCommand.setParameterInState(parameters.get(parameterName).copy()); \r
} \r
return newCommand;\r
}\r
}\r
\r
public void setParameter (CommandParameter parameter) {\r
+ Pazpar2Command thisCommand = this.copy();\r
logger.debug(name + " setting parameter " + parameter.getName() + "=" + parameter.getValueWithExpressions() + " to " + this.getName());\r
- parameters.put(parameter.getName(),parameter);\r
- stateMgr.checkIn(this);\r
+ thisCommand.parameters.put(parameter.getName(),parameter);\r
+ stateMgr.checkIn(thisCommand);\r
}\r
\r
public void setParameters (CommandParameter... params) {\r
+ Pazpar2Command thisCommand = this.copy();\r
for (CommandParameter param : params) {\r
logger.debug(name + " setting parameter " + param.getName() + "=" + param.getValueWithExpressions() + " to " + this.getName());\r
- parameters.put(param.getName(),param);\r
+ thisCommand.parameters.put(param.getName(),param);\r
}\r
- stateMgr.checkIn(this);\r
+ stateMgr.checkIn(thisCommand);\r
}\r
\r
- \r
- public void setParameterSilently (CommandParameter parameter) {\r
+ public void setParametersInState (CommandParameter... params) { \r
+ for (CommandParameter param : params) {\r
+ logger.debug(name + " setting parameter " + param.getName() + "=" + param.getValueWithExpressions() + " to " + this.getName());\r
+ parameters.put(param.getName(),param);\r
+ } \r
+ }\r
+ \r
+ public void setParameterInState (CommandParameter parameter) {\r
logger.debug(name + " setting parameter silently " + parameter.getName() + "=" + parameter.getValueWithExpressions() + " to " + this.getName());\r
parameters.put(parameter.getName(),parameter); \r
}\r
}\r
\r
public void removeParameter (String name) {\r
- parameters.remove(name);\r
- stateMgr.checkIn(this);\r
+ Pazpar2Command thisCommand = this.copy();\r
+ thisCommand.parameters.remove(name);\r
+ stateMgr.checkIn(thisCommand);\r
}\r
\r
public void removeParameters() {\r
- parameters = new HashMap<String,CommandParameter>();\r
- stateMgr.checkIn(this);\r
+ Pazpar2Command thisCommand = this.copy();\r
+ thisCommand.parameters = new HashMap<String,CommandParameter>();\r
+ stateMgr.checkIn(thisCommand);\r
}\r
\r
- public void removeParametersSilently() {\r
+ public void removeParametersInState() {\r
parameters = new HashMap<String,CommandParameter>(); \r
}\r
\r
return parameters.toString();\r
}\r
\r
- @Override\r
public String getParameterValue(String parameterName) {\r
return getParameter(parameterName).getValueWithExpressions();\r
\r
}\r
\r
- @Override\r
public String getUrlEncodedParameterValue(String parameterName) {\r
return getParameter(parameterName).getEncodedQueryString();\r
}\r