You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2008/03/09 20:55:09 UTC
svn commit: r635338 - in
/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main:
java/org/apache/myfaces/buildtools/maven2/plugin/faces/
java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/
java/org/apach...
Author: lu4242
Date: Sun Mar 9 12:55:02 2008
New Revision: 635338
URL: http://svn.apache.org/viewvc?rev=635338&view=rev
Log:
fixes Component generation tomahawk 1.1
Modified:
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateJspTaglibsMojo.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateMasterFacesConfigMojo.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/AbstractComponentGenerator.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/MyFacesComponentGenerator.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ComponentBean.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ConverterBean.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/FacesConfigParser.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/PropertyBean.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/util/Util.java
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateJspTaglibsMojo.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateJspTaglibsMojo.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateJspTaglibsMojo.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateJspTaglibsMojo.java Sun Mar 9 12:55:02 2008
@@ -631,6 +631,13 @@
stream.writeEndElement();
}
+ else if (property.isRtexprvalue())
+ {
+ stream.writeCharacters("\n ");
+ stream.writeStartElement("rtexprvalue");
+ stream.writeCharacters("true");
+ stream.writeEndElement();
+ }
else
{
stream.writeCharacters("\n ");
@@ -773,20 +780,26 @@
while (components.hasNext())
{
ComponentBean component = (ComponentBean)components.next();
- if (!component.isTagClassExcluded()){
+ if (!component.isTagClassExcluded())
+ {
componentGen.generateTagHandler(component);
count++;
}
}
while (converters.hasNext())
{
- converterGen.generateTagHandler((ConverterBean)converters.next(), generatedSourceDirectory);
- count++;
+ ConverterBean converter = (ConverterBean)converters.next();
+ if (!converter.isTagClassExcluded())
+ {
+ converterGen.generateTagHandler(converter, generatedSourceDirectory);
+ count++;
+ }
}
while (validators.hasNext())
{
ValidatorBean validator = (ValidatorBean)validators.next();
- if (!validator.isTagClassExcluded()){
+ if (!validator.isTagClassExcluded())
+ {
validatorGen.generateTagHandler(validator, generatedSourceDirectory);
count++;
}
@@ -823,11 +836,18 @@
Set componentList;
String fullSuperclassName = component.findJspTagSuperclass();
+
if (fullSuperclassName == null)
{
getLog().warn("Missing JSP Tag superclass for component: " + component.getComponentClass()
+ ", generation of this Tag is skipped");
return;
+ }else{
+ if (is12() && "javax.faces.webapp.UIComponentTag".equalsIgnoreCase(fullSuperclassName)){
+ fullSuperclassName = "javax.faces.webapp.UIComponentELTag";
+ }else if (!is12() && "javax.faces.webapp.UIComponentELTag".equalsIgnoreCase(fullSuperclassName)){
+ fullSuperclassName = "javax.faces.webapp.UIComponentTag";
+ }
}
componentList = initComponentList(component, fullSuperclassName);
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateMasterFacesConfigMojo.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateMasterFacesConfigMojo.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateMasterFacesConfigMojo.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/GenerateMasterFacesConfigMojo.java Sun Mar 9 12:55:02 2008
@@ -23,6 +23,7 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.util.HashSet;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
@@ -51,15 +52,54 @@
addResourceRoot(project, targetDirectory.getCanonicalPath());
// Scan for .xrts sources
- DirectoryScanner scanner = new DirectoryScanner();
- scanner.setBasedir(new File(sourceDirectory, sourcePath));
- scanner.addDefaultExcludes();
- scanner.setIncludes(new String[] { "**/*.xml" });
- if (excludes != null)
- scanner.setExcludes(excludes);
- scanner.scan();
+ String [] xmlFiles;
+
+ if (inheritedDirectory != null)
+ {
+ HashSet set = new HashSet();
+
+ DirectoryScanner scanner = new DirectoryScanner();
+ scanner.setBasedir(new File(sourceDirectory, sourcePath));
+ scanner.addDefaultExcludes();
+ scanner.setIncludes(new String[] { "**/*.xml" });
+ if (excludes != null)
+ scanner.setExcludes(excludes);
+ scanner.scan();
+
+ String [] sourceFiles = scanner.getIncludedFiles();
+
+ for (int i = 0; i < sourceFiles.length;i++){
+ set.add(sourceFiles[i]);
+ }
+
+ scanner.setBasedir(new File(inheritedDirectory,sourcePath));
+ scanner.scan();
+
+ sourceFiles = scanner.getIncludedFiles();
+ for (int i = 0; i < sourceFiles.length;i++){
+ set.add(sourceFiles[i]);
+ }
+
+ Object [] result = set.toArray();
+ xmlFiles = new String[result.length];
+ for (int i = 0; i < result.length; i++){
+ xmlFiles[i] = (String) result[i];
+ }
+ }
+ else
+ {
+ DirectoryScanner scanner = new DirectoryScanner();
+ scanner.setBasedir(new File(sourceDirectory, sourcePath));
+ scanner.addDefaultExcludes();
+ scanner.setIncludes(new String[] { "**/*.xml" });
+ if (excludes != null)
+ scanner.setExcludes(excludes);
+ scanner.scan();
+
+ xmlFiles = scanner.getIncludedFiles();
+ }
- String[] xmlFiles = scanner.getIncludedFiles();
+
long lastModified = 0L;
for (int i=0; i < xmlFiles.length; i++)
@@ -140,7 +180,12 @@
* @required
*/
private File sourceDirectory;
-
+
+ /**
+ * @parameter
+ */
+ private File inheritedDirectory;
+
/**
* @parameter
* @readonly
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/AbstractComponentGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/AbstractComponentGenerator.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/AbstractComponentGenerator.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/AbstractComponentGenerator.java Sun Mar 9 12:55:02 2008
@@ -584,7 +584,9 @@
PrettyWriter out) throws IOException
{
out.println();
- out.println("@Override");
+ if (_is12){
+ out.println("@Override");
+ }
out.println("public String getFamily()");
out.println("{");
out.indent();
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/MyFacesComponentGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/MyFacesComponentGenerator.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/MyFacesComponentGenerator.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/component/MyFacesComponentGenerator.java Sun Mar 9 12:55:02 2008
@@ -48,7 +48,11 @@
protected void addSpecificImports(Set imports, ComponentBean component)
{
imports.add("javax.faces.context.FacesContext");
- imports.add("javax.el.ValueExpression");
+ if (_is12){
+ imports.add("javax.el.ValueExpression");
+ }else{
+ imports.add("javax.faces.el.ValueBinding");
+ }
for (Iterator lIterator = component.properties(); lIterator.hasNext();)
{
PropertyBean lPropertyBean = (PropertyBean) lIterator.next();
@@ -71,6 +75,10 @@
String propertyClass = Util.getClassFromFullClass(propertyFullClass);
String propertyGenerics = Util.getGenericsFromProperty(property);
String def = Util.getDefaultValue(property);
+
+ if (propertyClass.endsWith("Boolean")){
+ def = "Boolean.valueOf("+def+")";
+ }
out.println();
out.println("// Property: " + propName);
@@ -306,13 +314,47 @@
out.println("return " + property.getFieldPropertyName() + ";");
out.unindent();
out.println("}");
- out.println("ValueExpression expression = getValueExpression(\"" + property.getPropertyName() + "\");");
- out.println("if (expression != null)");
- out.println("{");
- out.indent();
- out.println("return " + _castIfNecessary(propClass) + "expression.getValue(getFacesContext().getELContext());");
- out.unindent();
- out.println("}");
+ if (_is12){
+ out.println("ValueExpression expression = getValueExpression(\"" + property.getPropertyName() + "\");");
+ out.println("if (expression != null)");
+ out.println("{");
+ out.indent();
+ out.println("return " + _castIfNecessary(propClass) + "expression.getValue(getFacesContext().getELContext());");
+ out.unindent();
+ out.println("}");
+ }
+ else
+ {
+ out.println("ValueBinding vb = getValueBinding(\"" + property.getPropertyName() + "\");");
+ out.println("if (vb != null)");
+ out.println("{");
+ out.indent();
+
+ if (Util.isPrimitiveClass(propFullClass))
+ {
+ out.println("return (" + _castIfNecessary(propClass) + "vb.getValue(getFacesContext()))."+propClass+"Value();");
+ }
+ else
+ {
+ String type = null;
+ if ( (type = Util.getPrimitiveType(propClass)) != null)
+ {
+ out.println("Object value = vb == null ? null : vb.getValue(getFacesContext());");
+ out.println("if (!(value instanceof "+propClass+")){");
+ out.indent();
+ out.println("value = " + Util.getBoxedClass(type) +".valueOf(value.toString());");
+ out.unindent();
+ out.println("}");
+ out.println("return " + _castIfNecessary(propClass) + "value;");
+ }
+ else
+ {
+ out.println("return " + _castIfNecessary(propClass) + "vb.getValue(getFacesContext());");
+ }
+ }
+ out.unindent();
+ out.println("}");
+ }
String ret = Util.getDefaultValue(property);
if (null != ret)
@@ -352,7 +394,9 @@
int arraySize = component.propertiesSize() + primitivePropertiesCount + 1;
out.println();
- out.println("@Override");
+ if (_is12){
+ out.println("@Override");
+ }
out.println("public Object saveState(FacesContext facesContext)");
out.println("{");
out.indent();
@@ -388,14 +432,24 @@
}
else
{
- out.println(arrayName + "[" + propIndex + "] = " + varName + ";");
+ if (!_is12 && Util.isPrimitiveClass(property.getPropertyClass())){
+ out.println(arrayName + "[" + propIndex + "] = "+Util.getBoxedClass(property.getPropertyClass())+".valueOf(" + varName + ");");
+ }
+ else
+ {
+ out.println(arrayName + "[" + propIndex + "] = " + varName + ";");
+ }
}
propIndex++;
if (Util.isPrimitiveClass(property.getPropertyClass()) && !property.isTagAttributeExcluded())
{
- out.println(arrayName + "[" + propIndex + "] = " + _primitiveSetVarName(varName) + ";");
+ if (!_is12){
+ out.println(arrayName + "[" + propIndex + "] = Boolean.valueOf(" + _primitiveSetVarName(varName) + ");");
+ }else{
+ out.println(arrayName + "[" + propIndex + "] = " + _primitiveSetVarName(varName) + ";");
+ }
propIndex++;
}
}
@@ -412,7 +466,9 @@
String arrayName = "values";
out.println();
- out.println("@Override");
+ if (_is12){
+ out.println("@Override");
+ }
out.println("public void restoreState(FacesContext facesContext, Object state)");
out.println("{");
out.indent();
@@ -456,16 +512,26 @@
}
else
{
- out.println(varName + " = " + _castIfNecessary(propClass)
- + arrayName + "[" + propIndex + "];");
+ if (!_is12 && Util.isPrimitiveClass(property.getPropertyClass())){
+ out.println(varName + " = (" + _castIfNecessary(propClass)
+ + arrayName + "[" + propIndex + "])."+propClass+"Value();");
+ }else{
+ out.println(varName + " = " + _castIfNecessary(propClass)
+ + arrayName + "[" + propIndex + "];");
+ }
}
propIndex++;
if (Util.isPrimitiveClass(property.getPropertyClass()) && !property.isTagAttributeExcluded())
{
- out.println(_primitiveSetVarName(varName) + " = (Boolean)"
- + arrayName + "[" + propIndex + "];");
+ if (!_is12){
+ out.println(_primitiveSetVarName(varName) + " = ((Boolean)"
+ + arrayName + "[" + propIndex + "]).booleanValue();");
+ }else{
+ out.println(_primitiveSetVarName(varName) + " = (Boolean)"
+ + arrayName + "[" + propIndex + "];");
+ }
propIndex++;
}
}
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java Sun Mar 9 12:55:02 2008
@@ -246,7 +246,9 @@
if (properties.hasNext() || special)
{
out.println();
- out.println("@Override");
+ if (is12()){
+ out.println("@Override");
+ }
out.println("public void release()");
out.println("{");
out.indent();
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/generator/taglib/MyFacesComponentTagGenerator.java Sun Mar 9 12:55:02 2008
@@ -62,6 +62,12 @@
{
imports.add("javax.el.ValueExpression");
}
+ else
+ {
+ imports.add("javax.faces.el.ValueBinding");
+ imports.add("javax.faces.context.FacesContext");
+ }
+
Iterator properties = component.properties();
properties = new FilteredIterator(properties, new TagAttributeFilter());
@@ -161,7 +167,9 @@
out.println();
// The superclass does not necessarily need to have this method
- out.println("@Override");
+ if (is12()){
+ out.println("@Override");
+ }
out.println("public String getComponentType()");
out.println("{");
out.indent();
@@ -241,7 +249,7 @@
if (!_is12)
{
- out.println("FacesContext context = FacesContext.getCurrentInstance();");
+ out.println("FacesContext context = getFacesContext();");
}
while (properties.hasNext())
@@ -288,7 +296,26 @@
if (property.isLiteralOnly())
{
- out.println("comp.getAttributes().put(\"" + propName + "\", " + propVar + ");");
+ if (_is12){
+ out.println("comp.getAttributes().put(\"" + propName + "\", " + propVar + ");");
+ }else{
+ String propertyClass = property.getPropertyClass().trim();
+ if (propertyClass.startsWith("java.lang.")){
+ propertyClass = propertyClass.replace("java.lang.", "");
+ }
+
+ if (propertyClass.endsWith("eger")){
+ propertyClass = propertyClass.replace("eger", "");
+ }
+
+ if (Util.isPrimitiveClass(propertyClass.toLowerCase())){
+ out.println("comp.getAttributes().put(\"" + propName + "\", " +
+ Util.getBoxedClass(propertyClass.toLowerCase())+".valueOf(" + propVar + "));");
+ }else{
+ out.println("comp.getAttributes().put(\"" + propName + "\", " + propVar + ");");
+ }
+ }
+
}
else if (_is12)
{
@@ -296,7 +323,7 @@
}
else
{
- _writeSetValueBinding(out, propName, propVar);
+ _writeSetValueBinding(out, property, propName, propVar);
}
out.unindent();
out.println("}");
@@ -304,20 +331,48 @@
private void _writeSetValueBinding(
PrettyWriter out,
+ PropertyBean property,
String propName,
String propVar)
{
- out.println("if (isValueReference(" + propVar + ")");
+ out.println("if (isValueReference(" + propVar + "))");
out.println("{");
out.indent();
out.println("ValueBinding vb = context.getApplication().createValueBinding(" + propVar + ");");
- out.println("comp.setValueBinding(\"" + propName + "\", " + propVar + ");");
+ out.println("comp.setValueBinding(\"" + propName + "\", vb);");
out.unindent();
out.println("}");
out.println("else");
out.println("{");
out.indent();
- out.println("comp.getAttributes().put(\"" + propName + "\", " + propVar + ");");
+ if (!is12() && "value".equals(propName))
+ {
+ out.println("comp.setValue(" + propVar + ");");
+ }
+ else
+ {
+ if (Util.isPrimitiveClass(property.getPropertyClass())){
+ out.println("comp.getAttributes().put(\"" + propName + "\", " +
+ Util.getBoxedClass(property.getPropertyClass())+".valueOf(" + propVar + "));");
+ }else{
+ String propertyClass = property.getPropertyClass().trim();
+ if (propertyClass.startsWith("java.lang.")){
+ propertyClass = propertyClass.replace("java.lang.", "");
+ }
+
+ if (propertyClass.endsWith("eger")){
+ propertyClass = propertyClass.replace("eger", "");
+ }
+
+ if (Util.isPrimitiveClass(propertyClass.toLowerCase())){
+ out.println("comp.getAttributes().put(\"" + propName + "\", " +
+ Util.getBoxedClass(propertyClass.toLowerCase())+".valueOf(" + propVar + "));");
+ }else{
+ out.println("comp.getAttributes().put(\"" + propName + "\", " + propVar + ");");
+
+ }
+ }
+ }
out.unindent();
out.println("}");
}
@@ -391,26 +446,32 @@
out.println("{");
out.indent();
- if (isStringMethodBindingReturnType(signature))
+ if (isStringMethodBindingReturnType(signature) || property.getJspPropertyName().equals("action"))
{
out.println("MethodBinding mb;");
out.println("if (isValueReference(" + propVar + "))");
out.indent();
- out.println("mb = createMethodBinding(" + propVar + ", " + classArray + ");");
+ out.println("mb = context.getApplication().createMethodBinding(" + propVar + ", " + classArray + ");");
out.unindent();
out.println("else");
out.indent();
- out.println("mb = new org.apache.myfaces.trinidadinternal.taglib.ConstantMethodBinding(" + propVar + ");");
+
+ if (!is12() && property.getJspPropertyName().equals("action")){
+ out.println("mb = new org.apache.myfaces.shared_tomahawk.el.SimpleActionMethodBinding("+propVar+");");
+ }else{
+ out.println("throw new IllegalStateException(\"Invalid expression \" + "+propVar+");");
+ }
out.unindent();
}
else
{
// never a literal, no need for ConstantMethodBinding
- out.println("MethodBinding mb = createMethodBinding(" + propVar + ", " +
+ out.println("MethodBinding mb = context.getApplication().createMethodBinding(" + propVar + ", " +
classArray + ");");
}
-
- out.println("bean.setProperty(" + componentClass + "." + propKey + ", mb);");
+ String setMethod = Util.getPrefixedPropertyName("set", propName);
+
+ out.println("comp."+setMethod+"(mb);");
out.unindent();
out.println("}");
}
@@ -547,8 +608,8 @@
out.println("if (isValueReference(" + propVar + "))");
out.println("{");
out.indent();
- out.println("ValueBinding vb = createValueBinding(" + propVar + ");");
- out.println("bean.setValueBinding(" + componentClass + "." + propKey + ", vb);");
+ out.println("ValueBinding vb = context.getApplication().createValueBinding(" + propVar + ");");
+ out.println("comp.setValueBinding(\"" +propName+ "\", vb);");
out.unindent();
out.println("}");
out.println("else");
@@ -558,7 +619,7 @@
out.indent();
out.println("createConverter(" + propVar + ");");
out.unindent();
- out.println("bean.setProperty(" + componentClass + "." + propKey + ", converter);");
+ out.println("comp.setConverter(converter);");
out.unindent();
out.println("}");
}
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ComponentBean.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ComponentBean.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ComponentBean.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ComponentBean.java Sun Mar 9 12:55:02 2008
@@ -937,7 +937,8 @@
ComponentBean parent = resolveSupertype();
return (parent != null) ? parent.findComponentClass()
- : _TRINIDAD_COMPONENT_BASE;
+ : (isTrinidadComponent() ?
+ _TRINIDAD_COMPONENT_BASE : _JSF_COMPONENT_BASE);
}
/**
@@ -953,7 +954,8 @@
ComponentBean parent = resolveSupertype();
return (parent != null) ? parent.findJspTagClass()
- : _TRINIDAD_COMPONENT_TAG;
+ : (isTrinidadComponent() ?
+ _TRINIDAD_COMPONENT_TAG : _JSF_COMPONENT_TAG);
}
/**
@@ -1116,5 +1118,11 @@
static private final String _TRINIDAD_COMPONENT_TAG =
"org.apache.myfaces.trinidad.webapp.UIXComponentTag";
+ static private final String _JSF_COMPONENT_BASE =
+ "javax.faces.component.UIComponentBase";
+
+ static private final String _JSF_COMPONENT_TAG =
+ "javax.faces.webapp.UIComponentTag";
+
static private final Logger _LOG = Logger.getLogger(ComponentBean.class.getName());
}
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ConverterBean.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ConverterBean.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ConverterBean.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/ConverterBean.java Sun Mar 9 12:55:02 2008
@@ -138,8 +138,17 @@
addConverterClassModifier(_parseModifier(modifier));
}
+ public void setTagClassExcluded(boolean tagClassExcluded)
+ {
+ _tagClassExcluded = tagClassExcluded;
+ }
+ public boolean isTagClassExcluded()
+ {
+ return _tagClassExcluded;
+ }
+ private boolean _tagClassExcluded;
private String _converterId;
private String _converterClass;
private String _converterSuperClass;
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/FacesConfigParser.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/FacesConfigParser.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/FacesConfigParser.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/FacesConfigParser.java Sun Mar 9 12:55:02 2008
@@ -219,6 +219,8 @@
"isGetLocalMethod");
digester.addBeanPropertySetter("faces-config/component/property/property-extension/is-get-local-method-scope",
"isGetLocalMethodScope");
+ digester.addBeanPropertySetter("faces-config/component/property/property-extension/rtexprvalue",
+ "rtexprvalue");
digester.addCallMethod("faces-config/component/property/property-extension/property-values",
"parsePropertyValues", 1);
@@ -351,6 +353,8 @@
"longDescription");
digester.addBeanPropertySetter("faces-config/converter/converter-extension/tag-class",
"tagClass");
+ digester.addBeanPropertySetter("faces-config/converter/converter-extension/tag-class-excluded",
+ "tagClassExcluded");
digester.addRule("faces-config/converter/converter-extension/tag-name",
new BeanPropertySetterRule("tagName"));
digester.addCallMethod("faces-config/converter/converter-extension/tag-class-modifier",
@@ -360,6 +364,8 @@
// faces-config/converter/property/property-extension
digester.addBeanPropertySetter("faces-config/converter/property/property-extension/tag-attribute-excluded",
"tagAttributeExcluded");
+ digester.addBeanPropertySetter("faces-config/converter/property/property-extension/literal-only",
+ "literalOnly");
// faces-config/validator/validator-extension
digester.addBeanPropertySetter("faces-config/validator/validator-extension/long-description",
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/PropertyBean.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/PropertyBean.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/PropertyBean.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/PropertyBean.java Sun Mar 9 12:55:02 2008
@@ -469,6 +469,17 @@
return _isGetLocalMethodScope;
}
+ public void setRtexprvalue(boolean _rtexprvalue)
+ {
+ this._rtexprvalue = _rtexprvalue;
+ }
+
+ public boolean isRtexprvalue()
+ {
+ return _rtexprvalue;
+ }
+
+ private boolean _rtexprvalue;
private String _isGetLocalMethodScope;
private boolean _isGetLocalMethod;
private String _isSetMethodScope;
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/util/Util.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/util/Util.java?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/util/Util.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/util/Util.java Sun Mar 9 12:55:02 2008
@@ -192,6 +192,27 @@
return buffer.toString();
}
+
+ static public String getPrimitiveType(String className){
+ if (className.startsWith("java.lang."))
+ {
+ className = className.replace("java.lang.", "");
+ }
+
+ if (className.endsWith("eger"))
+ {
+ className = className.replace("eger", "");
+ }
+
+ if (Util.isPrimitiveClass(className.toLowerCase()))
+ {
+ return className.toLowerCase();
+ }else
+ {
+ return null;
+ }
+
+ }
static public String getBoxedClass(
String className)
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl?rev=635338&r1=635337&r2=635338&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl Sun Mar 9 12:55:02 2008
@@ -82,18 +82,33 @@
<xsl:apply-templates select="javaee:factory" />
<xsl:apply-templates select="javaee:component[not(contains(javaee:component-extension/mfp:component-class-modifier/text(), 'abstract')) and
starts-with(javaee:component-type, $typePrefix)]" />
- <xsl:apply-templates select="javaee:converter[contains(javaee:converter-class, $packageContains)]" />
+ <!-- In tomahawk 1.1 some converters should be added
+ on faces-config.xml like javax.math.BigDecimal, if we
+ include javaee:converter[contains(javaee:converter-class, $packageContains)]
+ this class references are not added to faces-config.xml.
+ So we need to add this for avoid check packaageContains -->
+ <xsl:apply-templates select="javaee:converter" />
<xsl:apply-templates select="javaee:managed-bean[contains(javaee:managed-bean-class, $packageContains)]" />
<xsl:apply-templates select="javaee:navigation-rule" />
<xsl:apply-templates select="javaee:referenced-bean" />
<!-- merge the render-kits together -->
- <xsl:for-each select="javaee:render-kit[contains(javaee:render-kit-class, $packageContains)]" >
+ <!-- In tomahawk 1.1 we don't merge render-kit,
+ because we add all components to HTML_BASIC renderkit,
+ and the render-kit-class is missing (myfaces core or jsf ri
+ decide what class implement this).
+ So, here we cannot put
+ javaee:render-kit[contains(javaee:render-kit-class, $packageContains)]
+ again
+ -->
+ <xsl:for-each select="javaee:render-kit" >
<xsl:element name="render-kit" >
<xsl:apply-templates select="javaee:description" />
<xsl:apply-templates select="javaee:display-name" />
<xsl:apply-templates select="javaee:icon" />
<xsl:apply-templates select="javaee:render-kit-id" />
+ <!-- Not required in tomahawk 1.1 -->
<xsl:apply-templates select="javaee:render-kit-class" />
+
<!-- Drop renderers if desired -->
<xsl:if test="$removeRenderers != 'true'">
<xsl:for-each select="key('render-kit-id', javaee:render-kit-id/text())" >