You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2009/09/18 14:50:28 UTC
svn commit: r816608 -
/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/
Author: werpu
Date: Fri Sep 18 12:50:27 2009
New Revision: 816608
URL: http://svn.apache.org/viewvc?rev=816608&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-18
ongoing works on the annotation bean scanners
Modified:
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BehaviorImplementationListener.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ComponentImplementationListener.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ConverterImplementationListener.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceAnnotationScanner.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceClassAnnotationListener.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ValidatorImplementationListener.java
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java Fri Sep 18 12:50:27 2009
@@ -49,8 +49,27 @@
}
+ /**
+ * simple check we do not check for the contents of the managed property here
+ * This is somewhat a simplification does not drag down the managed property handling
+ * speed too much
+ * <p/>
+ * TODO we have to find a way to enable the checking on managed property level
+ * so that we can replace the meta data on the fly (probably by extending the interface)
+ * for first registration this is enough
+ *
+ * @param name
+ * @param clazz
+ * @return
+ */
public boolean hasToReregister(String name, JavaClass clazz) {
- return !_alreadyRegistered.containsKey(name);
+ ManagedBean mbean = _alreadyRegistered.get(name);
+ return mbean == null || !mbean.getManagedBeanClassName().equals(clazz.getName());
+ }
+
+
+ public void register(Class clazz, String annotationName, Map<String, String> params) {
+ throw new UnsupportedOperationException("Not yet implemented");
}
@@ -90,52 +109,28 @@
private void handleManagedproperties(ManagedBean mbean, JavaField[] fields) {
- //TODO crossport the myfaces 2 code to qdox
for (JavaField field : fields) {
Annotation[] annotations = field.getAnnotations();
if (annotations != null && annotations.length > 0) {
for (Annotation ann : annotations) {
- if (ann.getType().getValue().equals(ManagedProperty.class.getName())) {
-
+ if (ann.getType().getValue().equals(javax.faces.bean.ManagedProperty.class.getName())) {
//TODO implement meta handling
+ org.apache.myfaces.config.impl.digester.elements.ManagedProperty managedProperty =
+ new org.apache.myfaces.config.impl.digester.elements.ManagedProperty();
+ String name = (String) ann.getPropertyMap().get("name");
+ if ((name == null) || "".equals(name)) {
+ name = field.getName();
+ }
+ managedProperty.setPropertyName(name);
+ managedProperty.setPropertyClass(field.getType().getValue()); // FIXME - primitives, arrays, etc.
+ managedProperty.setValue((String) ann.getPropertyMap().get("value"));
+ mbean.addProperty(managedProperty);
}
}
}
}
}
- /*
- for (Field field : fields)
- {
- if (log.isTraceEnabled())
- {
- log.trace(" Scanning field '" + field.getName() + "'");
- }
- javax.faces.bean.ManagedProperty property = (javax.faces.bean.ManagedProperty) field
- .getAnnotation(javax.faces.bean.ManagedProperty.class);
- if (property != null)
- {
- if (log.isDebugEnabled())
- {
- log.debug(" Field '" + field.getName()
- + "' has a @ManagedProperty annotation");
- }
- org.apache.myfaces.config.impl.digester.elements.ManagedProperty mpc =
- new org.apache.myfaces.config.impl.digester.elements.ManagedProperty();
- String name = property.name();
- if ((name == null) || "".equals(name))
- {
- name = field.getName();
- }
- mpc.setPropertyName(name);
- mpc.setPropertyClass(field.getType().getName()); // FIXME - primitives, arrays, etc.
- mpc.setValue(property.value());
- mbc.addProperty(mpc);
- continue;
- }
- }
-
- */
/**
* <p>Return an array of all <code>Field</code>s reflecting declared
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BehaviorImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BehaviorImplementationListener.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BehaviorImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BehaviorImplementationListener.java Fri Sep 18 12:50:27 2009
@@ -35,4 +35,9 @@
public void register(JavaClass clazz, String annotationName, Map<String, String> params) {
//To change body of implemented methods use File | Settings | File Templates.
}
+
+ public void register(Class clazz, String annotationName, Map<String, String> params) {
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
}
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ComponentImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ComponentImplementationListener.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ComponentImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ComponentImplementationListener.java Fri Sep 18 12:50:27 2009
@@ -33,6 +33,11 @@
}
public void register(JavaClass clazz, String annotationName, Map<String, String> params) {
- //To change body of implemented methods use File | Settings | File Templates.
+ //To change body of implemented methods use File | Settings | File Templates.
}
+
+ public void register(Class clazz, String annotationName, Map<String, String> params) {
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
}
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ConverterImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ConverterImplementationListener.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ConverterImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ConverterImplementationListener.java Fri Sep 18 12:50:27 2009
@@ -37,4 +37,8 @@
//To change body of implemented methods use File | Settings | File Templates.
}
+ public void register(Class clazz, String annotationName, Map<String, String> params) {
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
}
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/RendererImplementationListener.java Fri Sep 18 12:50:27 2009
@@ -34,4 +34,9 @@
public void register(JavaClass clazz, String annotationName, Map<String, String> params) {
}
+
+ public void register(Class clazz, String annotationName, Map<String, String> params) {
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
}
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceAnnotationScanner.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceAnnotationScanner.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceAnnotationScanner.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceAnnotationScanner.java Fri Sep 18 12:50:27 2009
@@ -40,9 +40,6 @@
* recursively for additional information
* and then adds the id/name -> class binding information to the correct factory locations,
* wherever possible
- *
- *
- *
*/
public class SourceAnnotationScanner {
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceClassAnnotationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceClassAnnotationListener.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceClassAnnotationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/SourceClassAnnotationListener.java Fri Sep 18 12:50:27 2009
@@ -25,9 +25,9 @@
/**
* @author Werner Punz (latest modification by $Author$)
* @version $Revision$ $Date$
- *
- * We use a source code artefact observer here to register the
- * meta data in the correct registry entries
+ * <p/>
+ * We use a source code artefact observer here to register the
+ * meta data in the correct registry entries
*/
public interface SourceClassAnnotationListener {
@@ -36,5 +36,6 @@
public void register(JavaClass clazz, String annotationName, Map<String, String> params);
+ public void register(Class clazz, String annotationName, Map<String, String> params);
}
Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ValidatorImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ValidatorImplementationListener.java?rev=816608&r1=816607&r2=816608&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ValidatorImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ValidatorImplementationListener.java Fri Sep 18 12:50:27 2009
@@ -35,4 +35,9 @@
public void register(JavaClass clazz, String annotationName, Map<String, String> params) {
//To change body of implemented methods use File | Settings | File Templates.
}
+
+ public void register(Class clazz, String annotationName, Map<String, String> params) {
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
}