1 package com.indexdata.mkjsf.pazpar2.commands.sp;
\r
3 import java.io.IOException;
\r
4 import java.io.Serializable;
\r
6 import org.apache.log4j.Logger;
\r
7 import org.apache.myfaces.custom.fileupload.UploadedFile;
\r
9 import com.indexdata.mkjsf.pazpar2.ClientCommandResponse;
\r
10 import com.indexdata.mkjsf.pazpar2.HttpResponseWrapper;
\r
11 import com.indexdata.mkjsf.pazpar2.Pz2Service;
\r
12 import com.indexdata.mkjsf.pazpar2.commands.CommandParameter;
\r
13 import com.indexdata.mkjsf.pazpar2.commands.InitCommand;
\r
14 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;
\r
15 import com.indexdata.mkjsf.pazpar2.data.ResponseParser;
\r
16 import com.indexdata.mkjsf.pazpar2.data.sp.SpResponseDataObject;
\r
19 * Service Proxy extensions to the Pazpar2 <code>init</code> command - specifically
\r
20 * support for POSTing to the Service Proxy an init doc containing Pazpar2
\r
21 * definitions and settings.
\r
23 * This feature, however, is not supported in the publicly released Service Proxy at this point.
\r
25 * @author Niels Erik
\r
28 public class InitCommandSp implements Serializable, ServiceProxyCommand {
\r
30 private static final long serialVersionUID = -6609045941782375651L;
\r
31 private static Logger logger = Logger.getLogger(InitCommandSp.class);
\r
32 private InitCommand command = null;
\r
34 private InitDocUpload initDocUpload;
\r
36 public InitCommandSp(InitCommand initCommand) {
\r
37 this.command=initCommand;
\r
38 initDocUpload = new InitDocUpload();
\r
42 * Sets Service Proxy command parameter <code>includeDebug</code>.
\r
44 public void setIncludeDebug (String includeDebug) {
\r
45 command.setParameterInState(new CommandParameter("includeDebug","=",includeDebug));
\r
48 public String getIncludeDebug () {
\r
49 return command.getParameterValue("includeDebug");
\r
52 public void setUploadedInitDoc (UploadedFile uploadedFile) {
\r
53 initDocUpload.setUploadedFile(uploadedFile);
\r
56 public UploadedFile getUploadedInitDoc () {
\r
57 logger.info("initDocUpload is: " + initDocUpload );
\r
58 logger.info("initDocUpload.getUploadedFile() is: " +initDocUpload.getUploadedFile());
\r
59 return initDocUpload.getUploadedFile();
\r
62 public void downloadInitDoc () throws IOException {
\r
63 initDocUpload.downloadDoc();
\r
66 public SpResponseDataObject run() {
\r
67 Pz2Service.get().resetSearchAndRecordCommands();
\r
68 Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);
\r
70 byte[] bytes = getUploadedInitDoc().getBytes();
\r
71 HttpResponseWrapper response = Pz2Service.get().getSpClient().postInitDoc(bytes,getIncludeDebug().equals("yes"));
\r
72 ResponseDataObject responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse)response);
\r
73 Pz2Service.get().getPzresp().put("init", responseObject);
\r
74 } catch (IOException e) {
\r
75 // TODO Auto-generated catch block
\r
76 e.printStackTrace();
\r
82 public boolean spOnly() {
\r