[richfaces-svn-commits] JBoss Rich Faces SVN: r18634 - in branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk: model and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Aug 13 19:14:54 EDT 2010


Author: alexsmirnov
Date: 2010-08-13 19:14:53 -0400 (Fri, 13 Aug 2010)
New Revision: 18634

Modified:
   branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java
   branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/RendererProcessor.java
   branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/model/ComponentModel.java
   branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java
Log:
CODING IN PROGRESS - issue RF-8909: CDK: renderer-type is not written into .taglib.xml 
https://jira.jboss.org/browse/RF-8909

Modified: branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java
===================================================================
--- branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java	2010-08-13 19:22:27 UTC (rev 18633)
+++ branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java	2010-08-13 23:14:53 UTC (rev 18634)
@@ -37,6 +37,7 @@
 import javax.lang.model.type.TypeMirror;
 
 import org.richfaces.cdk.CdkException;
+import org.richfaces.cdk.Logger;
 import org.richfaces.cdk.annotations.Facet;
 import org.richfaces.cdk.annotations.JsfComponent;
 import org.richfaces.cdk.annotations.JsfRenderer;
@@ -69,7 +70,7 @@
     public static final String COMPONENT_TYPE = "COMPONENT_TYPE";
 
     @Inject
-    private RendererProcessor rendererProcessor;
+    private Logger log;
 
     public void process(Element componentElement, ComponentLibrary library) {
         final JsfComponent annotation = componentElement.getAnnotation(JsfComponent.class);
@@ -130,7 +131,7 @@
             component.setRendererType(FacesId.parseId(jsfRenderer.type()));
         }
         if(!Strings.isEmpty(jsfRenderer.template())){
-            // TODO - store template path in model.
+            component.setRendererTemplate(jsfRenderer.template());
         }
     }
 

Modified: branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/RendererProcessor.java
===================================================================
--- branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/RendererProcessor.java	2010-08-13 19:22:27 UTC (rev 18633)
+++ branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/apt/processors/RendererProcessor.java	2010-08-13 23:14:53 UTC (rev 18634)
@@ -124,20 +124,15 @@
         String template = annotation.template();
         if (!Strings.isEmpty(template)) {
             rendererModel.setTemplatePath(template);
-            // TODO - add template to source list to process it in appropriate builder.
-            // processRendererTemplate(rendererModel);
+            try {
+                File file = sources.getFile(template);
+                templateParser.build(file, rendererModel);
+            } catch (FileNotFoundException e) {
+                log.error("Template file not found", e);
+            }
         }
     }
 
-    private void processRendererTemplate(RendererModel renderer) {
-        String templatePath = renderer.getTemplatePath();
-        try {
-            File file = sources.getFile(templatePath);
-            templateParser.build(file, renderer);
-        } catch (FileNotFoundException e) {
-            log.error("Template file not found", e);
-        }
-    }
 
     private void setComponentFamily(TypeElement rendererElement, RendererModel rendererModel, JsfRenderer annotation) {
         String family = annotation.family();

Modified: branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/model/ComponentModel.java
===================================================================
--- branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/model/ComponentModel.java	2010-08-13 19:22:27 UTC (rev 18633)
+++ branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/model/ComponentModel.java	2010-08-13 23:14:53 UTC (rev 18634)
@@ -34,6 +34,8 @@
     private FacesId family;
     
     private FacesId rendererType;
+    
+    private String rendererTemplate;
 
     public ComponentModel(FacesId key) {
         this.setId(key);
@@ -90,6 +92,21 @@
     }
 
     /**
+     * @return the rendererTemplate
+     */
+    @Merge
+    public String getRendererTemplate() {
+        return rendererTemplate;
+    }
+
+    /**
+     * @param rendererTemplate the rendererTemplate to set
+     */
+    public void setRendererTemplate(String rendererTemplate) {
+        this.rendererTemplate = rendererTemplate;
+    }
+
+    /**
      * <p class="changed_added_4_0">
      * Reepresent a component family. In the faces-config element that property encoded as
      * <component><component-extension><cdk:component-family>....

Modified: branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java
===================================================================
--- branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java	2010-08-13 19:22:27 UTC (rev 18633)
+++ branches/cdk-8570/cdk/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java	2010-08-13 23:14:53 UTC (rev 18634)
@@ -157,14 +157,12 @@
     @Override
     public void build() throws CdkException {
         Iterable<File> sourceFiles = this.sources.getFiles();
-        if (null != sourceFiles) {
-            for (File file : sourceFiles) {
-                build(file, null);
-            }
+        for (File file : sourceFiles) {
+            build(file, null);
         }
     }
 
-    public void build(File file, RendererModel rendererModel) throws CdkException {
+    public RendererModel build(File file, RendererModel rendererModel) throws CdkException {
         log.debug("RendererTemplateParser.build");
         final String absolutePath = file.getAbsolutePath();
         log.debug("  - file = " + absolutePath);
@@ -183,15 +181,15 @@
         }, absolutePath);
         if (null != existedModel) {
             log.debug("  - Template was already processed.");
-            return;
+            return existedModel;
         }
 
         Template template = parseTemplate(file);
         template.setTemplatePath(absolutePath);
-        mergeTemplateIntoModel(template, rendererModel);
+        return mergeTemplateIntoModel(template, rendererModel);
     }
 
-    protected void mergeTemplateIntoModel(Template template, RendererModel renderer) throws CdkException {
+    protected RendererModel mergeTemplateIntoModel(Template template, RendererModel renderer) throws CdkException {
         CompositeInterface compositeInterface = template.getInterface();
 
         if (renderer == null) {
@@ -232,6 +230,7 @@
                 renderer.getAttributes().add(buildProperty(templateAttribute));
             }
         }
+        return renderer;
     }
 
     private PropertyModel buildProperty(Attribute templateAttribute) {



More information about the richfaces-svn-commits mailing list