You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/10/20 12:37:01 UTC

svn commit: r706211 - /labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/VelocityHtmlProducer.java

Author: simoneg
Date: Mon Oct 20 03:37:01 2008
New Revision: 706211

URL: http://svn.apache.org/viewvc?rev=706211&view=rev
Log:
Refactoring of head methods

Modified:
    labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/VelocityHtmlProducer.java

Modified: labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/VelocityHtmlProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/VelocityHtmlProducer.java?rev=706211&r1=706210&r2=706211&view=diff
==============================================================================
--- labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/VelocityHtmlProducer.java (original)
+++ labs/magma/trunk/website-velocity/src/main/java/org/apache/magma/website/velocity/VelocityHtmlProducer.java Mon Oct 20 03:37:01 2008
@@ -18,6 +18,7 @@
 
 import org.apache.magma.basics.MagmaException;
 import org.apache.magma.settings.Settings;
+import org.apache.magma.website.Head;
 import org.apache.magma.website.producers.ParametrizableHtmlProducerBase;
 
 import java.beans.Introspector;
@@ -27,6 +28,7 @@
 import java.io.OutputStreamWriter;
 import java.net.URL;
 import java.nio.charset.Charset;
+import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
@@ -67,25 +69,25 @@
 		if (!tplname.endsWith(".vm")) tplname += ".vm";
 		
 		
-		sendTemplate(stream, tplname);
+		sendTemplate(stream, tplname, null);
 	}
 
-	private boolean sendTemplateIfExisting(OutputStream stream, String tplname) {
+	private boolean sendTemplateIfExisting(OutputStream stream, String tplname, Map<String, Object> additional) {
 		if (parameters != null && getCreatingHandler() != null) {
 			URL resource = getCreatingHandler().getClass().getResource(tplname);
 			if (resource != null) {
-				sendTemplate(stream, tplname);
+				sendTemplate(stream, tplname, additional);
 				return true;
 			}
 		}
 		if (Velocity.resourceExists(tplname)) {
-			sendTemplate(stream, tplname);
+			sendTemplate(stream, tplname, additional);
 			return true;
 		}
 		return false;
 	}
 	
-	private void sendTemplate(OutputStream stream, String tplname) {
+	private void sendTemplate(OutputStream stream, String tplname, Map<String, Object> additional) {
 		VelocityContext ctx = new VelocityContext();
 		if (parameters != null) {
 			Map<String, Object> map = parameters.getParameters();
@@ -93,6 +95,11 @@
 				ctx.put(entry.getKey(), entry.getValue());
 			}
 		}
+		if (additional != null) {
+			for (Map.Entry<String, Object> entry : additional.entrySet()) {
+				ctx.put(entry.getKey(), entry.getValue());
+			}
+		}
 		
 		OutputStreamWriter writer = new OutputStreamWriter(stream, Charset.forName("UTF-8"));
 		
@@ -118,23 +125,26 @@
 		}
 	}
 
-	public void head(OutputStream stream) {
+	public void head(Head head) {
 		String tplname = this.template;
 		if (tplname == null && this.parameters != null) {
 			tplname = parameters.getTemplateName();
 		}
 		
-		sendTemplateIfExisting(stream, "head.vm");
+		Map<String, Object> additionals = new HashMap<String, Object>();
+		additionals.put("headHelper", head);
+		
+		sendTemplateIfExisting(head.getStream(), "head.vm", additionals);
 		if (this.getCreatingHandler() != null) {
 			String handlername = Introspector.decapitalize(this.getCreatingHandler().getClass().getSimpleName());
-			sendTemplateIfExisting(stream, handlername + "-head.vm");
+			sendTemplateIfExisting(head.getStream(), handlername + "-head.vm", additionals);
 		}
 		if (tplname != null) {
 			if (tplname.endsWith(".vm")) {
 				tplname = tplname.substring(0,tplname.length() - 3);
 			}
 			tplname += "-head.vm";
-			sendTemplateIfExisting(stream, tplname);
+			sendTemplateIfExisting(head.getStream(), tplname, additionals);
 		}
 	}
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org