+ @Override\r
+ public String getCheckHistory () {\r
+ return ":pz2watch:stateForm:windowlocationhash";\r
+ }\r
+ \r
+ @Override\r
+ public String getWatchActiveclients () {\r
+ return ":pz2watch:activeclientsForm:activeclientsField";\r
+ }\r
+ \r
+ @Override\r
+ public String getWatchActiveclientsRecord () {\r
+ return ":pz2watch:activeclientsForm:activeclientsFieldRecord";\r
+ }\r
+\r
+ @Override\r
+ public void configure(ConfigurationReader reader)\r
+ throws ConfigurationException {\r
+ Configuration config = reader.getConfiguration(this);\r
+ if (config == null) {\r
+ serviceType = SERVICE_TYPE_TBD;\r
+ } else {\r
+ String service = config.get("TYPE");\r
+ if (service == null || service.length()==0) {\r
+ serviceType = SERVICE_TYPE_TBD;\r
+ } else if (serviceTypes.contains(service.toUpperCase())) { \r
+ setServiceType(service.toUpperCase());\r
+ } else {\r
+ logger.error("Unknown serviceType type in configuration [" + service + "], can be one of " + serviceTypes);\r
+ serviceType = SERVICE_TYPE_TBD;\r
+ }\r
+ serviceProxyUrls = config.getMultiProperty(SERVICE_PROXY_URL_LIST,",");\r
+ pazpar2Urls = config.getMultiProperty(PAZPAR2_URL_LIST, ",");\r
+ }\r
+ logger.info("Service Type is configured to " + serviceType);\r
+ \r
+ }\r
+\r
+ @Override\r
+ public Map<String, String> getDefaults() {\r
+ return new HashMap<String,String>();\r
+ }\r
+\r
+ @Override\r
+ public String getModuleName() {\r
+ return MODULE_NAME;\r
+ }\r
+\r
+ @Override\r
+ public List<String> documentConfiguration() {\r
+ return new ArrayList<String>();\r
+ }\r
+\r
+ @Override\r
+ public void setServiceTypePZ2() {\r
+ setServiceType(SERVICE_TYPE_PZ2); \r
+ }\r
+\r
+ @Override\r
+ public void setServiceTypeSP() {\r
+ setServiceType(SERVICE_TYPE_SP); \r
+ }\r
+\r
+ @Override\r
+ public void setServiceTypeTBD() {\r
+ setServiceType(SERVICE_TYPE_TBD); \r
+ }\r
+ \r
+ private void setServiceType(String type) {\r
+ if (!serviceType.equals(type) &&\r
+ !serviceType.equals(SERVICE_TYPE_TBD)) {\r
+ resetSearchAndRecordCommands();\r
+ pzresp.resetAllSessionData();\r
+ }\r
+ serviceType = type;\r
+ if (serviceType.equals(SERVICE_TYPE_PZ2)) {\r
+ searchClient = pz2Client;\r
+ logger.info("Setting a Pazpar2 client to serve requests.");\r
+ } else if (serviceType.equals(SERVICE_TYPE_SP)) {\r
+ searchClient = spClient;\r
+ logger.info("Setting a Service Proxy client to serve requests.");\r
+ } else {\r
+ logger.info("Clearing search client. No client defined to serve requests at this point.");\r
+ searchClient = null;\r
+ }\r
+ }\r
+ \r