Author: ajamtli
Date: 2006-05-04 15:13:27 +0200 (Thu, 04 May 2006)
New Revision: 2854
Modified:
trunk/src/java/no/schibstedsok/front/searchportal/configuration/SearchModeFactory.java
Log:
Bugfix: sorting result handlers and query transformers according to modes.xml.
Modified:
trunk/src/java/no/schibstedsok/front/searchportal/configuration/SearchModeFactory.java
===================================================================
---
trunk/src/java/no/schibstedsok/front/searchportal/configuration/SearchModeFactory.java
2006-05-03 20:32:21 UTC (rev 2853)
+++
trunk/src/java/no/schibstedsok/front/searchportal/configuration/SearchModeFactory.java
2006-05-04 13:13:27 UTC (rev 2854)
@@ -436,28 +436,41 @@
}
// query transformers
- final NodeList qtNodeList =
commandE.getElementsByTagName("query-transformers");
+ NodeList qtNodeList =
commandE.getElementsByTagName("query-transformers");
final Element qtRootElement = (Element) qtNodeList.item(0);
if(qtRootElement != null){
- for(QueryTransformerTypes qtType :
QueryTransformerTypes.values()){
- final NodeList qtList =
qtRootElement.getElementsByTagName(qtType.getXmlName());
- for(int i = 0 ; i < qtList.getLength(); ++i){
- final Element qt = (Element) qtList.item(i);
-
sc.addQueryTransformer(qtType.parseQueryTransformer(qt));
+ qtNodeList = qtRootElement.getChildNodes();
+
+ for(int i = 0; i < qtNodeList.getLength(); i++) {
+ final Node node = qtNodeList.item(i);
+ if (!(node instanceof Element)) {
+ continue;
}
+ final Element qt = (Element) node;
+ for (QueryTransformerTypes qtType :
QueryTransformerTypes.values()) {
+ if (qt.getTagName().equals(qtType.getXmlName())) {
+
sc.addQueryTransformer(qtType.parseQueryTransformer(qt));
+ }
+ }
}
}
// result handlers
- final NodeList rhNodeList =
commandE.getElementsByTagName("result-handlers");
+ NodeList rhNodeList =
commandE.getElementsByTagName("result-handlers");
final Element rhRootElement = (Element) rhNodeList.item(0);
if(rhRootElement != null){
- for(ResultHandlerTypes rhType :
ResultHandlerTypes.values()){
- final NodeList rhList =
rhRootElement.getElementsByTagName(rhType.getXmlName());
- for(int i = 0 ; i < rhList.getLength(); ++i){
- final Element rh = (Element) rhList.item(i);
- sc.addResultHandler(rhType.parseResultHandler(rh));
+ rhNodeList = rhRootElement.getChildNodes();
+ for(int i = 0; i < rhNodeList.getLength(); i++) {
+ final Node node = rhNodeList.item(i);
+ if (!(node instanceof Element)) {
+ continue;
}
+ final Element rh = (Element) node;
+ for (ResultHandlerTypes rhType :
ResultHandlerTypes.values()) {
+ if (rh.getTagName().equals(rhType.getXmlName())) {
+
sc.addResultHandler(rhType.parseResultHandler(rh));
+ }
+ }
}
}
@@ -533,7 +546,7 @@
SIMPLE_SITE_SEARCH (SimpleSiteSearchTransformer.class),
SYNONYM (SynonymQueryTransformer.class),
TERM_PREFIX (TermPrefixTransformer.class),
- TV (TvQueryTransformer.class);
+ TV (TvQueryTransformer.class);
private final Class<? extends QueryTransformer> clazz;
private final String xmlName;
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits