You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by im...@apache.org on 2007/11/08 11:42:01 UTC
svn commit: r593120 - in
/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm:
annot/ui/DisplaySize.java component/dynaForm/DynaForm.java
lib/_FacesUtils.java metadata/impl/ejb/EjbExtractor.java
Author: imario
Date: Thu Nov 8 02:42:00 2007
New Revision: 593120
URL: http://svn.apache.org/viewvc?rev=593120&view=rev
Log:
allow to annotate the displaySize of an input field, copy the rendered attribute to the generated label and/or datatable column
Added:
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplaySize.java
- copied, changed from r592723, myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplayOnly.java
Modified:
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/component/dynaForm/DynaForm.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/lib/_FacesUtils.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java
Copied: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplaySize.java (from r592723, myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplayOnly.java)
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplaySize.java?p2=myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplaySize.java&p1=myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplayOnly.java&r1=592723&r2=593120&rev=593120&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplayOnly.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/annot/ui/DisplaySize.java Thu Nov 8 02:42:00 2007
@@ -24,10 +24,11 @@
import java.lang.annotation.Target;
/**
- * do not render any input. e.g uses outputText instead
+ * the display size for input fields in characters (where possible)
*/
@Target(value = {ElementType.METHOD, ElementType.FIELD})
@Retention(value = RetentionPolicy.RUNTIME)
-public @interface DisplayOnly
+public @interface DisplaySize
{
-}
+ int value();
+}
\ No newline at end of file
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/component/dynaForm/DynaForm.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/component/dynaForm/DynaForm.java?rev=593120&r1=593119&r2=593120&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/component/dynaForm/DynaForm.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/component/dynaForm/DynaForm.java Thu Nov 8 02:42:00 2007
@@ -106,23 +106,7 @@
column.setHeader(label);
column.getAttributes().put(DynaForm.DYNA_FORM_CREATED, Boolean.TRUE);
- /*
- int addPos = -1;
- UIComponent dataIndicator = this.destCmp.findComponent("data");
- if (dataIndicator != null)
- {
- addPos = this.destCmp.getChildren().indexOf(dataIndicator);
- }
-
- if (addPos > -1)
- {
- this.destCmp.getChildren().add(addPos, column);
- }
- else
- {
- this.destCmp.getChildren().add(column);
- }
- */
+ _FacesUtils.copyRendered(component, column);
this.destCmp.getChildren().add(column);
}
@@ -141,6 +125,8 @@
@SuppressWarnings("unchecked")
public void newComponent(String fieldName, UIComponent label, UIComponent component)
{
+ _FacesUtils.copyRendered(component, label);
+
this.destCmp.getChildren().add(label);
this.destCmp.getChildren().add(component);
}
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/lib/_FacesUtils.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/lib/_FacesUtils.java?rev=593120&r1=593119&r2=593120&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/lib/_FacesUtils.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/lib/_FacesUtils.java Thu Nov 8 02:42:00 2007
@@ -19,6 +19,9 @@
package org.apache.myfaces.orchestra.dynaForm.lib;
import javax.faces.application.Application;
+import javax.faces.component.UIComponent;
+import javax.faces.el.ValueBinding;
+import javax.el.ValueExpression;
/**
* Some JSF helpers, e.g. to determine the used JSF Version
@@ -57,5 +60,32 @@
public static boolean useValueExpression()
{
return getVersion() > 11;
+ }
+
+ public static void copyRendered(UIComponent source, UIComponent destination)
+ {
+ boolean renderedSet = false;
+ if (useValueExpression())
+ {
+ ValueExpression ve = source.getValueExpression("rendered");
+ if (ve != null)
+ {
+ destination.setValueExpression("rendered", ve);
+ renderedSet = true;
+ }
+ }
+ else
+ {
+ ValueBinding vb = source.getValueBinding("rendered");
+ if (vb != null)
+ {
+ destination.setValueBinding("rendered", vb);
+ renderedSet = true;
+ }
+ }
+ if (!renderedSet)
+ {
+ destination.setRendered(destination.isRendered());
+ }
}
}
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java?rev=593120&r1=593119&r2=593120&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java Thu Nov 8 02:42:00 2007
@@ -22,6 +22,7 @@
import org.apache.myfaces.orchestra.dynaForm.annot.ui.ComponentHandler;
import org.apache.myfaces.orchestra.dynaForm.annot.ui.DataProvider;
import org.apache.myfaces.orchestra.dynaForm.annot.ui.DisplayOnly;
+import org.apache.myfaces.orchestra.dynaForm.annot.ui.DisplaySize;
import org.apache.myfaces.orchestra.dynaForm.annot.ui.IgnoreProperty;
import org.apache.myfaces.orchestra.dynaForm.annot.ui.Length;
import org.apache.myfaces.orchestra.dynaForm.annot.ui.Max;
@@ -603,6 +604,12 @@
Range annot = accessibleObject.getAnnotation(Range.class);
mdField.setMinValue((double) annot.min());
mdField.setMaxValue((double) annot.max());
+ }
+
+ if (accessibleObject.isAnnotationPresent(DisplaySize.class))
+ {
+ DisplaySize displaySize = accessibleObject.getAnnotation(DisplaySize.class);
+ mdField.setDisplaySize(displaySize.value());
}
}