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