Author: simoneg
Date: Fri Nov 20 08:09:59 2009
New Revision: 882443

URL: http://svn.apache.org/viewvc?rev=882443&view=rev
Log:
LABS-365 LABS-494 : added late config to website

Added:
    
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducerLateConfigAnnotation.aj
Modified:
    labs/magma/trunk/foundation-website/pom.xml
    
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-website/pom.xml
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/pom.xml?rev=882443&r1=882442&r2=882443&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/pom.xml (original)
+++ labs/magma/trunk/foundation-website/pom.xml Fri Nov 20 08:09:59 2009
@@ -66,6 +66,11 @@
                        <artifactId>foundation-database</artifactId>
                        <version>0.0.3-SNAPSHOT</version>
                </dependency>
+               <dependency>
+                       <groupId>org.apache.magma</groupId>
+                       <artifactId>lateconfig-api</artifactId>
+                       <version>0.0.3-SNAPSHOT</version>
+               </dependency>
          <dependency>
       <groupId>org.apache.magma</groupId>
       <artifactId>foundation-i18n</artifactId>

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=882443&r1=882442&r2=882443&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
 Fri Nov 20 08:09:59 2009
@@ -28,6 +28,9 @@
 import org.apache.magma.website.templating.Template;
 import org.apache.magma.website.utils.MakeURLRewritingContextBased;
 
+import org.apache.magma.basics.context.RunningContext;
+import org.apache.magma.lateconfig.LateConfigurable;
+
 public aspect CompoundableProducerImpl {
        
        declare precedence : CompoundableProducerImpl, 
MakeURLRewritingContextBased;
@@ -52,6 +55,7 @@
                return this;
        }
        
+       @LateConfigurable
        public CompoundableProducer 
CompoundableProducer.compoundCssClass(String cssClass, CompoundType t) {
                if (customCssClasses == null) {
                        customCssClasses = new HashMap<CompoundType, String>();
@@ -123,21 +127,28 @@
        }
        
        private void compoundZone(CompoundableProducer prod, CompoundType side, 
Writer stream) throws IOException {
-               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) {
-                                       openWrapper((HtmlProducer) producer, 
stream, side);
-                                       
((HtmlProducer)producer).produce(stream);
-                                       closeWrapper(stream);
+               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) {
+                                               openWrapper((HtmlProducer) 
producer, stream, side);
+                                               
((HtmlProducer)producer).produce(stream);
+                                               closeWrapper(stream);
+                                       }
                                }
+                               closeWrapper(stream);
                        }
-                       closeWrapper(stream);
+               } finally {
+                       RunningContext.get().popString();
+                       RunningContext.get().popString();
                }
        }
        

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=882443&r1=882442&r2=882443&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
 Fri Nov 20 08:09:59 2009
@@ -17,6 +17,7 @@
 package org.apache.magma.website;
 
 import org.apache.magma.basics.MagmaException;
+import org.apache.magma.lateconfig.LateConfigurable;
 import org.apache.magma.website.templating.Template;
 
 import java.io.IOException;
@@ -28,6 +29,7 @@
 import java.util.List;
 
 
+...@lateconfigurable
 public abstract class HtmlProducer extends Producer implements Templatable, 
CompoundableProducer {
 
        protected boolean repeatable = true;
@@ -88,6 +90,7 @@
                return customHtmlId;
        }
 
+       @LateConfigurable
        public void setCustomHtmlId(String customHtmlId) {
                this.customHtmlId = customHtmlId;
        }
@@ -96,10 +99,12 @@
                return useDefaultClasses;
        }
 
+       @LateConfigurable
        public void setUseDefaultClasses(boolean useDefaultClasses) {
                this.useDefaultClasses = useDefaultClasses;
        }
        
+       @LateConfigurable
        public void addCustomCssClass(String cssClass) {
                if (customCssClasses == null) {
                        customCssClasses = new ArrayList<String>();

Added: 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducerLateConfigAnnotation.aj
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducerLateConfigAnnotation.aj?rev=882443&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducerLateConfigAnnotation.aj
 (added)
+++ 
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HtmlProducerLateConfigAnnotation.aj
 Fri Nov 20 08:09:59 2009
@@ -0,0 +1,11 @@
+package org.apache.magma.website;
+
+import org.apache.magma.lateconfig.LateConfigurationTrigger;
+
+public aspect HtmlProducerLateConfigAnnotation {
+
+       // TODO without wildcards gives that the method does not exist in 
ParametrizableHtmlPRoducerBase
+       // TODO is this https://bugs.eclipse.org/bugs/show_bug.cgi?id=288049  
???
+       declare @method : public void (Html*roducer+).produce(..) : 
@LateConfigurationTrigger;
+       
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to