You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gc...@apache.org on 2011/05/05 21:28:11 UTC

svn commit: r1099932 - in /myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces: generator/component/TrinidadComponentGenerator.java parse/PropertyBean.java

Author: gcrawford
Date: Thu May  5 19:28:11 2011
New Revision: 1099932

URL: http://svn.apache.org/viewvc?rev=1099932&view=rev
Log:
TRINIDAD-2094 support adding mutable information to property key in the trinidad tools

Modified:
    myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java
    myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/parse/PropertyBean.java

Modified: myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java?rev=1099932&r1=1099931&r2=1099932&view=diff
==============================================================================
--- myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java (original)
+++ myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java Thu May  5 19:28:11 2011
@@ -20,6 +20,7 @@ package org.apache.myfaces.trinidadbuild
 
 import java.io.IOException;
 
+import java.lang.IllegalArgumentException;
 import java.lang.reflect.Modifier;
 
 import java.util.ArrayList;
@@ -134,6 +135,7 @@ public class TrinidadComponentGenerator 
           propClass = "String";
         }
         String propDefault = property.getDefaultValue();
+        String propMutable = _getPropertyMutable(property);
 
         if (!"Object".equals(propClass) || propDefault != null)
         {
@@ -141,6 +143,10 @@ public class TrinidadComponentGenerator 
           String boxedClass = Util.getBoxedClass(propClass);
           out.print(", " + boxedClass + ".class");
         }
+        else if (propMutable != null)
+        {
+          out.print(", Object.class");
+        }
 
         if (propDefault != null)
         {
@@ -151,11 +157,26 @@ public class TrinidadComponentGenerator 
           else
             out.print(", " + convertStringToBoxedLiteral(propClass, propDefault));
         }
+        else if (propMutable != null)
+        {
+          out.print(", null");
+        }
 
         // property capabilities
         String propCaps = _getPropertyCapabilities(property);
+
         if (propCaps != null)
           out.print(", " + propCaps);
+
+        if (propMutable != null)
+        {
+          if (propCaps == null )
+            out.print(", 0");
+
+          out.print(", " + propMutable);
+        }
+
+
         out.println(");");
       }
       out.unindent();
@@ -395,6 +416,31 @@ public class TrinidadComponentGenerator 
     out.println("}");
   }
 
+  private String _getPropertyMutable(
+    PropertyBean property)
+  {
+    String mutable = property.getMutable();
+
+    if (mutable == null || "immutable".equals(mutable))
+      return null;
+
+    if ("rarely".equals(mutable))
+    {
+      return "PropertyKey.Mutable.RARELY";
+    }
+    else if ("sometimes".equals(mutable))
+    {
+      return "PropertyKey.Mutable.SOMETIMES";
+    }
+    else if ("often".equals(mutable))
+    {
+      return "PropertyKey.Mutable.OFTEN";
+    }
+
+    throw new IllegalArgumentException("unknown mutable property \"" + mutable + "\", supported types are immutable, rarely, sometimes, and often");
+
+  }
+
   private String _getPropertyCapabilities(
       PropertyBean property)
   {
@@ -421,11 +467,6 @@ public class TrinidadComponentGenerator 
       caps.add("PropertyKey.CAP_LIST");
     }
 
-    if (property.isMutable())
-    {
-      caps.add("PropertyKey.CAP_MUTABLE");
-    }
-
     if (caps.isEmpty())
       return null;
 

Modified: myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/parse/PropertyBean.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/parse/PropertyBean.java?rev=1099932&r1=1099931&r2=1099932&view=diff
==============================================================================
--- myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/parse/PropertyBean.java (original)
+++ myfaces/trinidad-maven/branches/2.0.x-branch/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/parse/PropertyBean.java Thu May  5 19:28:11 2011
@@ -130,22 +130,22 @@ public class PropertyBean extends Attrib
   }
 
   /**
-   * Sets the mutable flag of this property.
+   * Sets the mutable value of this property.
    *
-   * @param mutable  the property mutable flag
+   * @param mutable  the property mutable value
    */
   public void setMutable(
-    boolean mutable)
+    String mutable)
   {
     _mutable = mutable;
   }
 
   /**
-   * Returns mutable flag of this property.
+   * Returns mutable value of this property.
    *
-   * @return  the property mutable flag
+   * @return  the property mutable value
    */
-  public boolean isMutable()
+  public String getMutable()
   {
     return _mutable;
   }
@@ -572,7 +572,7 @@ public class PropertyBean extends Attrib
   private boolean _stateHolder;
   private boolean _transient;
   private boolean _list;
-  private boolean _mutable;
+  private String  _mutable;
   private boolean _tagAttributeExcluded;
   private boolean _enum;
   private boolean _useMaxTime;