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