\r
import org.apache.log4j.Logger;\r
\r
-import com.indexdata.pz2utils4jsf.config.Configuration;\r
import com.indexdata.pz2utils4jsf.config.ConfigurationReader;\r
import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient;\r
import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface;\r
-import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxySession;\r
import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
import com.indexdata.pz2utils4jsf.utils.Utils;\r
\r
\r
private static final long serialVersionUID = 4221824985678758225L;\r
private static Logger logger = Logger.getLogger(Pz2ProxyBean.class); \r
+ private String initDocFileName = "";\r
+ private String initDocResponse = "";\r
+ private String serviceProxyUrl = ""; \r
\r
@Inject ConfigurationReader configurator;\r
- @Inject ServiceProxyUser user;\r
+ @Inject ServiceProxyUser user; \r
\r
public Pz2ProxyBean() {\r
}\r
\r
@PostConstruct\r
- public void instantiatePz2SessionObject() {\r
- logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session object next.");\r
- pz2 = new ServiceProxySession();\r
- searchClient = new ServiceProxyClient();\r
- logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
- + Utils.objectId(configurator) + "] on session [" \r
- + Utils.objectId(pz2) + "]" ); \r
- pz2.configureClient(searchClient,configurator);\r
+ public void postConstruct() {\r
+ if (searchClient == null) {\r
+ logger.debug(Utils.objectId(this) + " will instantiate a ServiceProxyClient next."); \r
+ searchClient = new ServiceProxyClient();\r
+ logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
+ + Utils.objectId(configurator) + "]" ); \r
+ configureClient(searchClient,configurator);\r
+ } else {\r
+ logger.debug("Pz2ProxyBean:postConstruct: searchClient already instantiated " +\r
+ "during construction of parent object Pz2Bean.");\r
+ }\r
}\r
\r
@Override\r
public String login(String navigateTo) {\r
logger.info("doing login");\r
- session().setUser(user);\r
- session().resetDataObjects();\r
- session().removeCommand("record");\r
- session().setQuery(null);\r
- return session().login(navigateTo);\r
- }\r
-\r
- @Override\r
- public void setInitFileName(String fileName) {\r
- logger.info("Setting init file name: " + fileName);\r
- session().setInitFileName(fileName); \r
+ ((ServiceProxyClient)searchClient).authenticate(user);\r
+ data.reset();\r
+ req.getRecord().removeParameters();\r
+ req.getSearch().setQuery(null);\r
+ \r
+ return navigateTo;\r
}\r
\r
@Override\r
- public String getInitFileName() {\r
- return session().getInitFileName();\r
- }\r
- \r
- public void setAceFilter (String filterExpression) {\r
- session().setAceFilter(filterExpression);\r
+ public void setServiceProxyUrl(String url) {\r
+ logger.info("Setting Service Proxy url: " + url);\r
+ serviceProxyUrl = url;\r
+ req.getSearch().setQuery(null);\r
+ data.reset();\r
}\r
\r
- public String getAceFilter () {\r
- return session().getAceFilter();\r
+ public String getServiceProxyUrl() {\r
+ return serviceProxyUrl;\r
}\r
-\r
- @Override\r
- public String postInit() throws UnsupportedEncodingException, IOException {\r
- logger.info("Posting init: " + System.currentTimeMillis());\r
- session().postInit();\r
- return "";\r
+ \r
+ public String getInitDocPath () {\r
+ return searchClient.getConfiguration().get("INIT_DOC_PATH");\r
}\r
\r
- public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException {\r
- logger.info("Posting init: " + System.currentTimeMillis());\r
- session().postInit(initDoc);\r
- return "";\r
+ @Override\r
+ public void setInitFileName(String fileName) {\r
+ this.initDocFileName = fileName;\r
\r
}\r
\r
@Override\r
- public void setServiceProxyUrl(String url) {\r
- logger.info("Setting Service Proxy url: " + url);\r
- session().setServiceProxyUrl(url); \r
- session().setQuery(null);\r
- session().resetDataObjects();\r
+ public String getInitFileName() {\r
+ return initDocFileName;\r
}\r
\r
@Override\r
- public String getServiceProxyUrl() {\r
- return session().getServiceProxyUrl(); \r
+ public String postInit() throws UnsupportedEncodingException, IOException { \r
+ String initDocPath = ((ServiceProxyClient)searchClient).getInitDocPaths()[0];\r
+ logger.info("Paths: " + ((ServiceProxyClient)searchClient).getInitDocPaths());\r
+ logger.info("Path: " + initDocPath);\r
+ data.reset();\r
+ byte[] response = ((ServiceProxyClient)searchClient).postInitDoc(initDocPath + getInitFileName());\r
+ initDocResponse = new String(response,"UTF-8");\r
+ return initDocResponse;\r
}\r
\r
- public ServiceProxySession session() {\r
- return (ServiceProxySession)pz2;\r
+ @Override\r
+ public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException { \r
+ data.reset();\r
+ byte[] response = ((ServiceProxyClient)searchClient).postInitDoc(initDoc);\r
+ initDocResponse = new String(response,"UTF-8");\r
+ return initDocResponse;\r
}\r
\r
+\r
@Override\r
public String getInitResponse() {\r
- return session().getInitResponse();\r
+ return initDocResponse;\r
}\r
\r
- public Configuration getClientConfiguration() {\r
- return session().client().getConfiguration();\r
+ public void setAceFilter(String filterExpression) {\r
+ //setCommandParameter("record",new CommandParameter("acefilter","=",filterExpression));\r
}\r
\r
- public String getInitDocPath () {\r
- return session().client().getConfiguration().get("INIT_DOC_PATH");\r
+ public String getAceFilter () {\r
+ return null;\r
+ // return getCommandParameterValue("record","acefilter","");\r
}\r
\r
+\r
}\r