1 package com.indexdata.pz2utils4jsf.pazpar2;
\r
3 import java.io.IOException;
\r
4 import java.io.UnsupportedEncodingException;
\r
6 import javax.annotation.PostConstruct;
\r
7 import javax.enterprise.context.SessionScoped;
\r
8 import javax.enterprise.inject.Alternative;
\r
9 import javax.inject.Inject;
\r
10 import javax.inject.Named;
\r
12 import org.apache.log4j.Logger;
\r
14 import com.indexdata.pz2utils4jsf.config.Configuration;
\r
15 import com.indexdata.pz2utils4jsf.config.ConfigurationReader;
\r
16 import com.indexdata.pz2utils4jsf.pazpar2.commands.SearchCommand;
\r
17 import com.indexdata.pz2utils4jsf.pazpar2.sp.ForServiceProxy;
\r
18 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient;
\r
19 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface;
\r
20 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxySession;
\r
21 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;
\r
22 import com.indexdata.pz2utils4jsf.utils.Utils;
\r
24 @Named("pz2") @SessionScoped @Alternative
\r
25 public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {
\r
27 private static final long serialVersionUID = 4221824985678758225L;
\r
28 private static Logger logger = Logger.getLogger(Pz2ProxyBean.class);
\r
30 @Inject ConfigurationReader configurator;
\r
31 @Inject ServiceProxyUser user;
\r
32 @Inject @ForServiceProxy ServiceProxySession pz2;
\r
34 public Pz2ProxyBean() {
\r
38 public void instantiateServiceProxyClient() {
\r
39 logger.debug(Utils.objectId(this) + " will instantiate a ServiceProxyClient next.");
\r
40 searchClient = new ServiceProxyClient();
\r
41 logger.info("Using [" + Utils.objectId(searchClient) + "] configured by ["
\r
42 + Utils.objectId(configurator) + "] on session ["
\r
43 + Utils.objectId(pz2) + "]" );
\r
44 pz2.configureClient(searchClient,configurator);
\r
48 public String login(String navigateTo) {
\r
49 logger.info("doing login");
\r
50 session().setUser(user);
\r
51 session().resetDataObjects();
\r
52 session().removeCommand("record");
\r
53 ((SearchCommand)session().getCommand("search")).setQuery(null);
\r
54 return session().login(navigateTo);
\r
58 public void setInitFileName(String fileName) {
\r
59 logger.info("Setting init file name: " + fileName);
\r
60 session().setInitFileName(fileName);
\r
64 public String getInitFileName() {
\r
65 return session().getInitFileName();
\r
68 public void setAceFilter (String filterExpression) {
\r
69 session().setAceFilter(filterExpression);
\r
72 public String getAceFilter () {
\r
73 return session().getAceFilter();
\r
77 public String postInit() throws UnsupportedEncodingException, IOException {
\r
78 logger.info("Posting init: " + System.currentTimeMillis());
\r
79 session().postInit();
\r
83 public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException {
\r
84 logger.info("Posting init: " + System.currentTimeMillis());
\r
85 session().postInit(initDoc);
\r
91 public void setServiceProxyUrl(String url) {
\r
92 logger.info("Setting Service Proxy url: " + url);
\r
93 session().setServiceProxyUrl(url);
\r
94 ((SearchCommand)session().getCommand("search")).setQuery(null);
\r
95 session().resetDataObjects();
\r
99 public String getServiceProxyUrl() {
\r
100 return session().getServiceProxyUrl();
\r
103 public ServiceProxySession session() {
\r
104 return (ServiceProxySession)pz2;
\r
108 public String getInitResponse() {
\r
109 return session().getInitResponse();
\r
112 public Configuration getClientConfiguration() {
\r
113 return session().client().getConfiguration();
\r
116 public String getInitDocPath () {
\r
117 return session().client().getConfiguration().get("INIT_DOC_PATH");
\r