Author: sshafroi
Date: 2008-04-01 12:42:22 +0200 (Tue, 01 Apr 2008)
New Revision: 6323
Modified:
branches/2.16/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/FastCommandConfig.java
branches/2.16/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java
Log:
SEARCH-4403 Implement setters for all configurable variables used in the search
mode config files.
Added some missing setters.
Modified:
branches/2.16/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/FastCommandConfig.java
===================================================================
---
branches/2.16/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/FastCommandConfig.java
2008-03-31 16:21:45 UTC (rev 6322)
+++
branches/2.16/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/FastCommandConfig.java
2008-04-01 10:42:22 UTC (rev 6323)
@@ -106,11 +106,13 @@
}
/**
- *
- * @param collectionName
+ * @param collectionArray
+ * Add collections to this configuration.
*/
- public void addCollection(final String collectionName) {
- collections.add(collectionName);
+ public void addCollections(final String[] collectionArray) {
+ for (String string : collectionArray) {
+ collections.add(string);
+ }
}
/**
@@ -178,14 +180,16 @@
}
/**
- *
- * @param parameterName
- * @param parameterValue
+ * @param parameters
+ * Add search parameters
*/
- public void setParameter(final String parameterName, final String
parameterValue) {
- searchParameters.put(parameterName, parameterValue);
+ public void setSearchParameters(final String[] parameters) {
+ for (String parameter : parameters) {
+ final String[] paramSplit = parameter.split("=");
+ searchParameters.put(paramSplit[0].trim(), paramSplit[1].trim());
+ }
}
-
+
/**
*
* @return
@@ -531,24 +535,17 @@
// collections
if (element.getAttribute("collections").length() > 0) {
- final String[] collections =
element.getAttribute("collections").split(",");
- for (String collection : collections) {
- addCollection(collection);
- }
+ addCollections(element.getAttribute("collections").split(","));
}else if(null != fscInherit){
collections.addAll(fscInherit.getCollections());
}
-
+
// search parameters
if(null != fscInherit){
searchParameters.putAll(fscInherit.getSearchParameters());
}
if (element.getAttribute("search-parameters").length() > 0) {
- final String[] parameters =
element.getAttribute("search-parameters").split(",");
- for (String parameter : parameters) {
- final String[] paramSplit = parameter.split("=");
- setParameter(paramSplit[0], paramSplit[1]);
- }
+
setSearchParameters(element.getAttribute("search-parameters").split(","));
}
AbstractDocumentFactory.fillBeanProperty(this, inherit, "filter",
ParseType.String, element, "");
Modified:
branches/2.16/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java
===================================================================
---
branches/2.16/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java
2008-03-31 16:21:45 UTC (rev 6322)
+++
branches/2.16/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java
2008-04-01 10:42:22 UTC (rev 6323)
@@ -136,11 +136,38 @@
this.name = name;
}
+ /**
+ * Same as setName
+ *
+ * @param id Name for this configuration.
+ */
+ public final void setId(final String id) {
+ this.name = id;
+ }
+
/** [EMAIL PROTECTED] **/
public final void addResultField(final String... fieldName) {
resultFields.put(fieldName[0].trim(), (fieldName.length >1 ?
fieldName[1] : fieldName[0]).trim());
}
+ /**
+ * @param resultField
+ * String seperated with ' AS '.
+ */
+ private final void addResultField(final String resultField) {
+ addResultField(resultField.trim().split(" AS "));
+ }
+
+ /**
+ * @param resultFields
+ * Result fields to add.
+ */
+ public final void addResultFields(final String[] resultFields) {
+ for (String string : resultFields) {
+ addResultField(string);
+ }
+ }
+
/** [EMAIL PROTECTED] **/
public final Map<String,String> getResultFields() {
return Collections.unmodifiableMap(resultFields);
@@ -229,12 +256,27 @@
return getClass().getSimpleName() + " [" + name + "]";
}
+ /**
+ * @param fieldAndFilter
+ * String containing name of field and filter seperated with '
AS '.
+ */
+ private void setFieldFilter(final String fieldAndFilter) {
+ String parsed[] = fieldAndFilter.trim().split(" AS ");
+ String field = parsed[0].trim();
+ fieldFilters.put(field, (parsed.length > 1) ? parsed[1].trim() :
field);
+ }
/**
- * @param field
+ * Syntax: field-filters="size, nyhetskilde AS newssource"
+ *
+ * Just "size" will be the same as writing "size AS size"
+ *
+ * @param fieldFilters Array of field filters.
*/
- public void addFieldFilter(final String field, final String filter){
- fieldFilters.put(field, filter);
+ public void setFieldFilters(final String[] fieldFilters) {
+ for (String string : fieldFilters) {
+ setFieldFilter(string);
+ }
}
/**
@@ -279,15 +321,8 @@
}
if (element.hasAttribute("field-filters")) {
if (element.getAttribute("field-filters").length() > 0) {
- final String[] fieldFilters =
element.getAttribute("field-filters").split(",");
- for (String fieldFilter : fieldFilters) {
- if (fieldFilter.contains(" AS ")) {
- final String[] ff = fieldFilter.split(" AS ");
- addFieldFilter(ff[0].trim(), ff[1].trim());
- } else {
- addFieldFilter(fieldFilter, fieldFilter);
- }
- }
+
setFieldFilters(element.getAttribute("field-filters").split(","));
+
} else {
// If attribute is present and empty, clear the field filters.
This creates an option
// for child commands to not inherit field filters.
@@ -302,10 +337,7 @@
resultFields.putAll(inherit.getResultFields());
}
if (element.getAttribute("result-fields").length() > 0) {
- final String[] resultFields =
element.getAttribute("result-fields").split(",");
- for (String resultField : resultFields) {
- addResultField(resultField.trim().split(" AS "));
- }
+ addResultFields(element.getAttribute("result-fields").split(","));
}
AbstractDocumentFactory.fillBeanProperty(this, inherit,
"resultsToReturn", ParseType.Int, element, "-1");
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits