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 init command - specifically
\r
20 * support for POSTing to the Service Proxy an init doc containing Pazpar2
\r
21 * definitions and settings.
\r
23 * @author Niels Erik
\r
26 public class InitCommandSp implements Serializable, ServiceProxyCommand {
\r
28 private static final long serialVersionUID = -6609045941782375651L;
\r
29 private static Logger logger = Logger.getLogger(InitCommandSp.class);
\r
30 private InitCommand command = null;
\r
32 private InitDocUpload initDocUpload;
\r
34 public InitCommandSp(InitCommand initCommand) {
\r
35 this.command=initCommand;
\r
36 initDocUpload = new InitDocUpload();
\r
39 public void setIncludeDebug (String includeDebug) {
\r
40 command.setParameterInState(new CommandParameter("includeDebug","=",includeDebug));
\r
43 public String getIncludeDebug () {
\r
44 return command.getParameterValue("includeDebug");
\r
47 public void setUploadedInitDoc (UploadedFile uploadedFile) {
\r
48 initDocUpload.setUploadedFile(uploadedFile);
\r
51 public UploadedFile getUploadedInitDoc () {
\r
52 logger.info("initDocUpload is: " + initDocUpload );
\r
53 logger.info("initDocUpload.getUploadedFile() is: " +initDocUpload.getUploadedFile());
\r
54 return initDocUpload.getUploadedFile();
\r
57 public void downloadInitDoc () throws IOException {
\r
58 initDocUpload.downloadDoc();
\r
61 public SpResponseDataObject run() {
\r
62 Pz2Service.get().resetSearchAndRecordCommands();
\r
63 Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);
\r
65 byte[] bytes = getUploadedInitDoc().getBytes();
\r
66 HttpResponseWrapper response = Pz2Service.get().getSpClient().postInitDoc(bytes,getIncludeDebug().equals("yes"));
\r
67 ResponseDataObject responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse)response);
\r
68 Pz2Service.get().getPzresp().put("init", responseObject);
\r
69 } catch (IOException e) {
\r
70 // TODO Auto-generated catch block
\r
71 e.printStackTrace();
\r
77 public boolean spOnly() {
\r