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");
+    }
+
 }