1 package com.indexdata.mkjsf.pazpar2;
\r
3 import java.io.IOException;
\r
4 import java.io.Serializable;
\r
5 import java.io.UnsupportedEncodingException;
\r
7 import javax.enterprise.context.SessionScoped;
\r
8 import javax.inject.Inject;
\r
9 import javax.inject.Named;
\r
11 import org.apache.log4j.Logger;
\r
13 import com.indexdata.mkjsf.config.ConfigurationReader;
\r
14 import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Commands;
\r
15 import com.indexdata.mkjsf.pazpar2.commands.sp.InitDocUpload;
\r
16 import com.indexdata.mkjsf.pazpar2.data.Pazpar2Responses;
\r
17 import com.indexdata.mkjsf.pazpar2.sp.auth.ServiceProxyUser;
\r
19 @Named("pz2x") @SessionScoped
\r
20 public class ServiceProxyExtensions implements ServiceProxyInterface, Serializable {
\r
22 private static final long serialVersionUID = 4221824985678758225L;
\r
23 private static Logger logger = Logger.getLogger(ServiceProxyExtensions.class);
\r
24 private String initDocFileName = "";
\r
25 private String initDocResponse = "";
\r
26 private InitDocUpload initDocUpload;
\r
28 @Inject ConfigurationReader configurator;
\r
29 @Inject ServiceProxyUser user;
\r
30 @Inject Pz2Bean pz2;
\r
31 @Inject Pazpar2Commands pzreq;
\r
32 @Inject Pazpar2Responses pzresp;
\r
35 public ServiceProxyExtensions() {
\r
36 this.initDocUpload = new InitDocUpload(this);
\r
38 //stateMgr.addStateListener(this);
\r
41 public void login(String un, String pw) {
\r
42 if (user.isAuthenticated() && user.getName().equals(un) && pz2.spClient.checkAuthentication(user)) {
\r
43 logger.info("Repeat request from UI to authenticate user. Auth verified for given user name so skipping log-in.");
\r
45 logger.info("doing un/pw login");
\r
47 user.setPassword(pw);
\r
53 public String login(String navigateTo) {
\r
54 logger.info("doing login by " + user + " using " + pz2 + " and client " + pz2.getSpClient());
\r
55 pz2.getSpClient().authenticate(user);
\r
56 pz2.resetSearchAndResults();
\r
60 public void ipAuthenticate (ServiceProxyUser user) {
\r
61 if (!user.isIpAuthenticated()) {
\r
62 if (user.isAuthenticated()) {
\r
65 pz2.resetSearchAndResults();
\r
66 pz2.getSpClient().ipAuthenticate(user);
\r
70 public String getInitDocPath () {
\r
71 return pz2.getSpClient().getConfiguration().get("INIT_DOC_PATH");
\r
75 public void setInitFileName(String fileName) {
\r
76 this.initDocFileName = fileName;
\r
81 public String getInitFileName() {
\r
82 return initDocFileName;
\r
86 public ClientCommandResponse postInit() throws UnsupportedEncodingException, IOException {
\r
87 String initDocPath = pz2.getSpClient().getInitDocPaths().get(0);
\r
88 logger.info("Paths: " + pz2.getSpClient().getInitDocPaths());
\r
89 logger.info("Path: " + initDocPath);
\r
90 pz2.resetSearchAndResults();
\r
91 ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDocPath + getInitFileName());
\r
96 public ClientCommandResponse postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException {
\r
97 pz2.resetSearchAndResults();
\r
98 ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDoc,includeDebug);
\r
103 public String getInitResponse() {
\r
104 return initDocResponse;
\r
107 public InitDocUpload getInitDocUpload () {
\r
108 return initDocUpload;
\r