Moves record parameter settings from pz2 bean to record cmd
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / Pz2Interface.java
index 8f6153a..d33b114 100644 (file)
@@ -4,7 +4,7 @@ import java.io.Serializable;
 import java.util.List;\r
 \r
 import com.indexdata.pz2utils4jsf.controls.ResultsPager;\r
-import com.indexdata.pz2utils4jsf.pazpar2.TargetFilter;\r
+import com.indexdata.pz2utils4jsf.errors.ErrorInterface;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.ByTarget;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.RecordResponse;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.ShowResponse;\r
@@ -51,72 +51,36 @@ public interface Pz2Interface extends Serializable {
    */\r
   public String update (String commands);\r
   \r
-  /**\r
-   * Sets a query to used by the next search command\r
-   * \r
-   * @param query a query on pazpar2 query syntax\r
-   * \r
-   */\r
-  public void setQuery (String query);\r
-  \r
-  /**\r
-   * Gets the current query  \r
-   * @return a pazpar2 query string\r
-   */\r
-  public String getQuery ();\r
+    \r
+  public void setFilter(String filterExpression);\r
   \r
-  /**\r
-   * Sets a facet to limit the current query by,\r
-   * then executes the search \r
-   * \r
-   * @param facetKey  i.e.  'au' for author\r
-   * @param term  i.e. 'Dickens, Charles'\r
-   */\r
-  public void setFacet(String facetKey, String term);\r
+  public String getFilter();\r
+\r
   \r
   /**\r
-   * Removes a facet set by setFacet(...), then executes\r
-   * the search.\r
+   * Adds a single target filter to restrict the current query by, \r
+   * then executes the current search.\r
    * \r
-   * Will not remove facets set by setFacetOnQuery(...)\r
-   *  \r
-   * @param facetKey i.e. 'au' for author\r
-   * @param term i.e. 'Dickens, Charles'\r
-   */\r
-  public void removeFacet (String facetKey, String term);\r
-  \r
-  /**\r
-   * Sets a facet to limit the current query by. The \r
-   * facet is appended to the query string itself (rather\r
-   * as a separately managed entity. It will thus appear\r
-   * in a query field as retrieved by getQuery(). It will\r
-   * not be removed by removeFacet(...)\r
-   * \r
-   * @param facetKey  i.e. 'au' for author\r
-   * @param term i.e. 'Dickens, Charles'\r
-   */\r
-  public void setFacetOnQuery(String facetKey, String term);\r
-  \r
-  /**\r
-   * Adds a target filter to limit the current query by, then\r
-   * executes the current search.\r
+   * This is a special case of the general setFilter function, \r
+   * allowing to associate a descriptive target name with the \r
+   * filter expression for display in UI. \r
    * \r
    * @param targetId pazpar2's ID for the target to limit by\r
    * @param targetName a descriptive name for the target\r
    */\r
-  public void setTargetFilter (String targetId, String targetName);\r
+  public void setSingleTargetFilter (String targetId, String targetName);\r
   \r
   /**\r
    * Removes the current target filter from the search\r
    * \r
    */\r
-  public void removeTargetFilter ();\r
+  public void removeSingleTargetFilter ();\r
   \r
   /**\r
    * \r
    * @return The target filter set on the current search command\r
    */\r
-  public TargetFilter getTargetFilter();\r
+  public SingleTargetFilter getSingleTargetFilter();\r
   \r
   /**\r
    * Resolves if the current search command has a target filter - to\r
@@ -125,67 +89,8 @@ public interface Pz2Interface extends Serializable {
    * @return true if the current search command is limited by a target \r
    * filter\r
    */\r
-  public boolean hasTargetFilter();\r
-  \r
-  /**\r
-   * Sets the ordering of records (hits) in the 'show' display object\r
-   */\r
-  \r
-  /**\r
-   * Sets the sort order for results, the updates the 'show' data object\r
-   * from pazpar2. Set valid sort options in the documentation for pazpar2.\r
-   * \r
-   * The parts of the UI that display 'show' data should be rendered following\r
-   * this request.\r
-   * \r
-   * @param sortOption\r
-   */\r
-  public void setSort(String sortOption);\r
-  \r
-  /**\r
-   * Retrieves the current sort order for results\r
-   * @return sort order - i.e. 'relevance'\r
-   */\r
-  public String getSort();\r
-  \r
-  /**\r
-   * Sets the number of records that pazpar2 should show at a time. Is \r
-   * followed by an update of the show data object from pazpar2.  \r
-   * \r
-   * To be used by the UI for paging. After setting page size the parts\r
-   * of the UI that displays 'show' data should be rendered. \r
-   * \r
-   * @param perPageOption i.e. 10, default is 20.\r
-   */\r
-  public void setPageSize (int perPageOption);\r
-  \r
-  /**\r
-   * Retrieves the currently defined number of items to show at a time\r
-   * \r
-   * @return number of result records that will be shown from pazpar2\r
-   */\r
-  public int getPageSize();\r
-  \r
-  /**\r
-   * Sets the first record to show - starting at record '0'. After setting\r
-   * first record number, the 'show' data object will be updated from pazpar2,\r
-   * and the parts of the UI displaying show data should be re-rendered.\r
-   * \r
-   * To be used by the UI for paging.\r
-   * \r
-   * @param start first record to show\r
-   */\r
-  public void setStart (int start);\r
-  \r
-  /**\r
-   * Retrieves the sequence number of the record that pazpaz2 will return as\r
-   * the first record in 'show'\r
-   * \r
-   * @return sequence number of the first record to be shown (numbering starting at '0')\r
-   * \r
-   */\r
-  public int getStart();\r
-  \r
+  public boolean hasSingleTargetFilter();\r
+          \r
   /**\r
    * Will retrieve or remove the record with the given recid from memory.\r
    * \r
@@ -204,7 +109,7 @@ public interface Pz2Interface extends Serializable {
    * @return pazpar2 'show' response object\r
    */\r
   public ShowResponse getShow();\r
-  \r
+    \r
   /**\r
    * Returns the 'stat' data as retrieved from pazpar2 by the most \r
    * recent update request\r
@@ -298,4 +203,40 @@ public interface Pz2Interface extends Serializable {
    * @param key corresponding to browsers hash string\r
    */\r
   public void setCurrentStateKey(String key);\r
+  \r
+  /** \r
+   * @return true if any errors encountered so far\r
+   */\r
+  public boolean hasErrors();\r
+  \r
+  /**\r
+   * \r
+   * @return true if errors encountered during execution of commands\r
+   */\r
+  public boolean hasCommandErrors();\r
+  \r
+  /**\r
+   * \r
+   * @return true if errors encountered when configuring the service\r
+   */\r
+  public boolean hasConfigurationErrors();\r
+  \r
+  /**\r
+   * Returns one (of possibly multiple) errors encountered during execution of commands\r
+   * Will prefer to show the search errors - if any - as the search command is usually \r
+   * executed first.  \r
+   * \r
+   * @return\r
+   */\r
+  public ErrorInterface getCommandError();\r
+  \r
+  /**\r
+   * Returns all errors encountered during configuration of the application, in particular\r
+   * the Pazpar2 client. \r
+   * \r
+   * @return\r
+   */\r
+  public List<ErrorInterface> getConfigurationErrors();\r
+\r
+     \r
 }\r