You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-commits@incubator.apache.org by ba...@apache.org on 2006/11/27 19:44:04 UTC

svn commit: r479737 - in /incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces: ./ generator/ generator/component/ generator/taglib/ util/

Author: baranda
Date: Mon Nov 27 11:44:03 2006
New Revision: 479737

URL: http://svn.apache.org/viewvc?view=rev&rev=479737
Log:
Applied ADFFACES-306 patch (enhancements and fixes for the maven-myfaces-plugin (Part 2)) by Andreas Berger

Modified:
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/AbstractFacesMojo.java
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateComponentsMojo.java
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/GeneratorHelper.java
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/AbstractComponentGenerator.java
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/MyFacesComponentGenerator.java
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java
    incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/util/Util.java

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/AbstractFacesMojo.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/AbstractFacesMojo.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/AbstractFacesMojo.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/AbstractFacesMojo.java Mon Nov 27 11:44:03 2006
@@ -611,22 +611,23 @@
 "//          or you will lose your changes.\n\n";
 
 
-  static private final int _CURRENT_YEAR = new GregorianCalendar().get(Calendar.YEAR);
-
   static final private String _DEFAULT_LICENSE_HEADER =
-        "/*\n" +
-        "* Copyright "+_CURRENT_YEAR+" The Apache Software Foundation.\n" +
-        "*\n" +
-        "* Licensed under the Apache License, Version 2.0 (the \"License\");\n" +
-        "* you may not use this file except in compliance with the License.\n" +
-        "* You may obtain a copy of the License at\n" +
-        "*\n" +
-        "*     http://www.apache.org/licenses/LICENSE-2.0\n" +
-        "*\n" +
-        "* Unless required by applicable law or agreed to in writing, software\n" +
-        "* distributed under the License is distributed on an \"AS IS\" BASIS,\n" +
-        "* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" +
-        "* See the License for the specific language governing permissions and\n" +
-        "* limitations under the License.\n" +
-        "*/\n";
+                  "/*\n" +
+                  " * Licensed to the Apache Software Foundation (ASF) under one\n" +
+                  " * or more contributor license agreements.  See the NOTICE file\n" +
+                  " * distributed with this work for additional information\n" +
+                  " * regarding copyright ownership.  The ASF licenses this file\n" +
+                  " * to you under the Apache License, Version 2.0 (the\n" +
+                  " * \"License\"); you may not use this file except in compliance\n" +
+                  " * with the License.  You may obtain a copy of the License at\n" +
+                  " *\n" +
+                  " *   http://www.apache.org/licenses/LICENSE-2.0\n" +
+                  " *\n" +
+                  " * Unless required by applicable law or agreed to in writing,\n" +
+                  " * software distributed under the License is distributed on an\n" +
+                  " * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n" +
+                  " * KIND, either express or implied.  See the License for the\n" +
+                  " * specific language governing permissions and limitations\n" +
+                  " * under the License.\n" +
+                  "*/";
 }

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateComponentsMojo.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateComponentsMojo.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateComponentsMojo.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/GenerateComponentsMojo.java Mon Nov 27 11:44:03 2006
@@ -118,12 +118,11 @@
 
     if (component.isTrinidadComponent())
     {
-      generator = new TrinidadComponentGenerator(getLog());
-    }
-    else
-    {
-      generator = new MyFacesComponentGenerator(getLog());
+      generator = new TrinidadComponentGenerator(getLog(), _is12());
     }
+    else {
+		generator = new MyFacesComponentGenerator(getLog(),_is12() );
+	}
 
     try
     {
@@ -270,6 +269,12 @@
     }
   }
 
+	private boolean _is12()
+	{
+		return "1.2".equals(jsfVersion) || "12".equals(jsfVersion);
+	}
+
+
   /**
    * @parameter expression="${project}"
    * @readonly
@@ -315,4 +320,9 @@
    * @parameter
    */
   private boolean suppressListenerMethods;
+
+  /**
+   * @parameter
+   */
+  private String jsfVersion;
 }

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/GeneratorHelper.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/GeneratorHelper.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/GeneratorHelper.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/GeneratorHelper.java Mon Nov 27 11:44:03 2006
@@ -70,7 +70,19 @@
     public static boolean isActionListener(PropertyBean property, boolean is12)
     {
 		return (property.getJspPropertyName().equals("actionListener") &&
-				(property.isMethodExpression()) || (is12 && property.isMethodBinding()));
+				((property.isMethodExpression()) || (is12 && property.isMethodBinding())));
+    }
+
+    public static boolean isValueChangeListener(PropertyBean property, boolean is12)
+    {
+		return (property.getJspPropertyName().equals("valueChangeListener") &&
+				((property.isMethodExpression()) || (is12 && property.isMethodBinding())));
+    }
+
+    public static boolean isValidator(PropertyBean property, boolean is12)
+    {
+		return (property.getJspPropertyName().equals("validator")) &&
+				((property.isMethodExpression()) || (is12 && property.isMethodBinding()));
     }
 
     static public void writeImports(

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/AbstractComponentGenerator.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/AbstractComponentGenerator.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/AbstractComponentGenerator.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/AbstractComponentGenerator.java Mon Nov 27 11:44:03 2006
@@ -46,11 +46,13 @@
 {
 
     private Log _log;
+	boolean _is12;
 
-    public AbstractComponentGenerator(Log log)
+	public AbstractComponentGenerator(Log log, boolean is12)
     {
         _log = log;
-    }
+		_is12 = is12;
+	}
 
     protected Log getLog()
     {
@@ -544,17 +546,25 @@
         {
             PropertyBean property = (PropertyBean) properties.next();
             if (property.isList())
-                writePropertyListMethods(out, property);
+                writePropertyListMethods(out, property, ignoreList);
             else
             {
 				writePropertyDeclaration(out, property);
                 writePropertyGet(out, property, ignoreList);
                 writePropertySet(out, property, ignoreList);
-            }
-        }
+				if (GeneratorHelper.isValidator(property, _is12)){
+					writePropertyListMethods(out, property, ignoreList);
+				}
+			}
+		}
 	}
 
 	abstract protected void writePropertyListMethods(
+			PrettyWriter out,
+			PropertyBean property,
+			Collection inoreList) throws IOException;
+
+	abstract protected void writePropertyListMethods(
             PrettyWriter out,
             PropertyBean property) throws IOException;
 
@@ -611,7 +621,11 @@
         }
         out.println(" * ");
         out.println(" * @param " + propName + "  the new " + propName + " value");
-        out.println(" */");
+		if (property.isMethodBinding() && _is12)
+		{
+			out.println(" * @deprecated");
+		}
+		out.println(" */");
 
         if (isAccessorMethodFinal())
         {
@@ -667,7 +681,11 @@
 
         out.println(" *");
         out.println(" * @return  the new " + propName + " value");
-        out.println(" */");
+		if (property.isMethodBinding() && _is12)
+		{
+			out.println(" * @deprecated");
+		}
+		out.println(" */");
 
         if (isUnchecked)
         {
@@ -804,7 +822,7 @@
                 writeListenersGet(out, event);
             }
         }
-    }
+	}
 
     public void writeListenerAdd(
             PrettyWriter out,

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/MyFacesComponentGenerator.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/MyFacesComponentGenerator.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/MyFacesComponentGenerator.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/MyFacesComponentGenerator.java Mon Nov 27 11:44:03 2006
@@ -20,10 +20,13 @@
 import org.apache.myfaces.trinidadbuild.plugin.faces.parse.ComponentBean;
 import org.apache.myfaces.trinidadbuild.plugin.faces.parse.PropertyBean;
 import org.apache.myfaces.trinidadbuild.plugin.faces.util.Util;
+import org.apache.myfaces.trinidadbuild.plugin.faces.generator.GeneratorHelper;
 
 import java.io.IOException;
 import java.util.Iterator;
 import java.util.Set;
+import java.util.Collection;
+import java.util.ArrayList;
 
 /**
  * Component generator for MyFaces
@@ -33,17 +36,27 @@
  */
 public class MyFacesComponentGenerator extends AbstractComponentGenerator
 {
-    public MyFacesComponentGenerator(Log log)
+
+	public MyFacesComponentGenerator(Log log, boolean is12)
     {
-        super(log);
-    }
+        super(log, is12);		
+	}
 
 
     protected void addSpecificImports(Set imports, ComponentBean component)
     {
         imports.add("javax.faces.context.FacesContext");
         imports.add("javax.el.ValueExpression");
-    }
+		for (Iterator lIterator = component.properties(); lIterator.hasNext();) {
+			PropertyBean lPropertyBean = (PropertyBean) lIterator.next();
+			if (GeneratorHelper.isValidator(lPropertyBean, _is12)){
+				imports.add("javax.faces.validator.Validator");
+				imports.add("java.util.ArrayList");
+				imports.add("java.util.List");
+				break;
+			}
+		}
+	}
 
     public void writePropertyDeclaration(PrettyWriter out,
                                          PropertyBean property) throws IOException
@@ -52,12 +65,15 @@
         String fieldPropName = property.getFieldPropertyName();
         String propertyFullClass = property.getPropertyClass();
         String propertyClass = Util.getClassFromFullClass(propertyFullClass);
+        String propertyGenerics = Util.getGenericsFromProperty(property);
+        String def = Util.getDefaultValue(property);
 
         out.println();
         out.println("// Property: " + propName);
-        out.println("private " + propertyClass + " " + fieldPropName + ";");
+        out.println("private " + propertyClass + propertyGenerics +  " " +
+                fieldPropName + (def==null?";":" = "+def+";"));
 
-        if (Util.isPrimitiveClass(propertyFullClass))
+        if (Util.isPrimitiveClass(propertyFullClass) && !property.isTagAttributeExcluded())
         {
             out.println("private boolean " + fieldPropName + "Set;");
         }
@@ -82,20 +98,120 @@
         // nothing
     }
 
-    protected void writeConstructorContent(PrettyWriter out, ComponentBean component, int modifiers, String rendererType) throws IOException
+	protected void writeConstructorContent(PrettyWriter out, ComponentBean component, int modifiers, String rendererType) throws IOException
     {
         out.println("setRendererType("+rendererType+");");
     }
 
-    protected void writePropertySetterMethodBody(PrettyWriter out,
+	protected void writePropertyListMethods(PrettyWriter out, PropertyBean property, Collection ignoreList)
+	{
+		String propName = property.getPropertyName();
+        String generic;
+        String type;
+        boolean  isValidator = GeneratorHelper.isValidator(property, _is12);
+        if (isValidator){
+            generic = "<Validator>";
+            type = "Validator";
+        } else if (property.getAttributeClassParameters().length == 1){
+            generic = Util.getGenericsFromProperty(property);
+            type = Util.getClassFromFullClass(property.getAttributeClassParameters()[0]);
+        } else {
+            throw new IllegalArgumentException("only one Generic Parameter is allowed for Lists");
+        }
+
+        String singularName = getSingular(propName);
+        String propVar = Util.getVariableFromName(singularName);
+        String description = property.getDescription();
+        String addMethod = Util.getPrefixedPropertyName("add", singularName);
+        String removeMethod = Util.getPrefixedPropertyName("remove", singularName);
+        String getMethod = Util.getPrefixedPropertyName("get", singularName+"s");
+		String fieldPropName = property.getFieldPropertyName()+(isValidator?"List":"");
+
+		out.println();
+        out.println("// Property: " + propName);
+        out.println("private List"+ generic + " " + fieldPropName + ";");
+		if (ignoreList == null || !ignoreList.contains(addMethod)){
+			out.println();
+			out.println("/**");
+			if (description != null)
+			{
+				out.println(" * Adds a " + convertMultilineComment(description));
+			}
+			out.println(" */");
+			out.println("public void " + addMethod + "( "+type + " " +
+					propVar + ")");
+			out.println("{");
+			out.indent();
+			out.println("if ("+propVar+" == null) throw new NullPointerException(\""+propVar+"\");");
+			out.println("if (" + fieldPropName + " == null)");
+			out.println("  "+fieldPropName + " = new ArrayList"+generic +"();");
+			out.println();
+			out.println(fieldPropName+".add("+ propVar + ");");
+			out.unindent();
+			out.println("}");
+		}
+
+		if (ignoreList == null || !ignoreList.contains(removeMethod)){
+			out.println();
+			out.println("/**");
+			if (description != null)
+			{
+				out.println(" * Removes a " + convertMultilineComment(description));
+			}
+			out.println(" */");
+			out.println("public void " + removeMethod + "( "+type + " " + propVar + ")");
+			out.println("{");
+			out.indent();
+			out.println("if (" + propVar + " == null || "+fieldPropName+" == null)");
+			out.println("  return;");
+			out.println();
+			out.println(fieldPropName+ ".remove(" + propVar + ");");
+			out.unindent();
+			out.println("}");
+		}
+
+		if (ignoreList == null || !ignoreList.contains(getMethod)){
+            if (isValidator){
+                out.println("private static final "+type + "[] EMPTY_"+type.toUpperCase()+"_ARRAY = new "+type + "[0];");
+            }
+			out.println();
+			out.println("/**");
+			if (description != null)
+			{
+				out.println(" * Gets all " + convertMultilineComment(description));
+			}
+			out.println(" */");
+			if (isValidator){
+                out.println("public "+type + "[] " + getMethod + "()");
+            } else {
+                out.println("public List"+ generic + " "  + getMethod + "()");
+            }
+			out.println("{");
+			out.indent();
+            if (isValidator){
+                out.println("return "+fieldPropName+"== null? EMPTY_"+type.toUpperCase()+"_ARRAY : "+fieldPropName+".toArray(new "+type+"["+fieldPropName+".size()]);");
+            } else {
+                out.println("if ("+fieldPropName+" == null)");
+                out.indent();
+                out.println(fieldPropName+" = new ArrayList<"+type+">();");
+                out.unindent();
+                out.println("return "+fieldPropName+";");
+            }
+			out.unindent();
+			out.println("}");
+		}
+	}
+
+	protected void writePropertySetterMethodBody(PrettyWriter out,
                                               PropertyBean property,
                                               String propertyClass) throws IOException
     {
         String varName = property.getFieldPropertyName();
+        String propVar = Util.getVariableFromName(property.getPropertyName());
 
-        out.println("this."+varName+" = "+property.getPropertyName()+";");
+        out.println("this."+varName+" = "+ propVar +";");
 
-        if (Util.isPrimitiveClass(propertyClass))
+        if (Util.isPrimitiveClass(propertyClass) && !property.isTagAttributeExcluded())
         {
             out.println("this."+_primitiveSetVarName(varName)+" = true;");
         }
@@ -105,38 +221,48 @@
                                               PropertyBean property) throws IOException
     {
         String varName = property.getFieldPropertyName();
-        String propName = property.getPropertyName();
+        String propVar = Util.getVariableFromName(property.getPropertyName());
         String propFullClass = property.getPropertyClass();
         String propClass = Util.getClassFromFullClass(propFullClass);
-
-        if (Util.isPrimitiveClass(propFullClass))
-        {
-            out.println("if ("+ _primitiveSetVarName(varName)+")");
+        if (property.isTagAttributeExcluded()){
+            out.println("return "+property.getFieldPropertyName()+";");
         }
         else
         {
-            out.println("if ("+varName+" != null)");
-        }
-        out.println("{");
-        out.indent();
-        out.println("return "+property.getFieldPropertyName()+";");
-        out.unindent();
-        out.println("}");
-        out.println("ValueExpression expression = getValueExpression(\""+propName+"\");");
-        out.println("if (expression != null)");
-        out.println("{");
-        out.indent();
-        out.println("return "+_castIfNecessary(propClass)+"expression.getValue(getFacesContext().getELContext());");
-        out.unindent();
-        out.println("}");
+            if (Util.isPrimitiveClass(propFullClass))
+            {
+                out.println("if ("+ _primitiveSetVarName(varName)+")");
+            }
+            else
+            {
+                out.println("if ("+varName+" != null)");
+            }
+            out.println("{");
+            out.indent();
+            out.println("return "+property.getFieldPropertyName()+";");
+            out.unindent();
+            out.println("}");
+            out.println("ValueExpression expression = getValueExpression(\""+propVar+"\");");
+            out.println("if (expression != null)");
+            out.println("{");
+            out.indent();
+            out.println("return "+_castIfNecessary(propClass)+"expression.getValue(getFacesContext().getELContext());");
+            out.unindent();
+            out.println("}");
 
-        if (Util.isPrimitiveClass(propFullClass))
-        {
-            out.println("return "+Util.primitiveDefaultValue(propFullClass)+";");
-        }
-        else
-        {
-            out.println("return null;");
+            String ret = Util.getDefaultValue(property);
+            if (null != ret)
+            {
+                out.println("return "+ ret +";");
+            }
+            else if (Util.isPrimitiveClass(propFullClass))
+            {
+                out.println("return "+Util.primitiveDefaultValue(propFullClass)+";");
+            }
+            else
+            {
+                out.println("return null;");
+            }
         }
     }
 
@@ -180,7 +306,12 @@
             if (property.isStateHolder())
             {
                 out.println(arrayName+"["+propIndex+"] = saveAttachedState(facesContext, "+varName+");");
-            }
+				if (GeneratorHelper.isValidator(property, _is12)){
+					out.println(arrayName+"["+ ++propIndex+"] = saveAttachedState(facesContext, "+varName+"List);");
+				} else if( property.isList()){
+                    out.println(arrayName+"["+ ++propIndex+"] = saveAttachedState(facesContext, "+varName+");");
+                }
+			}
             else
             {
                 out.println(arrayName+"["+propIndex+"] = "+varName+";");
@@ -188,7 +319,7 @@
 
             propIndex++;
 
-            if (Util.isPrimitiveClass(property.getPropertyClass()))
+            if (Util.isPrimitiveClass(property.getPropertyClass()) && !property.isTagAttributeExcluded())
             {
                 out.println(arrayName+"["+propIndex+"] = "+_primitiveSetVarName(varName)+";");
                 propIndex++;
@@ -229,7 +360,15 @@
             {
                 out.println(varName + " = "+_castIfNecessary(propClass)+"restoreAttachedState(facesContext, "
                     + arrayName + "[" + propIndex + "]);");
-            }
+				if (GeneratorHelper.isValidator(property, _is12)){
+					out.println(varName + "List = (List<Validator>) restoreAttachedState(facesContext, "
+                    + arrayName + "[" + ++propIndex + "]);");
+				} else if( property.isList()){
+                    out.println(varName + " = (List) restoreAttachedState(facesContext, "
+                    + arrayName + "[" + ++propIndex + "]);");
+                }
+
+			}
             else
             {
                 out.println(varName + " = " + _castIfNecessary(propClass)
@@ -238,7 +377,7 @@
 
             propIndex++;
 
-            if (Util.isPrimitiveClass(property.getPropertyClass()))
+            if (Util.isPrimitiveClass(property.getPropertyClass()) && !property.isTagAttributeExcluded())
             {
                 out.println(_primitiveSetVarName(varName) + " = (Boolean)"
                     + arrayName + "[" + propIndex + "];");

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/component/TrinidadComponentGenerator.java Mon Nov 27 11:44:03 2006
@@ -29,12 +29,13 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
+import java.util.Collection;
 
 public class TrinidadComponentGenerator extends AbstractComponentGenerator
 {
-    public TrinidadComponentGenerator(Log log)
+    public TrinidadComponentGenerator(Log log, boolean is12)
     {
-        super(log);
+        super(log, is12);
     }
 
     protected void addSpecificImports(Set imports, ComponentBean component)
@@ -70,7 +71,11 @@
         out.println("super("+rendererType+");");
     }
 
-    public void writePropertyConstants(
+	protected void writePropertyListMethods(PrettyWriter out, PropertyBean property, Collection gnoreList) {
+		// nothing
+	}
+
+	public void writePropertyConstants(
             PrettyWriter out,
             String superclassName,
             ComponentBean component) throws IOException
@@ -311,8 +316,7 @@
         out.println("}");
     }
 
-
-    public void writeOther(PrettyWriter out, ComponentBean component) throws IOException
+	public void writeOther(PrettyWriter out, ComponentBean component) throws IOException
     {
         _writeGetBeanType(out);
 

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java Mon Nov 27 11:44:03 2006
@@ -28,6 +28,7 @@
 import java.util.Set;
 import java.util.Collection;
 import java.util.HashSet;
+import java.awt.event.ActionListener;
 
 /**
  * Component tag generator for myfaces
@@ -80,6 +81,14 @@
 					{
 						imports.add("javax.faces.event.MethodExpressionActionListener");
 					}
+                    if (GeneratorHelper.isValueChangeListener(property, _is12))
+					{
+						imports.add("javax.faces.event.MethodExpressionValueChangeListener");
+					}
+                    if (GeneratorHelper.isValidator(property, _is12))
+					{
+						imports.add("javax.faces.validator.MethodExpressionValidator");
+					}
 				}
                 else
                 {
@@ -94,6 +103,14 @@
             {
                 imports.add("javax.faces.event.MethodExpressionActionListener");
             }
+            else if (GeneratorHelper.isValueChangeListener(property, _is12))
+            {
+                imports.add("javax.faces.event.MethodExpressionValueChangeListener");
+            }
+            else if (GeneratorHelper.isValidator(property, _is12))
+            {
+                imports.add("javax.faces.validator.MethodExpressionValidator");
+            }
         }
     }
 
@@ -220,7 +237,7 @@
       {
         _writeSetConverter(out, componentClass, propName);
       }
-      else 
+      else
       {
         _writeSetProperty(out, propName, propVar);
       }
@@ -286,7 +303,17 @@
 			if (GeneratorHelper.isActionListener(property, _is12))
 			{
 				out.println("comp.addActionListener(new MethodExpressionActionListener(" + propVar + "));");
-			} else {
+			}
+			else if (GeneratorHelper.isValueChangeListener(property, _is12))
+			{
+				out.println("comp.addValueChangeListener(new MethodExpressionValueChangeListener(" + propVar + "));");
+			}
+            else if (GeneratorHelper.isValidator(property, _is12))
+			{
+				out.println("comp.addValidator(new MethodExpressionValidator(" + propVar + "));");
+			}
+			else
+			{
 				out.println("bean.setProperty(" + componentClass + "." + propKey + ", " +
 						"new MethodExpressionMethodBinding(" + propVar + "));");
 			}
@@ -454,7 +481,7 @@
             out.println("if (!" + propVar + ".isLiteralText())");
             out.println("{");
             out.indent();
-            out.println("bean.setValueExpression(" + componentClass + "." + propKey + ", " + propVar + ");");
+            out.println("comp.setValueExpression(\""+propName+"\", "+propVar+");");
             out.unindent();
             out.println("}");
             out.println("else");
@@ -469,7 +496,7 @@
             out.indent();
             out.println("createConverter(o.toString());");
             out.unindent();
-            out.println("bean.setProperty(" + componentClass + "." + propKey + ", converter);");
+            out.println("comp.setConverter(converter);");
 
             out.unindent();
             out.println("}");

Modified: incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/util/Util.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/util/Util.java?view=diff&rev=479737&r1=479736&r2=479737
==============================================================================
--- incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/util/Util.java (original)
+++ incubator/adffaces/branches/myfaces-1_2-maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/util/Util.java Mon Nov 27 11:44:03 2006
@@ -39,6 +39,17 @@
     return (className != null && className.indexOf('.') != -1);
   }
 
+  public static String getGenericsFromProperty(PropertyBean property){
+      String gen = "";
+      for (int i = 0; i < property.getAttributeClassParameters().length; i++) {
+          if (i>0){
+              gen += ",";
+          }
+          gen += getClassFromFullClass(property.getAttributeClassParameters()[i]);          
+      }
+      return (gen.length() > 0?"<"+gen+">":gen);
+  }
+
   static public String getClassFromFullClass(
     String fullClass)
   {
@@ -46,7 +57,6 @@
       return null;
 
     int lastSep = fullClass.lastIndexOf('.');
-
     // Note: this code also works for the empty package
     return (fullClass.substring(lastSep + 1));
   }
@@ -296,6 +306,24 @@
       return value;
     }
   }
+
+    static public String getDefaultValue(PropertyBean property){
+        String propertyFullClass = property.getPropertyClass();
+        String def = property.getDefaultValue();
+        if (def == null || def.length() == 0){
+            return null;
+        }
+        if (isPrimitiveClass(propertyFullClass)){
+            return def;
+        } else if ("java.lang.String".equals(propertyFullClass)){
+            if (def.startsWith("\"") && def.endsWith("\"")){
+                return def;
+            } else {
+                return "\""+def+"\"";
+            }
+        }
+        return null;
+    }
 
     static private void _buildPropertyClass(StringBuffer buffer, String type)
   {