X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fpz2utils4jsf%2Fpazpar2%2FPz2ProxyBean.java;h=3eb0bba21f5029c5ee6f63c1e5634a911946eba1;hb=684c532310691be01ea81c277b986f13e29bec5b;hp=f5f4e555d7525a2b4acaa224d6527d317821a5e5;hpb=977e4983e28683dd8a7d9fd19b0daee3ac349a3a;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2ProxyBean.java b/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2ProxyBean.java index f5f4e55..3eb0bba 100644 --- a/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2ProxyBean.java +++ b/src/main/java/com/indexdata/pz2utils4jsf/pazpar2/Pz2ProxyBean.java @@ -11,11 +11,9 @@ import javax.inject.Named; import org.apache.log4j.Logger; -import com.indexdata.pz2utils4jsf.config.Configuration; import com.indexdata.pz2utils4jsf.config.ConfigurationReader; import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient; import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface; -import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxySession; import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser; import com.indexdata.pz2utils4jsf.utils.Utils; @@ -24,96 +22,102 @@ public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface { private static final long serialVersionUID = 4221824985678758225L; private static Logger logger = Logger.getLogger(Pz2ProxyBean.class); + private String initDocFileName = ""; + private String initDocResponse = ""; + private String serviceProxyUrl = ""; @Inject ConfigurationReader configurator; - @Inject ServiceProxyUser user; - - @Inject @ForServiceProxy ServiceProxySession pz2; + @Inject ServiceProxyUser user; public Pz2ProxyBean() { } @PostConstruct - public void instantiatePz2SessionObject() { - logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session object next."); - searchClient = new ServiceProxyClient(); - logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" - + Utils.objectId(configurator) + "] on session [" - + Utils.objectId(pz2) + "]" ); - pz2.configureClient(searchClient,configurator); + public void postConstruct() { + if (searchClient == null) { + logger.debug(Utils.objectId(this) + " will instantiate a ServiceProxyClient next."); + searchClient = new ServiceProxyClient(); + logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" + + Utils.objectId(configurator) + "]" ); + configureClient(searchClient,configurator); + stateMgr.addStateListener(this); + } else { + logger.debug("Pz2ProxyBean:postConstruct: searchClient already instantiated " + + "during construction of parent object Pz2Bean."); + } } @Override public String login(String navigateTo) { logger.info("doing login"); - session().setUser(user); - session().resetDataObjects(); - session().removeCommand("record"); - session().setQuery(null); - return session().login(navigateTo); + ((ServiceProxyClient)searchClient).authenticate(user); + pzreq.getRecordInState().removeParametersSilently(); + pzreq.getSearchInState().removeParametersSilently(); + pzresp.reset(); + return navigateTo; } @Override - public void setInitFileName(String fileName) { - logger.info("Setting init file name: " + fileName); - session().setInitFileName(fileName); - } - - @Override - public String getInitFileName() { - return session().getInitFileName(); - } - - public void setAceFilter (String filterExpression) { - session().setAceFilter(filterExpression); + public void setServiceProxyUrl(String url) { + logger.info("Setting Service Proxy url: " + url); + serviceProxyUrl = url; + pzreq.getRecordInState().removeParametersSilently(); + pzreq.getSearchInState().removeParametersSilently(); + pzresp.reset(); } - public String getAceFilter () { - return session().getAceFilter(); + public String getServiceProxyUrl() { + return serviceProxyUrl; } - - @Override - public String postInit() throws UnsupportedEncodingException, IOException { - logger.info("Posting init: " + System.currentTimeMillis()); - session().postInit(); - return ""; + + public String getInitDocPath () { + return searchClient.getConfiguration().get("INIT_DOC_PATH"); } - public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException { - logger.info("Posting init: " + System.currentTimeMillis()); - session().postInit(initDoc); - return ""; + @Override + public void setInitFileName(String fileName) { + this.initDocFileName = fileName; } @Override - public void setServiceProxyUrl(String url) { - logger.info("Setting Service Proxy url: " + url); - session().setServiceProxyUrl(url); - session().setQuery(null); - session().resetDataObjects(); + public String getInitFileName() { + return initDocFileName; } @Override - public String getServiceProxyUrl() { - return session().getServiceProxyUrl(); + public String postInit() throws UnsupportedEncodingException, IOException { + String initDocPath = ((ServiceProxyClient)searchClient).getInitDocPaths()[0]; + logger.info("Paths: " + ((ServiceProxyClient)searchClient).getInitDocPaths()); + logger.info("Path: " + initDocPath); + pzresp.reset(); + byte[] response = ((ServiceProxyClient)searchClient).postInitDoc(initDocPath + getInitFileName()); + initDocResponse = new String(response,"UTF-8"); + return initDocResponse; } - public ServiceProxySession session() { - return (ServiceProxySession)pz2; + @Override + public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException { + pzresp.reset(); + byte[] response = ((ServiceProxyClient)searchClient).postInitDoc(initDoc); + initDocResponse = new String(response,"UTF-8"); + return initDocResponse; } + @Override public String getInitResponse() { - return session().getInitResponse(); + return initDocResponse; } - public Configuration getClientConfiguration() { - return session().client().getConfiguration(); + public void setAceFilter(String filterExpression) { + //setCommandParameter("record",new CommandParameter("acefilter","=",filterExpression)); } - public String getInitDocPath () { - return session().client().getConfiguration().get("INIT_DOC_PATH"); + public String getAceFilter () { + return null; + // return getCommandParameterValue("record","acefilter",""); } + }