[Yanel-commits] rev 24925 -
public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources
michi at wyona.com
michi at wyona.com
Tue Jun 5 15:19:23 CEST 2007
Author: michi
Date: 2007-06-05 15:19:23 +0200 (Tue, 05 Jun 2007)
New Revision: 24925
Modified:
public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java
Log:
language and show refactored
Modified: public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java 2007-06-05 13:18:51 UTC (rev 24924)
+++ public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java 2007-06-05 13:19:23 UTC (rev 24925)
@@ -102,7 +102,7 @@
private String defaultFile = "nutch-default.xml";
private String localFile = "nutch-local.xml";
private String searchTerm = "";
- private String show = ""; //default is empty, else show either CACHE, EXPLAIN, ANCHORS
+ private String SHOW_DEFAULT = "default"; // Otherwise either Cache, Explain, Anchors
private NutchBean nutchBean = null;
private ServletContext servletContext = null;
private String cachedMimeType = null;
@@ -139,6 +139,7 @@
try {
getNutchConfiguration();
+ String show = getShowParameterValue();
nutchView = new View();
nutchView.setInputStream(getInputStream(viewId, show, idx, id, language));
@@ -196,8 +197,7 @@
} catch(Exception e) {
id = 0;
}
- show = request.getParameter("show");
- if (show == null) show = "";
+
searchTerm = request.getParameter("query");
return getView(new Path(request.getServletPath()), viewId, idx, id, language);
}
@@ -239,9 +239,8 @@
/**
* Create DOM document
* @param searchTerm query
- * @param language language
*/
- private void getDOMDocument(String searchTerm, String language) {
+ private void getSearchResultsAsDOM(String searchTerm) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
try {
@@ -251,7 +250,7 @@
log.error(e.getMessage(), e);
}
Element rootElement = document.getDocumentElement();
- rootElement.setAttributeNS(NAME_SPACE, "language", language);
+ rootElement.setAttributeNS(NAME_SPACE, "language", getLanguage());
rootElement.setAttributeNS(NAME_SPACE, "local-nutch-config-url", finalResource.toString());
if (searchTerm != null && searchTerm.length() > 0) {
Element queryElement = (Element) rootElement.appendChild(document.createElementNS(NAME_SPACE, "query"));
@@ -294,9 +293,9 @@
/**
* Generate response depending on show parameter
- * @param show cache, explain, anchors and actual search results
+ * @param show Cache, Explain, Anchors and actual search results
*/
- private InputStream getInputStream(String viewId, String show, int idx, int id, String language) {
+ private InputStream getInputStream(String viewId, String show, int idx, int id, String language) throws Exception {
if(show.equals("cache")){
return new StringBufferInputStream(getCachedContent(idx, id));
} else if(show.equals("explain")) {
@@ -304,18 +303,19 @@
} else if(show.equals("anchors")) {
return createAnchorsDocument4SearchResult(idx, id, searchTerm, language);
} else {
- getDOMDocument(searchTerm, language);
- return transformedInputStream(viewId, searchTerm, language);
+ return getSearchResults(viewId, searchTerm);
}
}
/**
* Generate results page as XHTML
- * @param viewId
- * @param searchTerm
- * @return
+ * @param viewId View ID
+ * @param searchTerm Search term
+ * @param language Language
+ * @return InputStream
*/
- private InputStream transformedInputStream(String viewId, String searchTerm, String language) {
+ private InputStream getSearchResults(String viewId, String searchTerm) throws Exception {
+ getSearchResultsAsDOM(searchTerm);
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
if (viewId != null && viewId.equals("source")) {
@@ -336,10 +336,10 @@
log.debug("Back 2 realm: " + PathUtil.backToRealm(getPath()));
transformer.transform(new javax.xml.transform.dom.DOMSource(document), new StreamResult(byteArrayOutputStream));
InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
- I18nTransformer i18nTransformer = new I18nTransformer(getI18nResourceBundleName(), language, getRealm().getDefaultLanguage());
+ I18nTransformer i18nTransformer = new I18nTransformer(getI18nResourceBundleName(), getLanguage(), getRealm().getDefaultLanguage());
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
saxParser.parse(inputStream, i18nTransformer);
- return applyGlobalXslIfExists(i18nTransformer.getInputStream(), searchTerm, language);
+ return applyGlobalXslIfExists(i18nTransformer.getInputStream(), searchTerm);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
@@ -353,7 +353,7 @@
* @param language
* @return
*/
- private InputStream applyGlobalXslIfExists(InputStream inputStream, String searchTerm, String language) {
+ private InputStream applyGlobalXslIfExists(InputStream inputStream, String searchTerm) {
StreamSource streamSource = null;
try {
streamSource = getGlobalXSLTStreamSource();
@@ -377,8 +377,8 @@
transformer.setParameter("totalHits", "" + totalHits);
transformer.setParameter("query", "" + searchTerm);
transformer.setParameter("start", "" + start);
- transformer.setParameter("yanel.meta.lanugage", language);
- transformer.setParameter("show", show);
+ transformer.setParameter("yanel.meta.lanugage", getLanguage());
+ transformer.setParameter("show", getShowParameterValue());
// create xinclude transformer:
XIncludeTransformer xIncludeTransformer = new XIncludeTransformer();
@@ -386,7 +386,7 @@
xIncludeTransformer.setResolver(resolver);
// create i18n transformer:
- I18nTransformer2 i18nTransformer = new I18nTransformer2(getI18nResourceBundleName(), language, getRealm().getDefaultLanguage());
+ I18nTransformer2 i18nTransformer = new I18nTransformer2(getI18nResourceBundleName(), getLanguage(), getRealm().getDefaultLanguage());
i18nTransformer.setEntityResolver(catalogResolver);
// create serializer:
@@ -479,7 +479,7 @@
I18nTransformer i18nTransformer = new I18nTransformer(getI18nResourceBundleName(), language, getRealm().getDefaultLanguage());
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
saxParser.parse(new StringBufferInputStream(content), i18nTransformer);
- return applyGlobalXslIfExists(i18nTransformer.getInputStream(), searchTerm, language);
+ return applyGlobalXslIfExists(i18nTransformer.getInputStream(), searchTerm);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
@@ -519,7 +519,7 @@
I18nTransformer i18nTransformer = new I18nTransformer(getI18nResourceBundleName(), language, getRealm().getDefaultLanguage());
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
saxParser.parse(new StringBufferInputStream(content), i18nTransformer);
- return applyGlobalXslIfExists(i18nTransformer.getInputStream(), searchTerm, language);
+ return applyGlobalXslIfExists(i18nTransformer.getInputStream(), searchTerm);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
@@ -713,18 +713,20 @@
}
/**
+ * Get show parameter value
+ */
+ private String getShowParameterValue() {
+ String show = request.getParameter("show");
+ if (show == null) show = SHOW_DEFAULT;
+ return show;
+ }
+
+ /**
* Get language
*/
private String getLanguage() throws Exception {
- String language;
+ String language = getResourceConfigProperty("language");
- ResourceConfiguration rc = getConfiguration();
- if (rc != null) {
- language = rc.getProperty("language");
- } else {
- language = getRTI().getProperty("language");
- }
-
if (language == null) {
language = getRequest().getParameter("yanel.meta.language");
}
@@ -743,7 +745,7 @@
language = getRealm().getDefaultLanguage();
}
- log.debug("Language: " + language);
+ log.error("DEBUG: Language: " + language);
return language;
}
More information about the Yanel-commits
mailing list