You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2007/01/30 17:57:53 UTC

svn commit: r501469 - /myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/FacesConfigAnnotationVisitor.java

Author: bommel
Date: Tue Jan 30 08:57:52 2007
New Revision: 501469

URL: http://svn.apache.org/viewvc?view=rev&rev=501469
Log:
(TOBAGO-261) tobago-tool-apt

Modified:
    myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/FacesConfigAnnotationVisitor.java

Modified: myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/FacesConfigAnnotationVisitor.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/FacesConfigAnnotationVisitor.java?view=diff&rev=501469&r1=501468&r2=501469
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/FacesConfigAnnotationVisitor.java (original)
+++ myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/FacesConfigAnnotationVisitor.java Tue Jan 30 08:57:52 2007
@@ -117,7 +117,7 @@
   public void process() throws ParserConfigurationException, IOException {
     String sourceFacesConfigFile = null;
     String targetFacesConfigFile = null;
-    for(Map.Entry<String, String> entry: getEnv().getOptions().entrySet()) {
+    for (Map.Entry<String, String> entry : getEnv().getOptions().entrySet()) {
       if (entry.getKey().startsWith("-A" + SOURCE_FACES_CONFIG_KEY + "=")) {
         sourceFacesConfigFile = entry.getKey().substring(SOURCE_FACES_CONFIG_KEY.length() + 3);
       }
@@ -126,7 +126,7 @@
       }
     }
     // TODO remove the foreach
-    for (PackageDeclaration packageDeclaration: getCollectedPackageDeclations()) {
+    for (PackageDeclaration packageDeclaration : getCollectedPackageDeclations()) {
       Document document;
       Writer writer = null;
       try {
@@ -168,14 +168,14 @@
           }
         }
 
-        for (InterfaceDeclaration decl: getCollectedInterfaceDeclations()) {
+        for (InterfaceDeclaration decl : getCollectedInterfaceDeclations()) {
           if (decl.getPackage().equals(packageDeclaration)) {
             addElement(decl, newComponents, namespace);
           }
         }
         List<Element> elementsToAdd = new ArrayList<Element>();
         // sort out duplicates
-        for (Element newElement: newComponents) {
+        for (Element newElement : newComponents) {
           boolean found = containsElement(components, newElement);
           if (!found) {
 
@@ -212,17 +212,17 @@
             facesConfig.toString().replaceFirst(" xmlns=\"http://java.sun.com/JSF/Configuration\"", "");
         // TODO: Find a better way
         facesConfigStr = facesConfigStr.replaceFirst("\"http://java.sun.com/dtd/web-facesconfig_1_1.dtd\"",
-            "\"http://java.sun.com/dtd/web-facesconfig_1_1.dtd\"[\n" 
-            + "<!ELEMENT allowed-child-components (#PCDATA)>\n"
-            + "<!ELEMENT category (#PCDATA)>\n"
-            + "<!ELEMENT deprecated (#PCDATA)>\n"
-            + "<!ELEMENT hidden (#PCDATA)>\n"
-            + "<!ELEMENT preferred (#PCDATA)>\n"
-            + "<!ELEMENT read-only (#PCDATA)>\n"
-            + "<!ELEMENT allows-value-binding (#PCDATA)>\n"
-            + "<!ELEMENT property-values (#PCDATA)>\n"
-            + "<!ELEMENT required (#PCDATA)>\n"
-            + "]");
+            "\"http://java.sun.com/dtd/web-facesconfig_1_1.dtd\"[\n"
+                + "<!ELEMENT allowed-child-components (#PCDATA)>\n"
+                + "<!ELEMENT category (#PCDATA)>\n"
+                + "<!ELEMENT deprecated (#PCDATA)>\n"
+                + "<!ELEMENT hidden (#PCDATA)>\n"
+                + "<!ELEMENT preferred (#PCDATA)>\n"
+                + "<!ELEMENT read-only (#PCDATA)>\n"
+                + "<!ELEMENT allows-value-binding (#PCDATA)>\n"
+                + "<!ELEMENT property-values (#PCDATA)>\n"
+                + "<!ELEMENT required (#PCDATA)>\n"
+                + "]");
         writer.append(facesConfigStr);
 
       } catch (JDOMException e) {
@@ -274,19 +274,20 @@
   }
 
   private boolean containsElement(List<Element> components, Element newElement) {
-    return getEqualElement(components, newElement)!=null;
+    return getEqualElement(components, newElement) != null;
   }
 
   private Element getEqualElement(List<Element> components, Element newElement) {
-    for (Element element: components) {
+    for (Element element : components) {
       if (equals(element, newElement)) {
         return element;
       }
     }
     return null;
   }
-  private int getIndexAfter(Element rootElement, String...tagNames) {
-    for (String tagName: tagNames) {
+
+  private int getIndexAfter(Element rootElement, String... tagNames) {
+    for (String tagName : tagNames) {
       int index = getIndexAfter(rootElement, tagName);
       if (index != 0) {
         return index;
@@ -294,10 +295,11 @@
     }
     return 0;
   }
+
   private int getIndexAfter(Element rootElement, String tagName) {
     List<Element> components = rootElement.getChildren(tagName, rootElement.getNamespace());
     if (!components.isEmpty()) {
-      return rootElement.indexOf(components.get(components.size()-1))+1;
+      return rootElement.indexOf(components.get(components.size() - 1)) + 1;
     }
     return 0;
   }
@@ -313,14 +315,15 @@
     }
     return false;
   }
+
   protected Element createElement(TypeDeclaration decl, UIComponentTag componentTag,
-    Class uiComponentClass, Namespace namespace) throws IOException, NoSuchFieldException, IllegalAccessException {       
+      Class uiComponentClass, Namespace namespace) throws IOException, NoSuchFieldException, IllegalAccessException {
     Field componentField = uiComponentClass.getField("COMPONENT_TYPE");
     String componentType = (String) componentField.get(null);
     Element element = new Element(COMPONENT, namespace);
     String displayName = componentTag.displayName();
     if (displayName.equals("")) {
-        displayName = uiComponentClass.getName().substring(uiComponentClass.getName().lastIndexOf(".")+1);        
+      displayName = uiComponentClass.getName().substring(uiComponentClass.getName().lastIndexOf(".") + 1);
     }
     Element elementDisplayName = new Element(DISPLAY_NAME, namespace);
     elementDisplayName.setText(displayName);
@@ -331,37 +334,37 @@
     Element elementClass = new Element(COMPONENT_CLASS, namespace);
     elementClass.setText(componentTag.uiComponent());
     element.addContent(elementClass);
-    
+
     return element;
   }
-  
+
   private Element createElementExtension(TypeDeclaration decl, UIComponentTag uiComponentTag,
-          Namespace namespace) {      
-      Element elementExtension = new Element(COMPONENT_EXTENSION, namespace);
-      Element elementAllowedChildComponents = new Element(ALLOWED_CHILD_COMPONENTS, namespace);
-      String[] allowedChildComponents = uiComponentTag.allowedChildComponenents();
-      String allowedComponentTypes = "";
-      for (String componentType : allowedChildComponents) {
-          allowedComponentTypes+=componentType+" ";          
-      }
-      elementAllowedChildComponents.setText(allowedComponentTypes);
-      elementExtension.addContent(elementAllowedChildComponents);
-      Element elementCategory = new Element(CATEGORY, namespace);
-      elementCategory.setText(uiComponentTag.category().toString());
-      elementExtension.addContent(elementCategory);      
-      Deprecated deprecated = decl.getAnnotation(Deprecated.class);
-      if (deprecated != null) {
-          Element elementDeprecated = new Element(DEPRECATED, namespace);
-          elementDeprecated.setText("Warning: This component is deprecated!");
-          elementExtension.addContent(elementDeprecated);          
-      }      
-      Element elementHidden = new Element(HIDDEN, namespace);
-      elementHidden.setText(Boolean.toString(uiComponentTag.isHidden()));
-      elementExtension.addContent(elementHidden);
-      
-      return elementExtension;      
+      Namespace namespace) {
+    Element elementExtension = new Element(COMPONENT_EXTENSION, namespace);
+    Element elementAllowedChildComponents = new Element(ALLOWED_CHILD_COMPONENTS, namespace);
+    String[] allowedChildComponents = uiComponentTag.allowedChildComponenents();
+    String allowedComponentTypes = "";
+    for (String componentType : allowedChildComponents) {
+      allowedComponentTypes += componentType + " ";
+    }
+    elementAllowedChildComponents.setText(allowedComponentTypes);
+    elementExtension.addContent(elementAllowedChildComponents);
+    Element elementCategory = new Element(CATEGORY, namespace);
+    elementCategory.setText(uiComponentTag.category().toString());
+    elementExtension.addContent(elementCategory);
+    Deprecated deprecated = decl.getAnnotation(Deprecated.class);
+    if (deprecated != null) {
+      Element elementDeprecated = new Element(DEPRECATED, namespace);
+      elementDeprecated.setText("Warning: This component is deprecated!");
+      elementExtension.addContent(elementDeprecated);
+    }
+    Element elementHidden = new Element(HIDDEN, namespace);
+    elementHidden.setText(Boolean.toString(uiComponentTag.isHidden()));
+    elementExtension.addContent(elementHidden);
+
+    return elementExtension;
   }
-  
+
   protected void addAttribute(MethodDeclaration d, Class uiComponentClass, List properties, List attributes,
       Namespace namespace) {
     UIComponentTagAttribute componentAttribute = d.getAnnotation(UIComponentTagAttribute.class);
@@ -404,7 +407,8 @@
 
           attribute.addContent(attributeName);
           attribute.addContent(attributeClass);
-          attribute.addContent(createPropertyOrAttributeExtension(ATTRIBUTE_EXTENSION, d, componentAttribute, namespace));
+          attribute.addContent(createPropertyOrAttributeExtension(ATTRIBUTE_EXTENSION, d,
+              componentAttribute, namespace));
 
           attributes.add(attribute);
         }
@@ -419,7 +423,7 @@
       attributeClass.setText(Object.class.getName());
     } else {
       String className = componentAttribute.type()[0];
-      attributeClass.setText(className.equals(Boolean.class.getName())?"boolean":className);
+      attributeClass.setText(className.equals(Boolean.class.getName()) ? "boolean" : className);
     }
   }
 
@@ -428,7 +432,7 @@
     if (comment != null) {
       int index = comment.indexOf('@');
       if (index != -1) {
-       comment = comment.substring(0, index);
+        comment = comment.substring(0, index);
       }
       comment = comment.trim();
       if (comment.length() > 0) {
@@ -438,44 +442,44 @@
       }
     }
   }
-  
+
   private Element createPropertyOrAttributeExtension(String extensionType, MethodDeclaration methodDeclaration,
-          UIComponentTagAttribute uiComponentTagAttribute, Namespace namespace) throws IllegalArgumentException {     
-      Element extensionElement = new Element(extensionType, namespace);
-      Element allowsValueBinding = new Element(ALLOWS_VALUE_BINDING, namespace);
-      DynamicExpression dynamicExpression = uiComponentTagAttribute.expression();      
-      allowsValueBinding.setText((dynamicExpression == DynamicExpression.VALUE_BINDING)? "true" : "false");
-      extensionElement.addContent(allowsValueBinding);
-      String[] allowedValues = uiComponentTagAttribute.allowedValues();     
-      if (allowedValues.length > 0) {
-          Element propertyValues = new Element(PROPERTY_VALUES, namespace);
-          String values = "";
-          for (String value : allowedValues) {
-              values+=value+" ";
-          }
-          propertyValues.setText(values);
-          extensionElement.addContent(propertyValues);
-      }
-      Deprecated deprecated = methodDeclaration.getAnnotation(Deprecated.class);
-      if (deprecated != null) {
-          Element elementDeprecated = new Element(DEPRECATED, namespace);
-          elementDeprecated.setText("Warning: This property is deprecated!");
-          extensionElement.addContent(elementDeprecated);          
-      }      
-      Element hidden = new Element(HIDDEN, namespace);
-      hidden.setText(Boolean.toString(uiComponentTagAttribute.isHidden()));
-      extensionElement.addContent(hidden);      
-      Element readOnly = new Element(READONLY, namespace);
-      readOnly.setText(Boolean.toString(uiComponentTagAttribute.isReadOnly()));
-      extensionElement.addContent(readOnly);      
-      TagAttribute tagAttribute = methodDeclaration.getAnnotation(TagAttribute.class);
-      if (tagAttribute != null) {
-          Element required = new Element(REQUIRED, namespace);
-          required.setText(Boolean.toString(tagAttribute.required()));
-          extensionElement.addContent(required);
-      }
-      
-      return extensionElement;        
+      UIComponentTagAttribute uiComponentTagAttribute, Namespace namespace) throws IllegalArgumentException {
+    Element extensionElement = new Element(extensionType, namespace);
+    Element allowsValueBinding = new Element(ALLOWS_VALUE_BINDING, namespace);
+    DynamicExpression dynamicExpression = uiComponentTagAttribute.expression();
+    allowsValueBinding.setText((dynamicExpression == DynamicExpression.VALUE_BINDING) ? "true" : "false");
+    extensionElement.addContent(allowsValueBinding);
+    String[] allowedValues = uiComponentTagAttribute.allowedValues();
+    if (allowedValues.length > 0) {
+      Element propertyValues = new Element(PROPERTY_VALUES, namespace);
+      String values = "";
+      for (String value : allowedValues) {
+        values += value + " ";
+      }
+      propertyValues.setText(values);
+      extensionElement.addContent(propertyValues);
+    }
+    Deprecated deprecated = methodDeclaration.getAnnotation(Deprecated.class);
+    if (deprecated != null) {
+      Element elementDeprecated = new Element(DEPRECATED, namespace);
+      elementDeprecated.setText("Warning: This property is deprecated!");
+      extensionElement.addContent(elementDeprecated);
+    }
+    Element hidden = new Element(HIDDEN, namespace);
+    hidden.setText(Boolean.toString(uiComponentTagAttribute.isHidden()));
+    extensionElement.addContent(hidden);
+    Element readOnly = new Element(READONLY, namespace);
+    readOnly.setText(Boolean.toString(uiComponentTagAttribute.isReadOnly()));
+    extensionElement.addContent(readOnly);
+    TagAttribute tagAttribute = methodDeclaration.getAnnotation(TagAttribute.class);
+    if (tagAttribute != null) {
+      Element required = new Element(REQUIRED, namespace);
+      required.setText(Boolean.toString(tagAttribute.required()));
+      extensionElement.addContent(required);
+    }
+
+    return extensionElement;
   }
 
   protected void addAttributes(InterfaceDeclaration type, Class uiComponentClass, List properties, List attributes,
@@ -511,11 +515,11 @@
 
 
   private void addFacets(UIComponentTag componentTag, Namespace namespace, Element element) {
-    Facet [] facets = componentTag.facets();
-    for (Facet facet: facets) {
+    Facet[] facets = componentTag.facets();
+    for (Facet facet : facets) {
       Element facetElement = new Element(FACET, namespace);
       String description = facet.description();
-      if (description!=null&&description.length() > 0) {
+      if (description != null && description.length() > 0) {
         Element facetDescription = new Element(DESCRIPTION, namespace);
         facetDescription.setText(description);
         facetElement.addContent(facetDescription);
@@ -548,7 +552,7 @@
             element.addContent(createElementExtension(decl, componentTag, namespace));
             components.add(element);
           } else {
-             // TODO add facet and attributes
+            // TODO add facet and attributes
           }
 
         }