X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fpz2utils4jsf%2Fpazpar2%2Fcommands%2FPazpar2Command.java;h=b4f67e9ba0ec6ff9d92b8f9740c9df4fdb23795a;hb=b029cdbe3b8431eeaacdbd299a284892b1b9cd27;hp=e0680c73346fa86be4e8b624919ce7ae1a1b4662;hpb=be532cf4928f497e5e718d78959dfff4039c01b9;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/commands/Pazpar2Command.java b/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/commands/Pazpar2Command.java index e0680c7..b4f67e9 100644 --- a/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/commands/Pazpar2Command.java +++ b/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/commands/Pazpar2Command.java @@ -8,7 +8,7 @@ import org.apache.log4j.Logger; import com.indexdata.pz2utils4jsf.pazpar2.state.StateManager; -public class Pazpar2Command implements CommandReadOnly, Serializable { +public class Pazpar2Command implements Serializable { private static Logger logger = Logger.getLogger(Pazpar2Command.class); private static final long serialVersionUID = -6825491856480675917L; @@ -30,7 +30,7 @@ public class Pazpar2Command implements CommandReadOnly, Serializable { public Pazpar2Command copy () { Pazpar2Command newCommand = new Pazpar2Command(name,stateMgr); for (String parameterName : parameters.keySet()) { - newCommand.setParameterSilently(parameters.get(parameterName).copy()); + newCommand.setParameterInState(parameters.get(parameterName).copy()); } return newCommand; } @@ -40,22 +40,30 @@ public class Pazpar2Command implements CommandReadOnly, Serializable { } public void setParameter (CommandParameter parameter) { - logger.debug("Setting parameter " + parameter.getName() + "=" + parameter.getValueWithExpressions() + " to " + this.getName()); - parameters.put(parameter.getName(),parameter); - stateMgr.checkIn(this); + Pazpar2Command thisCommand = this.copy(); + logger.debug(name + " setting parameter " + parameter.getName() + "=" + parameter.getValueWithExpressions() + " to " + this.getName()); + thisCommand.parameters.put(parameter.getName(),parameter); + stateMgr.checkIn(thisCommand); } public void setParameters (CommandParameter... params) { + Pazpar2Command thisCommand = this.copy(); for (CommandParameter param : params) { - logger.debug("Setting parameter " + param.getName() + "=" + param.getValueWithExpressions() + " to " + this.getName()); - parameters.put(param.getName(),param); + logger.debug(name + " setting parameter " + param.getName() + "=" + param.getValueWithExpressions() + " to " + this.getName()); + thisCommand.parameters.put(param.getName(),param); } - stateMgr.checkIn(this); + stateMgr.checkIn(thisCommand); } - - public void setParameterSilently (CommandParameter parameter) { - logger.debug("Setting parameter silently " + parameter.getName() + "=" + parameter.getValueWithExpressions() + " to " + this.getName()); + public void setParametersInState (CommandParameter... params) { + for (CommandParameter param : params) { + logger.debug(name + " setting parameter " + param.getName() + "=" + param.getValueWithExpressions() + " to " + this.getName()); + parameters.put(param.getName(),param); + } + } + + public void setParameterInState (CommandParameter parameter) { + logger.debug(name + " setting parameter silently " + parameter.getName() + "=" + parameter.getValueWithExpressions() + " to " + this.getName()); parameters.put(parameter.getName(),parameter); } @@ -65,15 +73,22 @@ public class Pazpar2Command implements CommandReadOnly, Serializable { } public void removeParameter (String name) { - parameters.remove(name); - stateMgr.checkIn(this); + Pazpar2Command thisCommand = this.copy(); + thisCommand.parameters.remove(name); + stateMgr.checkIn(thisCommand); } public void removeParameters() { - parameters = new HashMap(); - stateMgr.checkIn(this); + Pazpar2Command thisCommand = this.copy(); + thisCommand.parameters = new HashMap(); + stateMgr.checkIn(thisCommand); } + public void removeParametersInState() { + parameters = new HashMap(); + } + + public boolean hasParameters () { return (parameters.keySet().size()>0); } @@ -114,17 +129,20 @@ public class Pazpar2Command implements CommandReadOnly, Serializable { return parameters.toString(); } - @Override public String getParameterValue(String parameterName) { return getParameter(parameterName).getValueWithExpressions(); } - @Override public String getUrlEncodedParameterValue(String parameterName) { return getParameter(parameterName).getEncodedQueryString(); } + public void setSession (String sessionId) { + setParameter(new CommandParameter("session","=",sessionId)); + } - + public String getSession() { + return getParameterValue("session"); + } }