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 2009/11/26 13:59:15 UTC

svn commit: r884544 - in /labs/magma/trunk: foundation-basics/src/main/java/org/apache/magma/settings/ foundation-website/src/main/java/org/apache/magma/website/

Author: simoneg
Date: Thu Nov 26 12:59:15 2009
New Revision: 884544

URL: http://svn.apache.org/viewvc?rev=884544&view=rev
Log:
LABS-365 LABS-494 : fixed compounding and late config interaction problems

Modified:
    labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/settings/ContextSettingsHolder.java
    labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/CompoundableProducerImpl.aj
    labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducer.java

Modified: labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/settings/ContextSettingsHolder.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/settings/ContextSettingsHolder.java?rev=884544&r1=884543&r2=884544&view=diff
==============================================================================
--- labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/settings/ContextSettingsHolder.java (original)
+++ labs/magma/trunk/foundation-basics/src/main/java/org/apache/magma/settings/ContextSettingsHolder.java Thu Nov 26 12:59:15 2009
@@ -199,23 +199,22 @@
 				notted.add(acpart.substring(1));
 				acpart = parts[++upto];
 				done = (upto == parts.length - 2);
-			} else {
-				if (notted != null && notted.contains(seg)) return -1;
-				if (lasted != null && lasted.contains(seg)) return -1;
-				if (acpart.charAt(0) == '#') acpart = acpart.substring(1); 
-				if (acpart.equals(seg)) {
-					notted = null;
-					if (parts[upto].charAt(0) == '#') {
-						if (lasted == null) lasted = new ArrayList<String>();
-						lasted.add(acpart);
-					}
-					if (upto == parts.length - 3 && lasted != null && lasted.size() > 0) {
-						done = true;
-					} else {
-						acpart = parts[++upto];
-						total += pos;
-						if (upto == parts.length - 2) return total;
-					}
+			} 
+			if (notted != null && notted.contains(seg)) return -1;
+			if (lasted != null && lasted.contains(seg)) return -1;
+			if (acpart.charAt(0) == '#') acpart = acpart.substring(1); 
+			if (acpart.equals(seg)) {
+				notted = null;
+				if (parts[upto].charAt(0) == '#') {
+					if (lasted == null) lasted = new ArrayList<String>();
+					lasted.add(acpart);
+				}
+				if (upto == parts.length - 3 && lasted != null && lasted.size() > 0) {
+					done = true;
+				} else {
+					acpart = parts[++upto];
+					total += pos;
+					if (upto == parts.length - 2) return total;
 				}
 			}
 		}

Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/CompoundableProducerImpl.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/CompoundableProducerImpl.aj?rev=884544&r1=884543&r2=884544&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/CompoundableProducerImpl.aj (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/CompoundableProducerImpl.aj Thu Nov 26 12:59:15 2009
@@ -28,7 +28,9 @@
 import org.apache.magma.website.templating.Template;
 import org.apache.magma.website.utils.MakeURLRewritingContextBased;
 
+import org.apache.magma.basics.context.ContextOwner;
 import org.apache.magma.basics.context.RunningContext;
+import org.apache.magma.basics.context.SubRunningContext;
 import org.apache.magma.lateconfig.LateConfigurable;
 
 public aspect CompoundableProducerImpl {
@@ -127,28 +129,34 @@
 	}
 	
 	private void compoundZone(CompoundableProducer prod, CompoundType side, Writer stream) throws IOException {
-		RunningContext.get().push("Compounded");
-		RunningContext.get().push(side.name());
-		try {
-			List<Producer> list = prod.findCompoundedOn(side);
-			if (!list.isEmpty()) {
-				String addcss = null;
-				if (prod.customCssClasses != null) {
-					addcss = prod.customCssClasses.get(side);
-				}
-				openWrapper(addcss, stream, side);
-				for (Producer producer : list) {
-					if (producer instanceof HtmlProducer) {
+		List<Producer> list = prod.findCompoundedOn(side);
+		if (!list.isEmpty()) {
+			String addcss = null;
+			if (prod.customCssClasses != null) {
+				addcss = prod.customCssClasses.get(side);
+			}
+			openWrapper(addcss, stream, side);
+			for (Producer producer : list) {
+				if (producer instanceof HtmlProducer) {
+					if (producer instanceof ContextOwner) {
+						SubRunningContext context = ((ContextOwner)producer).getContext();
+						context.push("CompoundZone");
+						context.push(side.name());
+					}
+					try {
 						openWrapper((HtmlProducer) producer, stream, side);
 						((HtmlProducer)producer).produce(stream);
 						closeWrapper(stream);
+					} finally {
+						if (producer instanceof ContextOwner) {
+							SubRunningContext context = ((ContextOwner)producer).getContext();
+							context.popString();
+							context.popString();
+						}
 					}
 				}
-				closeWrapper(stream);
 			}
-		} finally {
-			RunningContext.get().popString();
-			RunningContext.get().popString();
+			closeWrapper(stream);
 		}
 	}
 	

Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducer.java?rev=884544&r1=884543&r2=884544&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducer.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducer.java Thu Nov 26 12:59:15 2009
@@ -18,6 +18,7 @@
 
 import org.apache.magma.basics.MagmaException;
 import org.apache.magma.lateconfig.LateConfigurable;
+import org.apache.magma.lateconfig.LateConfigurationTrigger;
 import org.apache.magma.website.templating.Template;
 
 import java.io.IOException;
@@ -85,7 +86,8 @@
 	public void setRepeatable(boolean repeatable) {
 		this.repeatable = repeatable;
 	}
-
+	
+	@LateConfigurationTrigger
 	public String getCustomHtmlId() {
 		return customHtmlId;
 	}
@@ -94,7 +96,8 @@
 	public void setCustomHtmlId(String customHtmlId) {
 		this.customHtmlId = customHtmlId;
 	}
-
+	
+	@LateConfigurationTrigger
 	public boolean isUseDefaultClasses() {
 		return useDefaultClasses;
 	}
@@ -112,6 +115,7 @@
 		customCssClasses.add(cssClass);
 	}
 
+	@LateConfigurationTrigger
 	public List<String> getCustomCssClasses() {
 		return customCssClasses;
 	}



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