1 package com.indexdata.pz2utils4jsf.pazpar2.sp;
\r
3 import java.io.IOException;
\r
4 import java.io.UnsupportedEncodingException;
\r
6 import javax.enterprise.context.SessionScoped;
\r
8 import org.apache.log4j.Logger;
\r
10 import com.indexdata.pz2utils4jsf.pazpar2.Pz2Session;
\r
11 import com.indexdata.pz2utils4jsf.pazpar2.commands.CommandParameter;
\r
12 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;
\r
13 import com.indexdata.pz2utils4jsf.utils.Utils;
\r
15 @ForServiceProxy @SessionScoped
\r
16 public class ServiceProxySession extends Pz2Session implements ServiceProxyInterface {
\r
18 private ServiceProxyUser user;
\r
19 private static final long serialVersionUID = -5770410029361522854L;
\r
20 private static Logger logger = Logger.getLogger(ServiceProxySession.class);
\r
21 private String initDocFileName = "";
\r
22 private String initDocResponse = "";
\r
24 public ServiceProxySession() {
\r
25 logger.info("Instantiating SP pz2 session object [" + Utils.objectId(this) + "]");
\r
28 public void setUser(ServiceProxyUser user) {
\r
33 public String login(String navigateTo) {
\r
34 if (client().authenticate(user)) {
\r
42 public void setInitFileName(String fileName) {
\r
43 this.initDocFileName = fileName;
\r
48 public String getInitFileName() {
\r
49 return initDocFileName;
\r
53 public String postInit() throws UnsupportedEncodingException, IOException {
\r
54 String initDocPath = client().getInitDocPaths()[0];
\r
55 logger.info("Paths: " + client().getInitDocPaths());
\r
56 logger.info("Path: " + initDocPath);
\r
57 this.resetDataObjects();
\r
58 byte[] response = client().postInitDoc(initDocPath + getInitFileName());
\r
59 initDocResponse = new String(response,"UTF-8");
\r
60 return initDocResponse;
\r
64 public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException {
\r
65 this.resetDataObjects();
\r
66 byte[] response = client().postInitDoc(initDoc);
\r
67 initDocResponse = new String(response,"UTF-8");
\r
68 return initDocResponse;
\r
73 public void setServiceProxyUrl(String url) {
\r
74 client().setServiceProxyUrl(url);
\r
79 public String getServiceProxyUrl() {
\r
80 return client().getServiceProxyUrl();
\r
83 public ServiceProxyClient client () {
\r
84 return (ServiceProxyClient)searchClient;
\r
88 public String getInitResponse() {
\r
89 return initDocResponse;
\r
92 public void setAceFilter(String filterExpression) {
\r
93 setCommandParameter("record",new CommandParameter("acefilter","=",filterExpression));
\r
96 public String getAceFilter () {
\r
97 return getCommandParameterValue("record","acefilter","");
\r