- \r
- \r
- /**\r
- * Adds a single target filter to restrict the current query by, \r
- * then executes the current search.\r
- * \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 setSingleTargetFilter (String targetId, String targetName) { \r
- if (hasSingleTargetFilter(new SingleTargetFilter(targetId,targetName))) {\r
- logger.debug("Already using target filter " + this.singleTargetFilter.getFilterExpression());\r
- } else { \r
- logger.debug("Setting new single target filter for [" + targetName + "]");\r
- this.singleTargetFilter = new SingleTargetFilter(targetId,targetName);\r
- setParameter(new CommandParameter("filter","=",this.singleTargetFilter.getFilterExpression())); \r
- } \r
- }\r
-\r
- public SingleTargetFilter getSingleTargetFilter () {\r
- logger.debug("request to get the current single target filter " + singleTargetFilter);\r
- return singleTargetFilter;\r
- }\r
- \r
- /**\r
- * Removes the current target filter from the search\r
- * \r
- */\r
- public String removeSingleTargetFilter () {\r
- logger.debug("Removing target filter " + singleTargetFilter.getFilterExpression());\r
- this.singleTargetFilter = null;\r
- removeParameter("filter");\r
- return null;\r
- }\r
- \r
- /**\r
- * \r
- * @return The target filter set on the current search command\r
- */\r
- public boolean hasSingleTargetFilter() {\r
- logger.debug("Checking if a single target filter is set: " + (singleTargetFilter != null));\r
- return singleTargetFilter != null; \r
- }\r
- \r
- /**\r
- * Resolves if the current search command has a target filter - to\r
- * be used by the UI for conditional rendering of target filter info.\r
- * \r
- * @return true if the current search command is limited by a target \r
- * filter\r
- */\r
- protected boolean hasSingleTargetFilter(SingleTargetFilter targetFilter) {\r
- logger.debug("Checking if target filter for [" + targetFilter.getTargetName() + "] is set.");\r
- return hasSingleTargetFilter() && targetFilter.equals(this.singleTargetFilter);\r
- }\r
- \r