Renames class, removes obsolete, javadoc
authorNiels Erik G. Nielsen <nielserik@indexdata.com>
Thu, 6 Jun 2013 19:56:05 +0000 (15:56 -0400)
committerNiels Erik G. Nielsen <nielserik@indexdata.com>
Thu, 6 Jun 2013 19:56:05 +0000 (15:56 -0400)
41 files changed:
src/main/java/com/indexdata/mkjsf/config/package-info.java
src/main/java/com/indexdata/mkjsf/pazpar2/ClientCommandResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/CommandThread.java
src/main/java/com/indexdata/mkjsf/pazpar2/Pz2Client.java
src/main/java/com/indexdata/mkjsf/pazpar2/Pz2Service.java
src/main/java/com/indexdata/mkjsf/pazpar2/ServiceProxyClient.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/BytargetCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/InitCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/PingCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/RecordCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/SearchCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/SettingsCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/ShowCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/StatCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/TermlistCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/sp/AuthCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/sp/CategoriesCommand.java
src/main/java/com/indexdata/mkjsf/pazpar2/commands/sp/RecordCommandSp.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/ByTarget.java [deleted file]
src/main/java/com/indexdata/mkjsf/pazpar2/data/ByTargetResponse.java [new file with mode: 0644]
src/main/java/com/indexdata/mkjsf/pazpar2/data/Hit.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/InitResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/Location.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordOffsetResponse.java [deleted file]
src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/ResponseDataObject.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/ResponseParser.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/Responses.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/SearchResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/ShowResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/StatResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/Target.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/TermListResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/TermListsResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/TermResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/TermXTargetResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/package-info.java [new file with mode: 0644]
src/main/java/com/indexdata/mkjsf/pazpar2/data/sp/AuthResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/sp/CategoriesResponse.java
src/main/java/com/indexdata/mkjsf/pazpar2/data/sp/TargetCategory.java
src/main/java/com/indexdata/mkjsf/pazpar2/package-info.java

index a131afc..6716e66 100644 (file)
@@ -77,7 +77,7 @@
  * \r
  * <code>pz2client.PAZPAR2_URL = http://localhost:8004/</code>\r
  * \r
- * <p>Some of the other know parameters in this format could be:</p>\r
+ * <p>Some of the other known parameters in this format could be:</p>\r
  * \r
  * <pre>\r
  * service.TYPE = SP              \r
@@ -89,7 +89,7 @@
  * and inject that class in beans.xml instead of any of the two predefined options. The extended\r
  * class must construct a Configuration object -- which is basically a set of key-value pairs -- \r
  * and then set the desired values and hand it off to the Configurable (currently Pz2Service, Pz2Client, \r
- * ServiceProxyClient</p> \r
+ * and ServiceProxyClient)</p> \r
  * \r
  * <p>Finally it's possible to set the URL runtime even from the UI pages.</p> \r
  * \r
index 01444ef..ef22114 100644 (file)
@@ -5,6 +5,15 @@ import java.io.UnsupportedEncodingException;
 \r
 import com.indexdata.masterkey.pazpar2.client.Pazpar2HttpResponse;\r
 \r
+/**\r
+ * Contains one HTTP response to a command executed against a Pazpar2 service in such a \r
+ * way as to give the response parser a common interface to responses, whether \r
+ * they are from Pazpar2, from the Service Proxy, or are error messages created \r
+ * by the JSF application during processing.\r
+ *  \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class ClientCommandResponse implements HttpResponseWrapper {\r
     \r
   private int statusCode;\r
@@ -13,18 +22,38 @@ public class ClientCommandResponse implements HttpResponseWrapper {
   private String contentString = null;\r
   private byte[] bytesForParsing = null;\r
   \r
+  /**\r
+   * Used for storing Pazpar2 based response\r
+   * \r
+   * @param pz2response\r
+   * @param content\r
+   */\r
   public ClientCommandResponse(Pazpar2HttpResponse pz2response, ByteArrayOutputStream content) {    \r
     this.content = content.toByteArray();\r
     this.statusCode = pz2response.getStatusCode();\r
     this.contentType = pz2response.getContentType();\r
   }\r
     \r
+  /**\r
+   * Used for storing error response\r
+   *  \r
+   * @param statusCode\r
+   * @param content\r
+   * @param contentType\r
+   */\r
   public ClientCommandResponse(int statusCode, String content, String contentType) {\r
     this.statusCode = statusCode;\r
     this.contentString = content;\r
     this.contentType = contentType;\r
   }\r
   \r
+  /**\r
+   * Used for storing Service Proxy based response\r
+   * \r
+   * @param statusCode\r
+   * @param content\r
+   * @param contentType\r
+   */\r
   public ClientCommandResponse(int statusCode, byte[] content, String contentType) {\r
     this.statusCode = statusCode;\r
     this.content = content;\r
@@ -41,6 +70,9 @@ public class ClientCommandResponse implements HttpResponseWrapper {
     return contentType;\r
   }\r
 \r
+  /**\r
+   * Gets the response as a String - unless the response is marked as binary\r
+   */\r
   @Override\r
   public String getResponseString() {\r
     if (content == null) {\r
@@ -62,6 +94,13 @@ public class ClientCommandResponse implements HttpResponseWrapper {
     return content;\r
   }\r
   \r
+  /**\r
+   * Overrides the original response with a modified response. Used for\r
+   * one instance of a response that is not named by the command that \r
+   * created it - such as the parser expects. \r
+   * \r
+   * @param parseString\r
+   */\r
   public void setResponseToParse(String parseString) {    \r
     try {\r
       this.bytesForParsing = parseString.getBytes("UTF-8");\r
@@ -70,6 +109,10 @@ public class ClientCommandResponse implements HttpResponseWrapper {
     }\r
   }\r
 \r
+  /**\r
+   * Used by the parser to get the response for further processing. \r
+   * @return\r
+   */\r
   public byte[] getResponseToParse() {\r
     if (bytesForParsing != null) {\r
       return bytesForParsing;\r
index 7ebdf9f..678e4a6 100644 (file)
@@ -5,6 +5,13 @@ import org.apache.log4j.Logger;
 import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;\r
 import com.indexdata.mkjsf.pazpar2.data.Responses;\r
 \r
+/**\r
+ * Helper class for running multiple concurrent Pazpar2 commands. Basically \r
+ * used for updating display data (show,stat,bytarget,termlist) together.\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class CommandThread extends Thread {\r
 \r
   private static Logger logger = Logger.getLogger(CommandThread.class);\r
index 6dfe77f..3417a47 100644 (file)
@@ -27,6 +27,20 @@ import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;
 import com.indexdata.mkjsf.pazpar2.data.CommandError;\r
 import com.indexdata.mkjsf.utils.Utils;\r
 \r
+/**\r
+ * Search client handling straight Pazpar2 requests. \r
+ * \r
+ * <p>Although it is described here as straight Pazpar2, the client itself \r
+ * actually represents a layer between Pazpar2 and the JSF application because it \r
+ * uses the Pazpar2 client from the library masterkey-common.</p>\r
+ * That client, which is the one also used by the Service Proxy, does perform certain \r
+ * types of session handling, bootstraps lost sessions, avoids repeating already \r
+ * executed queries etc, so it is -- in other words -- still a mediated interaction \r
+ * with Pazpar2 that takes place. At least for now.</p>  \r
+ *  \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class Pz2Client implements SearchClient {\r
 \r
   private static final long serialVersionUID = 5414266730169982028L;\r
@@ -88,6 +102,13 @@ public class Pz2Client implements SearchClient {
     client.setSearchCommand(clientCommand);    \r
   }\r
 \r
+  /**\r
+   * Runs the give Pazpar2 command and returns a response wrapper with either the received response or \r
+   * with some form of error message. \r
+   * \r
+   * It is intended that this method never throws an exception. All events are supposed to be captured and\r
+   * returned in some form of response. \r
+   */\r
   @Override\r
   public HttpResponseWrapper executeCommand(Pazpar2Command command) {\r
     ClientCommandResponse commandResponse = null;\r
@@ -132,7 +153,7 @@ public class Pz2Client implements SearchClient {
       commandResponse = new ClientCommandResponse(0,CommandError.createErrorXml(command.getCommandName(), "", "ServiceError", e.getMessage(),""),"text/xml");\r
     }\r
     long end = System.currentTimeMillis();      \r
-    logger.debug("Executed " + command.getCommandName() + " in " + (end-start) + " ms." );\r
+    logger.info("Executed " + command.getCommandName() + " in " + (end-start) + " ms." );\r
     return commandResponse;\r
   }\r
 \r
@@ -144,11 +165,17 @@ public class Pz2Client implements SearchClient {
     return clone;\r
   }\r
 \r
+  /**\r
+   * Returns default configuration parameters for the client.\r
+   */\r
   @Override\r
   public Map<String, String> getDefaults() {\r
     return DEFAULTS;\r
   }\r
 \r
+  /**\r
+   * Returns the configuration name of the client\r
+   */\r
   @Override\r
   public String getModuleName() {\r
     return MODULENAME;\r
@@ -178,6 +205,9 @@ public class Pz2Client implements SearchClient {
     }\r
   }\r
 \r
+  /**\r
+   * Provides configuration documentation -- mostly for diagnosing problems   \r
+   */\r
   @Override\r
   public List<String> documentConfiguration() {\r
     List<String> doc = new ArrayList<String>();\r
@@ -189,25 +219,41 @@ public class Pz2Client implements SearchClient {
     return config;\r
   }\r
 \r
+  /**\r
+   * Returns the currently configured Papzar2 URL.\r
+   */\r
   @Override\r
   public String getServiceUrl() {\r
     return cfg.PAZPAR2_URL;    \r
   }\r
 \r
+  /**\r
+   * Returns true if a Papzar2 URL was defined yet. \r
+   */\r
   @Override\r
   public boolean hasServiceUrl() {\r
     return cfg.PAZPAR2_URL != null && cfg.PAZPAR2_URL.length()>0;\r
   }\r
   \r
+  /**\r
+   * Sets the Pazpar2 URL to use for requests. \r
+   */\r
   @Override \r
   public void setServiceUrl (String serviceUrl) {    \r
     cfg.PAZPAR2_URL = serviceUrl;    \r
   }\r
   \r
+  /**\r
+   * Returns the Pazpar2 Service ID \r
+   */\r
   public String getServiceId () {\r
     return cfg.PAZPAR2_SERVICE_ID;\r
   }\r
   \r
+  /**\r
+   * Sets the service ID that Pazpar2 should use when servicing requests\r
+   * @param serviceId\r
+   */\r
   public void setServiceId(String serviceId) {\r
     cfg.PAZPAR2_SERVICE_ID = serviceId;\r
     try {\r
index efbcfe3..4d6d05f 100644 (file)
@@ -322,6 +322,9 @@ public class Pz2Service implements StateListener, Configurable, Serializable {
     }\r
   }\r
       \r
+  /**\r
+   * Used by the state manager to notify Pz2Service about state changes\r
+   */\r
   @Override\r
   public void stateUpdated(String commandName) {\r
     logger.debug("State change reported for [" + commandName + "]");\r
@@ -413,12 +416,21 @@ public class Pz2Service implements StateListener, Configurable, Serializable {
     return pager;\r
   }\r
      \r
+  /**\r
+   * Sets the URL of the Service Proxy to use for requests\r
+   * \r
+   * @param url\r
+   */\r
   public void setServiceProxyUrl(String url) {\r
     searchClient = spClient;\r
     setServiceType(SERVICE_TYPE_SP);\r
     setServiceUrl(url);\r
   }\r
   \r
+  /**\r
+   * Returns the Service Proxy URL currently defined for servicing requests\r
+   * \r
+   */\r
   public String getServiceProxyUrl () {\r
     if (isServiceProxyService()) {\r
       return spClient.getServiceUrl();\r
@@ -426,13 +438,22 @@ public class Pz2Service implements StateListener, Configurable, Serializable {
       return "";\r
     }\r
   }\r
-  \r
+\r
+  /**\r
+   * Sets the URL of the Pazpar2 to use for requests\r
+   * \r
+   * @param url\r
+   */\r
   public void setPazpar2Url(String url) {\r
     searchClient = pz2Client;\r
     setServiceType(SERVICE_TYPE_PZ2);\r
     setServiceUrl(url);\r
   }\r
   \r
+  /**\r
+   * Returns the Pazpar2 URL currently defined for servicing requests\r
+   * \r
+   */  \r
   public String getPazpar2Url() {\r
     if (isPazpar2Service()) {\r
       return pz2Client.getServiceUrl();\r
@@ -441,6 +462,12 @@ public class Pz2Service implements StateListener, Configurable, Serializable {
     }\r
   }\r
 \r
+  /**\r
+   * Sets the URL to be used by the currently selected search client \r
+   * when running requests. \r
+   * \r
+   * @param url\r
+   */\r
   public void setServiceUrl(String url) {\r
     if (url!=null && searchClient != null && !url.equals(searchClient.getServiceUrl())) {\r
       pzreq.getRecord().removeParametersInState();\r
@@ -450,6 +477,10 @@ public class Pz2Service implements StateListener, Configurable, Serializable {
     }    \r
   }\r
   \r
+  /**\r
+   * Gets the currently selected URL used for executing requests. \r
+   * @return\r
+   */\r
   public String getServiceUrl() {\r
     return (searchClient!=null ? searchClient.getServiceUrl() : "");\r
   }\r
index 2956afc..ace35b1 100644 (file)
@@ -41,6 +41,12 @@ import com.indexdata.mkjsf.pazpar2.commands.sp.AuthCommand;
 import com.indexdata.mkjsf.pazpar2.data.CommandError;\r
 import com.indexdata.mkjsf.utils.Utils;\r
 \r
+/**\r
+ * Search client handling Service Proxy requests. \r
+ *   \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class ServiceProxyClient implements SearchClient {\r
     \r
   private static final long serialVersionUID = -4031644009579840277L;\r
@@ -165,6 +171,9 @@ public class ServiceProxyClient implements SearchClient {
     return handler.getReasonPhrase();\r
   }\r
 \r
+  /**\r
+   * Does nothing in Service Proxy context\r
+   */\r
   @Override\r
   public void setSearchCommand(Pazpar2Command command) {\r
     // Do nothing, Service Proxy is handling this    \r
@@ -184,11 +193,17 @@ public class ServiceProxyClient implements SearchClient {
     return clone;\r
   }\r
 \r
+  /**\r
+   * Returns default configuration parameters for the client.\r
+   */\r
   @Override\r
   public Map<String, String> getDefaults() {    \r
     return new HashMap<String,String>();\r
   }\r
 \r
+  /**\r
+   * Returns the configuration name of the client\r
+   */\r
   @Override\r
   public String getModuleName() {\r
     return MODULENAME;\r
@@ -251,6 +266,9 @@ public class ServiceProxyClient implements SearchClient {
     return commandResponse;    \r
   }\r
   \r
+  /**\r
+   * Sets the URL of the Service Proxy that should service requests. \r
+   */\r
   public void setServiceUrl (String url) {    \r
     serviceUrl = url;\r
   }\r
@@ -264,6 +282,9 @@ public class ServiceProxyClient implements SearchClient {
     return serviceUrl;\r
   }\r
 \r
+  /**\r
+   * Returns true if a Service Proxy URL was defined yet.\r
+   */\r
   @Override\r
   public boolean hasServiceUrl() {\r
     return serviceUrl != null && serviceUrl.length()>0;\r
index 02a2307..786ae4c 100644 (file)
@@ -3,7 +3,7 @@ package com.indexdata.mkjsf.pazpar2.commands;
 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>bytarget</code> command\r
+ * Represents a Pazpar2 <code>bytarget</code> command, can be accessed by <code>pzreq.bytarget</code>\r
  * \r
  * @author Niels Erik\r
  *\r
index e98a5cf..ab2e5a1 100644 (file)
@@ -6,7 +6,7 @@ import com.indexdata.mkjsf.pazpar2.commands.sp.InitCommandSp;
 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>init</code> command.\r
+ * Represents a Pazpar2 <code>init</code> command, can be accessed by <code>pzreq.init</code>\r
  * \r
  * @author Niels Erik\r
  *\r
index 6d3d024..a695746 100644 (file)
@@ -3,7 +3,7 @@ package com.indexdata.mkjsf.pazpar2.commands;
 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>ping</code> command.\r
+ * Represents a Pazpar2 <code>ping</code> command, , can be accessed by <code>pzreq.init</code>\r
  * \r
  * @author Niels Erik\r
  *\r
index d453b75..8cc039d 100644 (file)
@@ -12,7 +12,7 @@ import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;
 import com.indexdata.mkjsf.pazpar2.data.ResponseParser;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>record</code> command. \r
+ * Represents a Pazpar2 <code>record</code> command, can be accessed by <code>pzreq.record</code>\r
  * \r
  * @author Niels Erik\r
  *\r
@@ -27,6 +27,14 @@ public class RecordCommand extends Pazpar2Command implements ServiceProxyCommand
     super("record");\r
   }\r
   \r
+  /**\r
+   * Special handling of record responses since they come in three distinctly different ways\r
+   * <ol>\r
+   *  <li>As a regular &lt;record&gt; document</li>\r
+   *  <li>In arbitrary XML format, in case of an offset request to get the native format</li>\r
+   *  <li>In binary (non XML) format</li>\r
+   * </ol> \r
+   */\r
   @Override\r
   public ResponseDataObject run() {\r
     ResponseDataObject responseObject = null;\r
index 59c1370..f2c53da 100644 (file)
@@ -13,7 +13,7 @@ import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>search</code> command. \r
+ * Represents a Pazpar2 <code>search</code> command, can be accessed by <code>pzreq.search</code> \r
  * \r
  * @author Niels Erik\r
  *\r
index e2b8d29..ebef90f 100644 (file)
@@ -3,7 +3,7 @@ package com.indexdata.mkjsf.pazpar2.commands;
 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>settings</code> command. \r
+ * Represents a Pazpar2 <code>settings</code> command, can be accessed by <code>pzreq.settings</code>\r
  * \r
  * @author Niels Erik\r
  *\r
index a24172a..04a87d8 100644 (file)
@@ -4,7 +4,7 @@ import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;
 \r
 \r
 /**\r
- * Represents a Pazpar2 <code>show</code> command. \r
+ * Represents a Pazpar2 <code>show</code> command, can be accessed by <code>pzreq.show</code> \r
  * \r
  * @author Niels Erik\r
  *\r
index b415ec4..5229060 100644 (file)
@@ -3,7 +3,7 @@ package com.indexdata.mkjsf.pazpar2.commands;
 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>stat</code> command. \r
+ * Represents a Pazpar2 <code>stat</code> command, can be accessed by <code>pzreq.state</code>\r
  * \r
  * @author Niels Erik\r
  *\r
index adb84a3..6f3c662 100644 (file)
@@ -3,7 +3,7 @@ package com.indexdata.mkjsf.pazpar2.commands;
 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
 \r
 /**\r
- * Represents a Pazpar2 <code>termlist</code> command. \r
+ * Represents a Pazpar2 <code>termlist</code> command, can be accessed by <code>pzreq.termlist</code> \r
  * \r
  * @author Niels Erik\r
  *\r
index 67780e5..75d46aa 100644 (file)
@@ -10,7 +10,7 @@ import com.indexdata.mkjsf.pazpar2.data.ResponseParser;
 import com.indexdata.mkjsf.pazpar2.data.sp.SpResponseDataObject;\r
 \r
 /**\r
- * Represents a Service Proxy <code>auth</code> command. \r
+ * Represents a Service Proxy <code>auth</code> command, can be accessed by <code>pzreq.sp.auth</code> \r
  * \r
  * <p>Authenticates a user against a Pazpar2 Service Proxy</p>\r
  * \r
index 756f85c..e94ce26 100644 (file)
@@ -7,7 +7,7 @@ import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;
 import com.indexdata.mkjsf.pazpar2.data.sp.CategoriesResponse;\r
 \r
 /**\r
- * Represents a Service Proxy <code>categories</code> command.\r
+ * Represents a Service Proxy <code>categories</code> command, can be accessed by <code>pzreq.sp.categories</code>\r
  * \r
  * <p>Retrieves target categories available to the current Service Proxy user.</p> \r
  * <p>Target categories can be used to limit a search to resources tagged with the given \r
index e1b94d8..0b40381 100644 (file)
@@ -6,7 +6,8 @@ import com.indexdata.mkjsf.pazpar2.commands.CommandParameter;
 import com.indexdata.mkjsf.pazpar2.commands.RecordCommand;\r
 \r
 /**\r
- * Service Proxy extensions to the Papzar2 <code>record</code> command. \r
+ * Service Proxy extensions to the Papzar2 <code>record</code> command, \r
+ * these parameters being accessible by <code>pzreq.record.sp.[parameter]</code>\r
  * \r
  * @author Niels Erik\r
  *\r
diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/ByTarget.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/ByTarget.java
deleted file mode 100644 (file)
index b98bf1a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.indexdata.mkjsf.pazpar2.data;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
-import com.indexdata.mkjsf.pazpar2.data.Target;\r
-\r
-public class ByTarget extends ResponseDataObject {\r
-\r
-  private static final long serialVersionUID = 3960644950805644518L;\r
-  \r
-  public List<Target> getTargets() {\r
-    List<Target> targets = new ArrayList<Target>();\r
-    if (getElements("target") != null) {\r
-      for (ResponseDataObject element : getElements("target")) {\r
-        targets.add((Target)element);\r
-      }\r
-    }\r
-    return targets;\r
-  }\r
-}\r
diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/ByTargetResponse.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/ByTargetResponse.java
new file mode 100644 (file)
index 0000000..f69f21b
--- /dev/null
@@ -0,0 +1,28 @@
+package com.indexdata.mkjsf.pazpar2.data;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
+import com.indexdata.mkjsf.pazpar2.data.Target;\r
+\r
+/**\r
+ * Data from the <code>bytarget</code> command, can be accessed by <code>pzresp.byTarget</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
+public class ByTargetResponse extends ResponseDataObject {\r
+\r
+  private static final long serialVersionUID = 3960644950805644518L;\r
+  \r
+  public List<Target> getTargets() {\r
+    List<Target> targets = new ArrayList<Target>();\r
+    if (getElements("target") != null) {\r
+      for (ResponseDataObject element : getElements("target")) {\r
+        targets.add((Target)element);\r
+      }\r
+    }\r
+    return targets;\r
+  }\r
+}\r
index 7b6885a..a50dbc8 100644 (file)
@@ -6,6 +6,12 @@ import java.util.List;
 import com.indexdata.mkjsf.pazpar2.data.Location;\r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>show</code> command, child object of ShowResponse, can be accessed by <code>pzresp.show.hits</code>\r
+ *  \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class Hit extends ResponseDataObject {\r
 \r
   \r
index 76eda96..370e949 100644 (file)
@@ -1,5 +1,11 @@
 package com.indexdata.mkjsf.pazpar2.data;\r
 \r
+/**\r
+ * Data from the <code>init</code> command, can be accessed by <code>pzresp.init</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class InitResponse extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = -1479775157276901600L;\r
index 19b1dcf..8cbfb90 100644 (file)
@@ -2,7 +2,12 @@ package com.indexdata.mkjsf.pazpar2.data;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
-\r
+/**\r
+ * Data from the <code>show</code> command, child object of Hit\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class Location extends ResponseDataObject {\r
     \r
   private static final long serialVersionUID = -1386527442857478225L;\r
diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordOffsetResponse.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/RecordOffsetResponse.java
deleted file mode 100644 (file)
index d8920b0..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.indexdata.mkjsf.pazpar2.data;\r
-\r
-public class RecordOffsetResponse extends ResponseDataObject {\r
-\r
-  private static final long serialVersionUID = -601620728296476450L;\r
-\r
-  \r
-}\r
index b1de2da..85fdc9a 100644 (file)
@@ -6,6 +6,12 @@ import java.util.List;
 import com.indexdata.mkjsf.pazpar2.data.Location;\r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>record</code> command, can be accessed by <code>pzresp.record</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class RecordResponse extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = 6682722004285796002L;\r
index 535f859..5e2d639 100644 (file)
@@ -9,6 +9,12 @@ import org.apache.log4j.Logger;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Parent class of all response data objects, with generic methods for retrieving data elements\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class ResponseDataObject implements Serializable {\r
 \r
   Logger logger = Logger.getLogger(ResponseDataObject.class);\r
@@ -38,6 +44,12 @@ public class ResponseDataObject implements Serializable {
     return attributes.get(name);\r
   }\r
     \r
+  /**\r
+   * Used by the response XML parser to add child element objects to a parent element object\r
+   * \r
+   * @param name of the child element\r
+   * @param value the child object itself\r
+   */\r
   public void addElement (String name, ResponseDataObject value) {    \r
     if (elements.containsKey(name)) {\r
       elements.get(name).add(value);\r
@@ -74,6 +86,12 @@ public class ResponseDataObject implements Serializable {
     }\r
   }\r
   \r
+  /**\r
+   * Returns string array with the values of the named element(s)\r
+   *   \r
+   * @param name of the child object(s) to retrieve value(s) from\r
+   * @return\r
+   */\r
   public String[] getValueArray (String name) {\r
     List<ResponseDataObject> elements = getElements(name);\r
     String[] valueArray = {};\r
index 179424d..56e4218 100644 (file)
@@ -23,6 +23,12 @@ import com.indexdata.mkjsf.pazpar2.data.sp.AuthResponse;
 import com.indexdata.mkjsf.pazpar2.data.sp.CategoriesResponse;\r
 import com.indexdata.mkjsf.pazpar2.data.sp.TargetCategory;\r
 \r
+/**\r
+ * Parses the XML stored in ClientCommandResponses and builds ResponseDataObjects from it.\r
+ *  \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class ResponseParser extends DefaultHandler {\r
 \r
   private XMLReader xmlReader = null;\r
@@ -99,7 +105,7 @@ public class ResponseParser extends DefaultHandler {
     } else if (localName.equals("record")) {\r
       currentElement = new RecordResponse();            \r
     } else if (localName.equals("bytarget")) {\r
-      currentElement = new ByTarget();      \r
+      currentElement = new ByTargetResponse();      \r
     } else if (localName.equals("target")) {\r
       currentElement = new Target();\r
     } else if (localName.equals("stat")) {\r
index 1397023..90e7f8d 100644 (file)
@@ -20,6 +20,12 @@ import com.indexdata.mkjsf.pazpar2.data.sp.SpResponseDataObject;
 import com.indexdata.mkjsf.pazpar2.data.sp.SpResponses;\r
 import com.indexdata.mkjsf.utils.Utils;\r
 \r
+/**\r
+ * Provides references to all current data objects and has general methods for clearing certain response data.\r
+ *  \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 @SessionScoped @Named\r
 public class Responses implements Serializable {\r
     \r
@@ -81,17 +87,25 @@ public class Responses implements Serializable {
     return error;         \r
   }\r
   \r
+  /**\r
+   * Empties all data objects populated after a search (including the search response itself)\r
+   * \r
+   */\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("bytarget", new ByTargetResponse());\r
     dataObjects.put("record", new RecordResponse());\r
     dataObjects.put("search", new SearchResponse());\r
     getSp().resetSearchAndBeyond(false);\r
   }\r
   \r
+  /**\r
+   * Empties all data objects populated after a service was initialized, including the init response itself\r
+   * but excluding a possible auth response\r
+   */\r
   public void resetInitAndBeyond () {\r
     dataObjects.put("init", new InitResponse());        \r
     resetSearchAndBeyond();\r
@@ -130,8 +144,8 @@ public class Responses implements Serializable {
     return (getTermLists().getTermList(facet).getTerms());\r
   }\r
   \r
-  public ByTarget getByTarget() {\r
-    return ((ByTarget) dataObjects.get("bytarget"));\r
+  public ByTargetResponse getByTarget() {\r
+    return ((ByTargetResponse) dataObjects.get("bytarget"));\r
   }\r
 \r
   public ResponseDataObject getResponseObject (String name) {\r
index 76a41b1..261c08a 100644 (file)
@@ -1,5 +1,11 @@
 package com.indexdata.mkjsf.pazpar2.data;\r
 \r
+/**\r
+ * Data from the <code>search</code> command (a status message), can be accessed by <code>pzresp.search</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class SearchResponse extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = -3320013021497018972L;\r
index c845c3a..a8d10c8 100644 (file)
@@ -6,6 +6,12 @@ import java.util.List;
 import com.indexdata.mkjsf.pazpar2.data.Hit;\r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>show</code> command, can be accessed by <code>pzresp.show</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class ShowResponse extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = 7103554232106330370L;\r
index b5acf0f..4f44f77 100644 (file)
@@ -2,6 +2,12 @@ package com.indexdata.mkjsf.pazpar2.data;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>stat</code> command, can be accessed by <code>pzresp.stat</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class StatResponse extends ResponseDataObject {\r
   \r
   private static final long serialVersionUID = -6578979787689458761L;\r
index 8942662..b82f74b 100644 (file)
@@ -2,6 +2,12 @@ package com.indexdata.mkjsf.pazpar2.data;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>bytarget</code> command, child object of ByTargetResponse\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class Target extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = 3343881183545520108L;\r
index b4c4fb3..d1755c7 100644 (file)
@@ -8,7 +8,12 @@ import org.apache.log4j.Logger;
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 import com.indexdata.mkjsf.pazpar2.data.TermListResponse;\r
 import com.indexdata.mkjsf.pazpar2.data.TermResponse;\r
-\r
+/**\r
+ * Data from the <code>termlist</code> command, child object of TermListsResponse\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class TermListResponse extends ResponseDataObject {\r
 \r
   private static Logger logger = Logger.getLogger(TermListResponse.class);\r
index 8558e32..dd0ffa6 100644 (file)
@@ -6,6 +6,12 @@ import java.util.Map;
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 import com.indexdata.mkjsf.pazpar2.data.TermListResponse;\r
 \r
+/**\r
+ * Data from the <code>termlist</code> command, can be accessed by <code>pzresp.termLists</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class TermListsResponse extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = -1370643625715834978L;\r
index 9c3ddb1..3a0c2d8 100644 (file)
@@ -2,6 +2,12 @@ package com.indexdata.mkjsf.pazpar2.data;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>termlist</code> command, child object of TermListResponse\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class TermResponse extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = -8323959763575180678L;\r
index c244516..a7e6f36 100644 (file)
@@ -2,6 +2,12 @@ package com.indexdata.mkjsf.pazpar2.data;
 \r
 import com.indexdata.mkjsf.pazpar2.data.TermResponse;\r
 \r
+/**\r
+ * Data from the <code>termlist</code> command, child object of TermListResponse\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class TermXTargetResponse extends TermResponse {\r
 \r
   private static final long serialVersionUID = 5201902652960804977L;\r
@@ -10,19 +16,19 @@ public class TermXTargetResponse extends TermResponse {
     return getOneElement("id").getValue();\r
   }\r
   public int getApproximation () {\r
-    return Integer.parseInt(getOneElement("approximation").getValue());\r
+    return Integer.parseInt(getOneValue("approximation"));\r
   }\r
   public int getRecords () {\r
-    return Integer.parseInt(getOneElement("records").getValue());\r
+    return Integer.parseInt(getOneValue("records"));\r
   }\r
   public int getFiltered () {\r
-    return Integer.parseInt(getOneElement("filtered").getValue());\r
+    return Integer.parseInt(getOneValue("filtered"));\r
   }\r
   public String getState () {\r
-    return getOneElement("state").getValue();\r
+    return getOneValue("state");\r
   }\r
   public String getDiagnostic () {\r
-    return getOneElement("diagnostic").getValue();\r
+    return getOneValue("diagnostic");\r
   }\r
 \r
 }\r
diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/package-info.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/package-info.java
new file mode 100644 (file)
index 0000000..d217761
--- /dev/null
@@ -0,0 +1,18 @@
+/**\r
+ * Pazpar2 responses produced by Pazpar2 commands are parsed by the\r
+ * ResponseParser found in this package, the output being response data\r
+ * objects accessible to the UI. \r
+ * \r
+ * <p>The most recent responses from each command are accessible to the UI\r
+ * through the class Responses which is exposed to the UI as <code>pzresp</code></p>\r
+ * \r
+ * <p>Examples:</p>\r
+ * <ul>\r
+ *  <li><code>pzresp.show.hits<code> returns a list of hits from the most recent show command</li>\r
+ *  <li><code>pzresp.show.hits.[0]</code> returns the first hit</li>\r
+ *  <li><code>pzresp.show.hits.[0].author</code> returns the author attribute of the first hit</li>\r
+ *  <li><code>pzresp.show.hits.[0].getOneValue("my-hit-field")</code> returns an arbitrary attribute of the data object</li>\r
+ * </ul>  \r
+ * \r
+ */\r
+package com.indexdata.mkjsf.pazpar2.data;
\ No newline at end of file
index 334bd15..8b8351c 100644 (file)
@@ -1,5 +1,11 @@
 package com.indexdata.mkjsf.pazpar2.data.sp;\r
 \r
+/**\r
+ * Data from the <code>auth</code> command, can be accessed by <code>pzresp.sp.auth</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class AuthResponse extends SpResponseDataObject  {\r
 \r
   private static final long serialVersionUID = 8006774126022849936L;\r
index 2f7ede9..efd2d5b 100644 (file)
@@ -7,6 +7,12 @@ import javax.enterprise.context.SessionScoped;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>categories</code> command, can be accessed by <code>pzresp.sp.categories</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 @SessionScoped\r
 public class CategoriesResponse extends SpResponseDataObject  {\r
 \r
index fd00a23..56f5606 100644 (file)
@@ -2,6 +2,12 @@ package com.indexdata.mkjsf.pazpar2.data.sp;
 \r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 \r
+/**\r
+ * Data from the <code>categories</code> command, can be accessed by <code>pzresp.sp.categories.targetCategories</code>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
 public class TargetCategory extends ResponseDataObject {\r
 \r
   private static final long serialVersionUID = -3027515807117682584L;\r
index 640b810..b8e931a 100644 (file)
@@ -1,9 +1,9 @@
 /**\r
  * Overall control and execution of search logic. \r
  * <p>\r
- * Classes in this package selects a service type and controls and performs \r
- * the actual execution of commands against the selected service, eventually producing  \r
- * ClientCommandResponses for further processing elsewhere.  \r
+ * Classes in this package are used for defining a service type, setting a service URL\r
+ * and controlling and executing commands against the selected service, \r
+ * eventually producing ClientCommandResponses for further processing elsewhere.  \r
  * </p>    \r
  */\r
 package com.indexdata.mkjsf.pazpar2;
\ No newline at end of file