[richfaces-svn-commits] JBoss Rich Faces SVN: r18896 - in trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler: model and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Aug 20 18:31:44 EDT 2010


Author: alexsmirnov
Date: 2010-08-20 18:31:44 -0400 (Fri, 20 Aug 2010)
New Revision: 18896

Modified:
   trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java
   trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/CdkBodyElement.java
Log:
RESOLVED - issue RF-9076 CDK:empty encodeChildren method is not generated
https://jira.jboss.org/browse/RF-9076

Modified: trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java
===================================================================
--- trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java	2010-08-20 22:14:19 UTC (rev 18895)
+++ trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java	2010-08-20 22:31:44 UTC (rev 18896)
@@ -244,8 +244,8 @@
         currentStatement.setVariable(SUPER_VARIABLE, generatedClassSuperType);
     }
 
-    private void flushToEncodeMethod(String encodeMethodName) {
-        if (!this.currentStatement.isEmpty()) {
+    private void flushToEncodeMethod(String encodeMethodName, boolean enforce) {
+        if (enforce || !this.currentStatement.isEmpty()) {
             Argument facesContextArgument = new Argument(FACES_CONTEXT_VARIABLE, getType(FacesContext.class));
             Argument componentArgument = new Argument(COMPONENT_VARIABLE, getType(UIComponent.class));
 
@@ -329,7 +329,7 @@
 
     @Override
     public void startElement(CdkBodyElement cdkBodyElement) throws CdkException {
-        flushToEncodeMethod("encodeBegin");
+        flushToEncodeMethod("encodeBegin", false);
     }
 
     /*
@@ -341,7 +341,7 @@
 
     @Override
     public void endElement(CdkBodyElement cdkBodyElement) throws CdkException {
-        flushToEncodeMethod("encodeChildren");
+        flushToEncodeMethod("encodeChildren", cdkBodyElement.isEnforce());
     }
 
     /*
@@ -610,7 +610,7 @@
      *
      */
     public void postProcess(CompositeImplementation impl) {
-        flushToEncodeMethod("encodeEnd");
+        flushToEncodeMethod("encodeEnd", false);
         createRendersChildrenMethod();
     }
 

Modified: trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/CdkBodyElement.java
===================================================================
--- trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/CdkBodyElement.java	2010-08-20 22:14:19 UTC (rev 18895)
+++ trunk/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/model/CdkBodyElement.java	2010-08-20 22:31:44 UTC (rev 18896)
@@ -23,6 +23,7 @@
 
 package org.richfaces.cdk.templatecompiler.model;
 
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.richfaces.cdk.CdkException;
@@ -34,7 +35,26 @@
  */
 @XmlRootElement(name = "body", namespace = Template.CDK_NAMESPACE)
 public class CdkBodyElement extends ModelFragment {
+    
+    private boolean enforce = false;
 
+    /**
+     * <p class="changed_added_4_0"></p>
+     * @return the enforce
+     */
+    @XmlAttribute
+    public boolean isEnforce() {
+        return this.enforce;
+    }
+
+    /**
+     * <p class="changed_added_4_0"></p>
+     * @param enforce the enforce to set
+     */
+    public void setEnforce(boolean enforce) {
+        this.enforce = enforce;
+    }
+
     @Override
     public void beforeVisit(TemplateVisitor visitor) throws CdkException {
         visitor.startElement(this);



More information about the richfaces-svn-commits mailing list