Clean-up
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / Pz2Service.java
index f38d90d..9304475 100644 (file)
@@ -28,17 +28,15 @@ import com.indexdata.mkjsf.errors.ConfigurationError;
 import com.indexdata.mkjsf.errors.ConfigurationException;\r
 import com.indexdata.mkjsf.errors.ErrorCentral;\r
 import com.indexdata.mkjsf.errors.ErrorHelper;\r
-import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;\r
 import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Commands;\r
 import com.indexdata.mkjsf.pazpar2.data.RecordResponse;\r
-import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 import com.indexdata.mkjsf.pazpar2.data.Responses;\r
 import com.indexdata.mkjsf.pazpar2.state.StateListener;\r
 import com.indexdata.mkjsf.pazpar2.state.StateManager;\r
 import com.indexdata.mkjsf.utils.Utils;\r
 \r
 @Named("pz2") @SessionScoped\r
-public class Pz2Service implements Pz2Interface, StateListener, Configurable, Serializable {\r
+public class Pz2Service implements StateListener, Configurable, Serializable {\r
 \r
   private static final String MODULE_NAME = "service";\r
   private static String SERVICE_TYPE_TBD = "TBD", SERVICE_TYPE_PZ2 = "PZ2", SERVICE_TYPE_SP = "SP";\r
@@ -145,12 +143,22 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
     pzreq.getRecord().removeParametersInState();\r
     pzreq.getSearch().removeParametersInState();   \r
   }\r
-      \r
+     \r
+  \r
   /**\r
-   * Refreshes 'show', 'stat', 'termlist', and 'bytarget' data object from pazpar2\r
+   * Updates display data objects by issuing the following pazpar2 commands: \r
+   * 'show', 'stat', 'termlist' and 'bytarget'.\r
    * \r
-   * @return Number of activeclients at the time of the 'show' command.\r
-   */\r
+   * If there is an outstanding change to the search command, a search\r
+   * will be issued before the updates are performed. \r
+   *  \r
+   * Returns a count of the remaining active clients from the most recent search.\r
+   * \r
+   * After refreshing the data from pazpar2 the UI components displaying those \r
+   * data should be re-rendered.\r
+   * \r
+   * @return count of activeclients \r
+   */  \r
   public String update () {\r
     logger.debug("Updating show,stat,termlist,bytarget from pazpar2");\r
     if (errors.hasConfigurationErrors()) {\r
@@ -228,7 +236,17 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
     }\r
     \r
   }\r
-                                  \r
+      \r
+  /**\r
+   * Will retrieve -- or alternatively remove -- the record with the given \r
+   * recid from memory.\r
+   * \r
+   * A pazpar2 'record' command will then be issued. The part of the UI \r
+   * showing record data should thus be re-rendered.\r
+   *  \r
+   * @param recid\r
+   * @return\r
+   */\r
   public String toggleRecord (String recId) {\r
     if (hasRecord(recId)) {\r
       pzreq.getRecord().removeParameters();  \r
@@ -236,20 +254,40 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
       return "";\r
     } else {\r
       pzreq.getRecord().setId(recId);\r
-      doCommand("record");\r
+      pzreq.getRecord().run();\r
+      // doCommand("record");\r
       return pzresp.getRecord().getActiveClients();\r
     }\r
   }\r
   \r
-  @Override\r
+  /**\r
+   * Resolves whether the backend has a record with the given recid in memory \r
+   * \r
+   * @return true if the bean currently holds the record with recid\r
+   */  \r
   public boolean hasRecord (String recId) {\r
     return pzreq.getCommand("record").hasParameters() && pzresp.getRecord().getRecId().equals(recId);\r
   }\r
         \r
+  /**\r
+   * Returns the current hash key, used for internal session state tracking\r
+   * and potentially for browser history entries\r
+   * \r
+   * A UI author would not normally be concerned with retrieving this. It's used by the\r
+   * framework internally\r
+   *  \r
+   * @return string that can be used for browsers window.location.hash\r
+   */\r
   public String getCurrentStateKey () {    \r
     return stateMgr.getCurrentState().getKey();\r
   }\r
       \r
+  /**\r
+   * Sets the current state key, i.e. when user clicks back or forward in browser history.\r
+   * Would normally be automatically handled by the frameworks components.\r
+   *  \r
+   * @param key corresponding to browsers hash string\r
+   */\r
   public void setCurrentStateKey(String key) {       \r
     stateMgr.setCurrentStateKey(key);\r
   }\r
@@ -258,8 +296,10 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
     return pzreq.getCommand("search").hasParameterValue("query"); \r
   }\r
     \r
-    \r
-  @Override\r
+  /**\r
+   * Returns a component for drawing a pager to navigate by.\r
+   * @return ResultsPager pager component\r
+   */\r
   public ResultsPager getPager () {\r
     if (pager == null) {\r
       pager = new ResultsPager(pzresp);      \r
@@ -267,7 +307,13 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
     return pager;      \r
   }\r
   \r
-  @Override\r
+ /**\r
+  * Initiates a pager object, a component holding the data to draw a sequence\r
+  * of page numbers to navigate by and mechanisms to navigate with\r
+  * \r
+  * @param pageRange number of pages to display in the pager\r
+  * @return ResultsPager the initiated pager component\r
+  */\r
   public ResultsPager setPager (int pageRange) {\r
     pager =  new ResultsPager(pzresp,pageRange,pzreq);\r
     return pager;\r
@@ -304,6 +350,7 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
    * @param commandName The command to be executed\r
    * @return An XML response parsed to form a response data object\r
    */\r
+  /*\r
   protected ResponseDataObject doCommand(String commandName) {\r
     Pazpar2Command command = pzreq.getCommand(commandName);\r
     if (command.spOnly() && isPazpar2Service()) {\r
@@ -318,6 +365,7 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
       return responseObject;\r
     }\r
   }\r
+  */\r
     \r
   @Override\r
   public void stateUpdated(String commandName) {\r
@@ -356,8 +404,6 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
     }\r
   }\r
 \r
-  \r
-  @Override\r
   public void setServiceUrl(String url) {\r
     if (url!=null && searchClient != null && !url.equals(searchClient.getServiceUrl())) {\r
       pzreq.getRecord().removeParametersInState();\r
@@ -420,22 +466,18 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
     return spClient;\r
   }  \r
   \r
-  @Override\r
   public boolean getAuthenticationRequired () {\r
     return spClient.isAuthenticatingClient();\r
   }\r
 \r
-  @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
@@ -479,17 +521,14 @@ public class Pz2Service implements Pz2Interface, StateListener, Configurable, Se
     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