You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by re...@apache.org on 2012/11/20 21:17:52 UTC
svn commit: r1411841 -
/stanbol/trunk/commons/ldtemplaterenderer/src/main/java/org/apache/stanbol/commons/ldpathtemplate/LdRenderer.java
Author: reto
Date: Tue Nov 20 20:17:52 2012
New Revision: 1411841
URL: http://svn.apache.org/viewvc?rev=1411841&view=rev
Log:
STANBOL-742: added method to render legacy templates
Modified:
stanbol/trunk/commons/ldtemplaterenderer/src/main/java/org/apache/stanbol/commons/ldpathtemplate/LdRenderer.java
Modified: stanbol/trunk/commons/ldtemplaterenderer/src/main/java/org/apache/stanbol/commons/ldpathtemplate/LdRenderer.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/ldtemplaterenderer/src/main/java/org/apache/stanbol/commons/ldpathtemplate/LdRenderer.java?rev=1411841&r1=1411840&r2=1411841&view=diff
==============================================================================
--- stanbol/trunk/commons/ldtemplaterenderer/src/main/java/org/apache/stanbol/commons/ldpathtemplate/LdRenderer.java (original)
+++ stanbol/trunk/commons/ldtemplaterenderer/src/main/java/org/apache/stanbol/commons/ldpathtemplate/LdRenderer.java Tue Nov 20 20:17:52 2012
@@ -41,6 +41,8 @@ import org.slf4j.LoggerFactory;
import at.newmedialab.ldpath.api.backend.RDFBackend;
import at.newmedialab.ldpath.template.engine.TemplateEngine;
import freemarker.cache.TemplateLoader;
+import freemarker.template.Configuration;
+import freemarker.template.DefaultObjectWrapper;
import freemarker.template.TemplateException;
/**
@@ -87,8 +89,12 @@ public class LdRenderer {
@Override
public Object findTemplateSource(String name) throws IOException {
+ if (!name.endsWith(".ftl")) {
+ name = name +".ftl";
+ }
+ final String path = TEMPLATES_PATH_IN_BUNDLES+name;
for (Bundle bundle : bundles) {
- URL res = bundle.getResource(TEMPLATES_PATH_IN_BUNDLES+name);
+ URL res = bundle.getResource(path);
if (res != null) {
return res;
}
@@ -150,4 +156,23 @@ public class LdRenderer {
throw new RuntimeException(e);
}
}
+
+ /**
+ * Old school classical freemarker rendering, no LD here
+ */
+ public void renderPojo(Object pojo, final String templatePath, Writer out) {
+ Configuration freemarker= new Configuration();
+ freemarker.setObjectWrapper(new DefaultObjectWrapper());
+ freemarker.setTemplateLoader(templateLoader);
+ try {
+ //should root be a map instead?
+ freemarker.getTemplate(templatePath).process(pojo, out);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ } catch (TemplateException e) {
+ throw new RuntimeException(e);
+ }
+ }
}