X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fcommands%2FInitCommand.java;h=27958c40d7ed6f276fb3cf77c41ef94d1ed87de6;hb=fc1ac55e0dd989bc3a5a023c5931e8f4e2774668;hp=2ae51a5144f999a72a5d2f3e7339204aa7ca4b58;hpb=c6430ad85e3b04ea2823df38c15e8473342ff95b;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/InitCommand.java b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/InitCommand.java index 2ae51a5..27958c4 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/InitCommand.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/InitCommand.java @@ -1,31 +1,95 @@ package com.indexdata.mkjsf.pazpar2.commands; -import com.indexdata.mkjsf.pazpar2.state.StateManager; +import org.apache.log4j.Logger; -public class InitCommand extends Pazpar2Command { +import com.indexdata.mkjsf.pazpar2.commands.sp.InitCommandSp; +import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand; - private static final long serialVersionUID = -4915976465898889987L; +/** + * Represents a Pazpar2 init command, can be accessed by pzreq.init + * + * @author Niels Erik + * + */ +public class InitCommand extends Pazpar2Command implements ServiceProxyCommand { - public InitCommand(StateManager stateMgr) { - super("init",stateMgr); + private static final long serialVersionUID = -4915976465898889987L; + private static Logger logger = Logger.getLogger(InitCommand.class); + private InitCommandSp spCommand = null; + + public InitCommand() { + super("init"); } + /** + * Sets the clear parameter. See Pazpar2 documentation for details. + * + * @param clear + */ public void setClear(String clear) { setParameterInState(new CommandParameter("clear","=",clear)); } + + /** + * Returns the clear parameter value. + */ + public String getClear() { + return getParameterValue("clear"); + } + /** + * Sets the service parameter. See Pazpar2 documentation for details. + * @param serviceId + */ public void setService(String serviceId) { setParameterInState(new CommandParameter("service","=",serviceId)); } + /** + * Returns the service parameter value. + */ + public String getService() { + return getParameterValue("service"); + } + + /** + * Disabled, not supported for init + */ @Override public void setSession (String sessionId) { throw new UnsupportedOperationException("Cannot set session id on init command"); } - + + /** + * Disabled, not supported for init + */ @Override public String getSession () { throw new UnsupportedOperationException("Cannot set or get session id on init command"); + } + + public InitCommand copy () { + logger.info("Copying init command"); + InitCommand newCommand = new InitCommand(); + for (String parameterName : parameters.keySet()) { + newCommand.setParameterInState(parameters.get(parameterName).copy()); + } + newCommand.spCommand = new InitCommandSp(this); + newCommand.spCommand.setUploadedInitDoc(spCommand.getUploadedInitDoc()); + return newCommand; + } + + public ServiceProxyCommand getSp() { + if (spCommand==null) { + spCommand = new InitCommandSp(this); + } + return spCommand; } + @Override + public boolean spOnly() { + return false; + } + + }