Clears user info when changing service URL
authorNiels Erik G. Nielsen <nielserik@indexdata.com>
Thu, 25 Apr 2013 16:33:31 +0000 (12:33 -0400)
committerNiels Erik G. Nielsen <nielserik@indexdata.com>
Thu, 25 Apr 2013 16:33:31 +0000 (12:33 -0400)
src/main/java/com/indexdata/mkjsf/pazpar2/Pz2ProxyBean.java
src/main/java/com/indexdata/mkjsf/pazpar2/sp/auth/ServiceProxyUser.java

index 6e74ed0..751e919 100644 (file)
@@ -24,7 +24,6 @@ public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {
   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
@@ -40,8 +39,7 @@ public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {
       logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
                             + Utils.objectId(configurator) + "]" );    \r
       configureClient(searchClient,configurator);\r
-      stateMgr.addStateListener(this);\r
-      serviceProxyUrl = searchClient.getConfiguration().get(ServiceProxyClient.SERVICE_PROXY_URL);\r
+      stateMgr.addStateListener(this);      \r
     } else {\r
       logger.debug("Pz2ProxyBean:postConstruct: searchClient already instantiated " +\r
                        "during construction of parent object Pz2Bean.");\r
@@ -77,15 +75,18 @@ public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {
 \r
   @Override\r
   public void setServiceProxyUrl(String url) {\r
-    logger.info("Setting Service Proxy url: " + url);\r
-    serviceProxyUrl = url;\r
-    pzreq.getRecord().removeParametersInState();\r
-    pzreq.getSearch().removeParametersInState();\r
-    pzresp.reset();\r
+    logger.info("Setting Service Proxy url: " + url);    \r
+    if (url!=null & !url.equals(((ServiceProxyClient)searchClient).getServiceProxyUrl())) {\r
+      pzreq.getRecord().removeParametersInState();\r
+      pzreq.getSearch().removeParametersInState();\r
+      pzresp.reset();\r
+      user.clear();\r
+      ((ServiceProxyClient)searchClient).setServiceProxyUrl(url);\r
+    }    \r
   }\r
   \r
   public String getServiceProxyUrl() {\r
-    return serviceProxyUrl;\r
+    return ((ServiceProxyClient)searchClient).getServiceProxyUrl();\r
   }\r
     \r
   public String getInitDocPath () {\r
@@ -128,12 +129,4 @@ public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {
     return initDocResponse;\r
   }\r
   \r
-  public void setAceFilter(String filterExpression) {\r
-    //setCommandParameter("record",new CommandParameter("acefilter","=",filterExpression));\r
-  }\r
-  \r
-  public String getAceFilter () {\r
-    return null;\r
-    // return getCommandParameterValue("record","acefilter","");\r
-  }\r
 }\r
index ed6d0ba..b8a68af 100644 (file)
@@ -76,5 +76,10 @@ public class ServiceProxyUser implements AuthenticationEntity {
     return possibleProperties;\r
   } \r
   \r
+  public void clear() {\r
+    actualProperties = new HashMap<String,String>();\r
+    authenticated = false;\r
+  }\r
+  \r
 \r
 }\r