Organizes SP specific responses in separate class
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / data / Responses.java
index 1df2363..e076644 100644 (file)
@@ -16,8 +16,7 @@ import org.apache.log4j.Logger;
 \r
 import com.indexdata.mkjsf.errors.ErrorHelper;\r
 import com.indexdata.mkjsf.errors.ErrorInterface;\r
-import com.indexdata.mkjsf.pazpar2.data.sp.AuthResponse;\r
-import com.indexdata.mkjsf.pazpar2.data.sp.CategoriesResponse;\r
+import com.indexdata.mkjsf.pazpar2.data.sp.SpResponses;\r
 import com.indexdata.mkjsf.utils.Utils;\r
 \r
 @Named("pzresp") @SessionScoped\r
@@ -27,6 +26,7 @@ public class Responses implements Serializable {
   protected Map<String,ResponseDataObject> dataObjects = new ConcurrentHashMap<String,ResponseDataObject>();\r
   private static Logger logger = Logger.getLogger(Responses.class);\r
   private ErrorHelper errorHelper = null;\r
+  private SpResponses sp = null;\r
 \r
   public Responses() {    \r
   }\r
@@ -75,25 +75,23 @@ public class Responses implements Serializable {
     return error;         \r
   }\r
   \r
-  public void resetSearchResponses() {\r
+  public void resetSearchAndBeyond() {\r
     logger.debug("Resetting show,stat,termlist,bytarget,record,search response objects.");\r
     dataObjects.put("show", new ShowResponse());\r
     dataObjects.put("stat", new StatResponse());\r
     dataObjects.put("termlist", new TermListsResponse());\r
     dataObjects.put("bytarget", new ByTarget());\r
     dataObjects.put("record", new RecordResponse());\r
-    dataObjects.put("search", new SearchResponse());    \r
+    dataObjects.put("search", new SearchResponse());\r
+    getSp().resetSearchAndBeyond(false);\r
   }\r
   \r
-  public void resetAllSessionData () {\r
-    logger.debug("Resetting all response objects");\r
-    dataObjects = new ConcurrentHashMap<String,ResponseDataObject>();    \r
-    resetSearchResponses();\r
-    dataObjects.put("init", new InitResponse());\r
-    dataObjects.put("auth", new AuthResponse());\r
-    dataObjects.put("categories", new CategoriesResponse());\r
+  public void resetInitAndBeyond () {\r
+    dataObjects.put("init", new InitResponse());        \r
+    resetSearchAndBeyond();\r
+    getSp().resetInitAndBeyond(false);\r
   }\r
-  \r
+    \r
   public InitResponse getInit () {    \r
     return ((InitResponse) dataObjects.get("init"));\r
   }\r
@@ -130,17 +128,6 @@ public class Responses implements Serializable {
     return ((ByTarget) dataObjects.get("bytarget"));\r
   }\r
 \r
-  // Service Proxy extras   \r
-  public AuthResponse getAuth () {\r
-    return ((AuthResponse) dataObjects.get("auth"));\r
-  }\r
-\r
-  public CategoriesResponse getCategories() {\r
-    return ((CategoriesResponse) dataObjects.get("categories"));\r
-  }\r
-  // Service Proxy extras\r
-  \r
-\r
   public ResponseDataObject getResponseObject (String name) {\r
     return dataObjects.get(name);\r
   }\r
@@ -182,4 +169,8 @@ public class Responses implements Serializable {
     facesContext.responseComplete();\r
   }\r
   \r
+  public SpResponses getSp() {\r
+    return (sp == null ? new SpResponses(this) : sp);\r
+  }\r
+  \r
 }
\ No newline at end of file