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/11/16 15:54:50 UTC

svn commit: r880777 - in /myfaces/extensions/scripting/trunk: core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloade...

Author: werpu
Date: Mon Nov 16 14:54:49 2009
New Revision: 880777

URL: http://svn.apache.org/viewvc?rev=880777&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-26
streamlining of code

Modified:
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter1.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter2.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator1.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator2.java

Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java?rev=880777&r1=880776&r2=880777&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java Mon Nov 16 14:54:49 2009
@@ -56,10 +56,10 @@
 public class ApplicationProxy extends Application implements Decorated {
 
     Application _delegate = null;
-    private static final String ERR_CONV_ANN_MOVED  = "Converter annotation moved but target was not found";
-    private static final String ERR_ANN_VAL_MOVED   = "Annotation on validator removed but no replacement found";
-    private static final String ERR_ANN_COMP_MOVED  = "Annotation on component removed but no replacement found";
-    private static final String ERR_BEH_NOTFOUND    = "Behavior annotation was moved but could not be found";
+    private static final String ERR_CONV_ANN_MOVED = "Converter annotation moved but target was not found";
+    private static final String ERR_ANN_VAL_MOVED = "Annotation on validator removed but no replacement found";
+    private static final String ERR_ANN_COMP_MOVED = "Annotation on component removed but no replacement found";
+    private static final String ERR_BEH_NOTFOUND = "Behavior annotation was moved but could not be found";
 
     /*
      * separate map needed for the behavior ids, because
@@ -67,7 +67,7 @@
      * we have to do a double bookkeeping
      * here
      */
-    Map <String, String>_behaviors = new ConcurrentHashMap();
+    Map<String, String> _behaviors = new ConcurrentHashMap();
 
 
     public ApplicationProxy(Application delegate) {
@@ -351,7 +351,6 @@
                 //Null not allowed here, but we set a purted converter to make
                 //sure that we get errors on the proper level
                 _delegate.addConverter(converterId, PurgedConverter.class.getName());
-                throw new FacesException(ERR_CONV_ANN_MOVED);
             }
             return;
         }
@@ -367,6 +366,7 @@
     public Converter createConverter(String converterId) {
         weaveDelegate();
         Converter retVal = _delegate.createConverter(converterId);
+
         /**
          * since createConverter is called only once
          * we have to work with method reloading proxies
@@ -375,11 +375,9 @@
          *
          * reloading objects at their interception points
          */
-         if (retVal != null && ProxyUtils.isDynamic(retVal.getClass())) {
-            Converter newRetVal = (Converter) ProxyUtils.getWeaver().reloadScriptingInstance(retVal);
-            if(newRetVal != retVal) {
-                return _delegate.createConverter(converterId);
-            }
+        Converter newRetVal = (Converter) reloadInstance(retVal);
+        if (newRetVal != retVal) {
+            return _delegate.createConverter(converterId);
         }
 
         return retVal;
@@ -388,11 +386,9 @@
     public Converter createConverter(Class aClass) {
         weaveDelegate();
         Converter retVal = _delegate.createConverter(aClass);
-        if (retVal != null && ProxyUtils.isDynamic(retVal.getClass())) {
-            Converter newRetVal = (Converter)ProxyUtils.getWeaver().reloadScriptingInstance(retVal);
-            if(newRetVal != retVal) {
-                return _delegate.createConverter(aClass);
-            }
+        Converter newRetVal = (Converter) reloadInstance(retVal);
+        if (newRetVal != retVal) {
+            return _delegate.createConverter(aClass);
         }
 
         return retVal;
@@ -434,7 +430,7 @@
                 //Null not allowed here, but we set a purted validator to make
                 //sure that we get errors on the proper level
                 _delegate.addValidator(validatorId, PurgedValidator.class.getName());
-                throw new FacesException(ERR_ANN_VAL_MOVED);
+
             }
             return;
         }
@@ -445,12 +441,10 @@
         weaveDelegate();
 
         Validator retVal = _delegate.createValidator(validatorId);
-        if (ProxyUtils.isDynamic(retVal.getClass()) /*&& !Proxy.isProxyClass(retVal.getClass())*/) {
-            //the validators are recreated every request we do not have to deal with them on method level 
-            Validator newRetVal = (Validator) ProxyUtils.getWeaver().reloadScriptingInstance(retVal);
-            if(newRetVal != retVal) {
-                return _delegate.createValidator(validatorId);
-            }
+        //the validators are recreated every request we do not have to deal with them on method level
+        Validator newRetVal = (Validator) reloadInstance(retVal);
+        if (newRetVal != retVal) {
+            return _delegate.createValidator(validatorId);
         }
         return retVal;
     }
@@ -470,7 +464,7 @@
     public void addBehavior(String behaviorId, String behaviorClass) {
         weaveDelegate();
 
-         if (behaviorClass.equals(PurgedValidator.class.getName())) {
+        if (behaviorClass.equals(PurgedValidator.class.getName())) {
             //purged case we do a full rescane
             ProxyUtils.getWeaver().fullAnnotationScan();
             Behavior behavior = (Behavior) _delegate.createBehavior(behaviorId);
@@ -480,7 +474,7 @@
                 //sure that we get errors on the proper level
                 _delegate.addBehavior(behaviorId, PurgedBehavior.class.getName());
                 _behaviors.remove(behaviorId);
-                throw new FacesException(ERR_BEH_NOTFOUND);
+
             }
             return;
         }
@@ -499,13 +493,11 @@
         weaveDelegate();
         Behavior retVal = _delegate.createBehavior(behaviorId);
 
-        if( ProxyUtils.isDynamic(retVal.getClass())) {
-            //we might have casts here against one of the parents
-            //of this object
-            Behavior newBehavior = (Behavior) ProxyUtils.getWeaver().reloadScriptingInstance(retVal);
-            if(newBehavior != retVal) {
-                return _delegate.createBehavior(behaviorId);
-            }
+        //we might have casts here against one of the parents
+        //of this object
+        Behavior newBehavior = (Behavior) reloadInstance(retVal);
+        if (newBehavior != retVal) {
+            return _delegate.createBehavior(behaviorId);
         }
 
         return retVal;
@@ -608,14 +600,11 @@
     public ResourceHandler getResourceHandler() {
         weaveDelegate();
         ResourceHandler retVal = _delegate.getResourceHandler();
-        if(ProxyUtils.isDynamic(retVal.getClass())) {
-            ResourceHandler newHandler = (ResourceHandler) ProxyUtils.getWeaver().reloadScriptingInstance(retVal);
-            if(newHandler != retVal) {
-                return _delegate.getResourceHandler();    
-            }
+        ResourceHandler newHandler = (ResourceHandler) reloadInstance(retVal);
+        if (newHandler != retVal) {
+            return _delegate.getResourceHandler();
         }
         return retVal;
-
     }
 
     @Override
@@ -637,10 +626,6 @@
         ResourceHandler handler = _delegate.getResourceHandler();
         if (handler instanceof PurgedResourceHandler) {
             ProxyUtils.getWeaver().fullAnnotationScan();
-            handler = _delegate.getResourceHandler();
-            if (handler instanceof PurgedResourceHandler) {
-                throw new FacesException("Resource handler annotation was moved but no target was found");
-            }
         }
     }
 
@@ -702,9 +687,7 @@
             //via an additional create component we can check whether a purged component
             //was registered after the reload because the annotation has been removed
             componentToChange = _delegate.createComponent(valueExpression, facesContext, s);
-            if (componentToChange instanceof PurgedComponent) {
-                throw new FacesException(ERR_ANN_COMP_MOVED);
-            }
+
             return componentToChange;
         }
         return oldComponent;
@@ -718,9 +701,7 @@
             //via an additional create component we can check whether a purged component
             //was registered after the reload because the annotation has been removed
             componentToChange = _delegate.createComponent(componentType);
-            if (componentToChange instanceof PurgedComponent) {
-                throw new FacesException(ERR_ANN_COMP_MOVED);
-            }
+
             return componentToChange;
         }
         return oldComponent;
@@ -733,9 +714,7 @@
             //via an additional create component we can check whether a purged component
             //was registered after the reload because the annotation has been removed
             componentToChange = _delegate.createComponent(valueBinding, context, componentType);
-            if (componentToChange instanceof PurgedComponent) {
-                throw new FacesException(ERR_ANN_COMP_MOVED);
-            }
+
             return componentToChange;
         }
         return oldComponent;
@@ -748,9 +727,7 @@
             //via an additional create component we can check whether a purged component
             //was registered after the reload because the annotation has been removed
             componentToChange = _delegate.createComponent(context, resource);
-            if (componentToChange instanceof PurgedComponent) {
-                throw new FacesException(ERR_ANN_COMP_MOVED);
-            }
+
             return componentToChange;
         }
         return oldComponent;
@@ -763,9 +740,7 @@
             //via an additional create component we can check whether a purged component
             //was registered after the reload because the annotation has been removed
             componentToChange = _delegate.createComponent(context, componentType, rendererType);
-            if (componentToChange instanceof PurgedComponent) {
-                throw new FacesException(ERR_ANN_COMP_MOVED);
-            }
+
             return componentToChange;
         }
         return oldComponent;
@@ -781,9 +756,7 @@
             //was registered after the reload because the annotation has been removed
 
             componentToChange = _delegate.createComponent(valueExpression, facesContext, s, s1);
-            if (componentToChange instanceof PurgedComponent) {
-                throw new FacesException(ERR_ANN_COMP_MOVED);
-            }
+
             return componentToChange;
         }
         return oldComponent;

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java?rev=880777&r1=880776&r2=880777&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer1.java Mon Nov 16 14:54:49 2009
@@ -42,6 +42,8 @@
  * the annotation is dynamic you can change it on the fly or move it from one
  * class to the other
  */
+@FacesRenderer(componentFamily = "javax.faces.Input", rendererType = "at.irian.JavaTestRenderer")
+    
 public class JavaTestRenderer1 extends HtmlTextRendererBase {
 
     static Log log = LogFactory.getLog(JavaTestRenderer1.class);

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java?rev=880777&r1=880776&r2=880777&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/JavaTestRenderer2.java Mon Nov 16 14:54:49 2009
@@ -32,7 +32,6 @@
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@FacesRenderer(componentFamily = "javax.faces.Input", rendererType = "at.irian.JavaTestRenderer")
 
 public class JavaTestRenderer2 extends HtmlTextareaRendererBase {
 

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter1.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter1.java?rev=880777&r1=880776&r2=880777&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter1.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter1.java Mon Nov 16 14:54:49 2009
@@ -28,7 +28,7 @@
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@FacesConverter(value="at.irian.CustomConverter")
+
 public class TestConverter1 implements Converter {
     public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
         return "hello from converter1";  //To change body of implemented methods use File | Settings | File Templates.

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter2.java?rev=880777&r1=880776&r2=880777&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestConverter2.java Mon Nov 16 14:54:49 2009
@@ -28,7 +28,7 @@
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-
+@FacesConverter(value="at.irian.CustomConverter")
 public class TestConverter2 implements Converter {
     public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
         return "hello from converter 2";

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator1.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator1.java?rev=880777&r1=880776&r2=880777&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator1.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator1.java Mon Nov 16 14:54:49 2009
@@ -31,7 +31,7 @@
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
-@FacesValidator(value = "at.irian.CustomValidator")
+
 public class TestValidator1 implements Validator {
     public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
         Log log = LogFactory.getLog(TestValidator1.class);

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator2.java?rev=880777&r1=880776&r2=880777&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/renderer/TestValidator2.java Mon Nov 16 14:54:49 2009
@@ -31,6 +31,7 @@
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
+@FacesValidator(value = "at.irian.CustomValidator")
 public class TestValidator2 implements Validator {
     public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
         Log log = LogFactory.getLog(TestValidator1.class);