+++ /dev/null
-package com.indexdata.pz2utils4jsf.pazpar2;\r
-\r
-import java.io.Serializable;\r
-import java.util.ArrayList;\r
-import java.util.Arrays;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.apache.log4j.Logger;\r
-\r
-import com.indexdata.pz2utils4jsf.pazpar2.CommandParameter;\r
-import com.indexdata.pz2utils4jsf.pazpar2.Pazpar2Command;\r
-\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 static List<String> allCommands = new ArrayList<String>(Arrays.asList("init","ping","settings","search","stat","show","record","termlist","bytarget"));\r
-\r
- private String name = "";\r
- private Map<String,CommandParameter> parameters = new HashMap<String,CommandParameter>();\r
- \r
- public Pazpar2Command (String name) { \r
- this.name = name;\r
- }\r
- \r
- public Pazpar2Command copy () {\r
- Pazpar2Command newCommand = new Pazpar2Command(name);\r
- for (String parameterName : parameters.keySet()) {\r
- newCommand.setParameter(parameters.get(parameterName).copy()); \r
- }\r
- return newCommand;\r
- }\r
- \r
- public String getName() {\r
- return name;\r
- }\r
- \r
- public void setParameter (CommandParameter parameter) {\r
- logger.debug("Setting parameter " + parameter.getName() + "=" + parameter.getValueWithExpressions() + " to " + this.getName());\r
- parameters.put(parameter.getName(),parameter);\r
- }\r
- \r
- public CommandParameter getParameter (String name) {\r
- return parameters.get(name);\r
- }\r
- \r
- public void removeParameter (String name) {\r
- parameters.remove(name); \r
- }\r
- \r
- public void removeParameters() {\r
- parameters = new HashMap<String,CommandParameter>();\r
- }\r
- \r
- public boolean hasParameters () {\r
- return (parameters.keySet().size()>0);\r
- }\r
- \r
- public String getEncodedQueryString () {\r
- StringBuilder queryString = new StringBuilder("command="+name);\r
- for (CommandParameter parameter : parameters.values()) {\r
- queryString.append("&"+parameter.getEncodedQueryString()); \r
- }\r
- return queryString.toString();\r
- } \r
- \r
- public String getValueWithExpressions() { \r
- StringBuilder value = new StringBuilder("");\r
- for (CommandParameter parameter : parameters.values()) {\r
- value.append("&" + parameter.getName() + parameter.operator + parameter.getValueWithExpressions()); \r
- }\r
- return value.toString();\r
- }\r
- \r
- @Override\r
- public boolean equals (Object otherCommand) {\r
- return\r
- ((otherCommand instanceof Pazpar2Command)\r
- && this.getValueWithExpressions().equals(((Pazpar2Command) otherCommand).getValueWithExpressions()));\r
- }\r
- \r
- @Override\r
- public int hashCode () {\r
- return getValueWithExpressions().hashCode();\r
- }\r
- \r
- public String toString () {\r
- return parameters.toString();\r
- }\r
- \r
-}\r