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);
+		}
+	}
 }