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/01 09:40:04 UTC
svn commit: r700704 - in
/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website:
Dispatch.java templating/PreviousGiver.java templating/Template.java
Author: simoneg
Date: Wed Oct 1 00:40:04 2008
New Revision: 700704
URL: http://svn.apache.org/viewvc?rev=700704&view=rev
Log:
Closure to optimize when missing main zone
Added:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/PreviousGiver.java
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java?rev=700704&r1=700703&r2=700704&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java Wed Oct 1 00:40:04 2008
@@ -18,6 +18,7 @@
import org.apache.magma.basics.MagmaException;
import org.apache.magma.website.templating.DefaultTemplate;
+import org.apache.magma.website.templating.PreviousGiver;
import org.apache.magma.website.templating.Template;
import org.apache.magma.website.utils.Binder;
import org.apache.magma.website.utils.URLRewritingStream;
@@ -97,16 +98,21 @@
t.setCurrent(producer);
HttpSession session = req.getSession();
- String last = (String) session.getAttribute("__magma_lastmain");
+ final String last = (String) session.getAttribute("__magma_lastmain");
if (last != null) {
- try {
- Producer prod = findProducer(last);
- if (prod != null && prod instanceof HtmlProducer) {
- t.setPrevious((HtmlProducer) prod);
+ t.setPrevious(new PreviousGiver() {
+ public HtmlProducer getPrevious() {
+ try {
+ Producer prod = findProducer(last);
+ if (prod != null && prod instanceof HtmlProducer) {
+ return (HtmlProducer) prod;
+ }
+ } catch (Exception e) {
+ // TODO log the exception
+ }
+ return null;
}
- } catch (Exception e) {
- // TODO log the exception
- }
+ });
}
try {
Added: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/PreviousGiver.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/PreviousGiver.java?rev=700704&view=auto
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/PreviousGiver.java (added)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/PreviousGiver.java Wed Oct 1 00:40:04 2008
@@ -0,0 +1,10 @@
+package org.apache.magma.website.templating;
+
+import org.apache.magma.website.HtmlProducer;
+
+public interface PreviousGiver {
+
+
+ public HtmlProducer getPrevious();
+
+}
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java?rev=700704&r1=700703&r2=700704&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/templating/Template.java Wed Oct 1 00:40:04 2008
@@ -38,7 +38,7 @@
protected String fileName = "template.html";
protected HtmlProducer current = null;
- protected HtmlProducer previous = null;
+ protected PreviousGiver previous = null;
private String currentZone = null;
private Map<String, List<HtmlProducer>> zones = new HashMap<String, List<HtmlProducer>>();
@@ -81,7 +81,10 @@
if (current != null) {
addInZone(current);
} else {
- addInZone(previous);
+ HtmlProducer prev = previous.getPrevious();
+ if (prev != null) {
+ addInZone(prev);
+ }
}
}
@@ -178,7 +181,7 @@
public void head(OutputStream stream) {
}
- public void setPrevious(HtmlProducer previousMain) {
+ public void setPrevious(PreviousGiver previousMain) {
this.previous = previousMain;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org