[Yanel-commits] rev 20321 - in public/yanel/trunk/src:
contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources
realms/yanel-website/content/rtd
simon at wyona.com
simon at wyona.com
Fri Nov 24 18:02:29 CET 2006
Author: simon
Date: 2006-11-24 18:02:27 +0100 (Fri, 24 Nov 2006)
New Revision: 20321
Modified:
public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java
public/yanel/trunk/src/realms/yanel-website/content/rtd/nutch.rtd
Log:
nutch layout modified to fit with yanel. thanks to david!
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 2006-11-24 16:57:55 UTC (rev 20320)
+++ public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java 2006-11-24 17:02:27 UTC (rev 20321)
@@ -82,6 +82,7 @@
private String language = "en";
//messages is the name of the ResourceBundle
private String messages = "messages";
+ private RepoPath rp = null;
/**
*
@@ -111,7 +112,7 @@
this.path = path;
this.language = language;
try {
- RepoPath rp = new org.wyona.yarep.util.YarepUtil().getRepositoryPath(new org.wyona.yarep.core.Path(path.toString()),
+ rp = new org.wyona.yarep.util.YarepUtil().getRepositoryPath(new org.wyona.yarep.core.Path(path.toString()),
getRepositoryFactory());
repository = rp.getRepo();
@@ -216,23 +217,54 @@
if (viewId != null && viewId.equals("source")) {
transformer = TransformerFactory.newInstance().newTransformer();
} else {
- transformer = TransformerFactory.newInstance().newTransformer(getXSLTStreamSource(path, repository));
+ File xsltFile = org.wyona.commons.io.FileUtil.file(rtd.getConfigFile().getParentFile().getAbsolutePath(), "xslt" + File.separator + "result2xhtml.xsl");
+ transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(xsltFile));
+ transformer.setParameter("yanel.path.name", path.getName());
+ transformer.setParameter("yanel.path", path.toString());
+ transformer.setParameter("yanel.back2context", backToRoot(path, ""));
+ transformer.setParameter("yarep.back2realm", backToRoot(new org.wyona.yanel.core.Path(rp.getPath().toString()), ""));
}
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
transformer.transform(new javax.xml.transform.dom.DOMSource(document), new StreamResult(byteArrayOutputStream));
+
InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
- //return inputStream;
-
- // Internationalization
I18nTransformer i18nTransformer = new I18nTransformer(messages, language);
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
saxParser.parse(inputStream, i18nTransformer);
- return i18nTransformer.getInputStream();
+
+ transformer = TransformerFactory.newInstance().newTransformer(getXSLTStreamSource(path, repository));
+ transformer.setParameter("yanel.path.name", path.getName());
+ transformer.setParameter("yanel.path", path.toString());
+ transformer.setParameter("yanel.back2context", backToRoot(path, ""));
+ transformer.setParameter("yarep.back2realm", backToRoot(new org.wyona.yanel.core.Path(rp.getPath().toString()), ""));
+ byteArrayOutputStream = new ByteArrayOutputStream();
+ transformer.transform(new StreamSource(i18nTransformer.getInputStream()), new StreamResult(byteArrayOutputStream));
+
+ return new java.io.ByteArrayInputStream(byteArrayOutputStream.toByteArray());
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return null;
}
+
+ /**
+ *
+ */
+ private String backToRoot(Path path, String backToRoot) {
+ org.wyona.commons.io.Path parent = path.getParent();
+ if (parent != null && !isRoot(parent)) {
+ return backToRoot(new Path(parent.toString()), backToRoot + "../");
+ }
+ return backToRoot;
+ }
+
+ /**
+ *
+ */
+ private boolean isRoot(org.wyona.commons.io.Path path) {
+ if (path.toString().equals(File.separator)) return true;
+ return false;
+ }
/**
* this method creates a document for the given searchTerm starting at result <start>
Modified: public/yanel/trunk/src/realms/yanel-website/content/rtd/nutch.rtd
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/rtd/nutch.rtd 2006-11-24 16:57:55 UTC (rev 20320)
+++ public/yanel/trunk/src/realms/yanel-website/content/rtd/nutch.rtd 2006-11-24 17:02:27 UTC (rev 20321)
@@ -1,2 +1,3 @@
<{http://www.wyona.org/yanel/resource/1.0}nutch/>
#xslt: /xslt/myxslt.xsl
+xslt: /xslt/global.xsl
More information about the Yanel-commits
mailing list