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 2012/03/16 12:46:56 UTC

svn commit: r1301446 - in /myfaces/extensions/scripting/trunk: extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/ extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/...

Author: werpu
Date: Fri Mar 16 11:46:56 2012
New Revision: 1301446

URL: http://svn.apache.org/viewvc?rev=1301446&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-156 fixing an annotation move issue in my component testcase

Modified:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/RenderkitProxy.java
    myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java
    myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/RenderkitProxy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/RenderkitProxy.java?rev=1301446&r1=1301445&r2=1301446&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/RenderkitProxy.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/RenderkitProxy.java Fri Mar 16 11:46:56 2012
@@ -31,7 +31,6 @@ import javax.faces.render.Renderer;
 import javax.faces.render.ResponseStateManager;
 import java.io.OutputStream;
 import java.io.Writer;
-import java.lang.reflect.Field;
 import java.util.Iterator;
 
 /**
@@ -56,7 +55,6 @@ public class RenderkitProxy extends Rend
         weaveDelegate();
         //wo do it brute force here because we have sometimes casts and hence cannot rely on proxies
         //renderers itself are flyweight patterns which means they are shared over objects
-
         renderer = (Renderer) reloadInstance(renderer, ScriptingConst.ARTIFACT_TYPE_RENDERER);
 
         _delegate.addRenderer(componentFamily, rendererType, renderer);
@@ -77,7 +75,7 @@ public class RenderkitProxy extends Rend
             String name = proxiedObject.getClass().getName();
             while (name.contains("ExtVal") && (name.contains("Wrapper") || name.contains("Proxy")))
             {
-                proxiedObject = (Renderer)  ReflectUtil.getField(proxiedObject,
+                proxiedObject = (Renderer) ReflectUtil.getField(proxiedObject,
                         "wrapped", true);
                 name = proxiedObject.getClass().getName();
             }
@@ -89,53 +87,54 @@ public class RenderkitProxy extends Rend
             e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
         }
 
-
         return proxiedObject;
     }
 
-    private Renderer proxy(Renderer proxy, Renderer toBeProxied)
+    private Renderer applyToProxy(Renderer proxy, Renderer toBeProxied)
     {
-            Renderer oldProxiedObject = proxy;
-           try
-           {
-               //extval
-   
-               String name = proxy.getClass().getName();
-               while (name.contains("ExtVal") && (name.contains("Wrapper") || name.contains("Proxy")))
-               {
-                   oldProxiedObject = proxy;
-                   proxy = (Renderer) ReflectUtil.getField(proxy,"wrapped", true); //(Renderer) proxiedField.get(proxy);
-                   name = proxy.getClass().getName();
-                   if(!name.contains("ExtVal") && !(name.contains("Wrapper") || name.contains("Proxy"))) {
-                       ReflectUtil.setField(oldProxiedObject,"wrapped", proxy, true);
-                       return proxy;
-                   }
-               }
-           }
-           catch (RuntimeException e)
-           {
-               e.printStackTrace();
-           }
-           return  toBeProxied;
+        Renderer oldProxiedObject = proxy;
+        try
+        {
+            //extval
+
+            String name = proxy.getClass().getName();
+            while (name.contains("ExtVal") && (name.contains("Wrapper") || name.contains("Proxy")))
+            {
+                oldProxiedObject = proxy;
+                proxy = (Renderer) ReflectUtil.getField(proxy, "wrapped", true); //(Renderer) proxiedField.get(proxy);
+                name = proxy.getClass().getName();
+                if (!name.contains("ExtVal") && !(name.contains("Wrapper") || name.contains("Proxy")))
+                {
+                    ReflectUtil.setField(oldProxiedObject, "wrapped", proxy, true);
+                    return proxy;
+                }
+            }
+        }
+        catch (RuntimeException e)
+        {
+            e.printStackTrace();
+        }
+        return toBeProxied;
     }
+
     public Renderer getRenderer(String componentFamily, String rendererType)
     {
         weaveDelegate();
-        Renderer rendr = _delegate.getRenderer(componentFamily, rendererType);
-        Renderer unproxiedRendr = unproxy(rendr);
-        if(unproxiedRendr.getClass().getName().contains("JavaTestRenderer1")) {
+        if (rendererType.contains("JavaTestRenderer"))
+        {
             System.out.println("Debugpoint found");
         }
+
+        Renderer rendr = _delegate.getRenderer(componentFamily, rendererType);
+        Renderer unproxiedRendr = unproxy(rendr);
+
         //TODO extval proxy handling here
         Renderer rendr2 = (Renderer) reloadInstance(unproxiedRendr, ScriptingConst.ARTIFACT_TYPE_RENDERER);
         if (unproxiedRendr != rendr2)
         {
             Renderer tempRenderer = _delegate.getRenderer(componentFamily, rendererType);
-            /**<></>if (tempRenderer instanceof PurgedRenderer) {
-             return handleAnnotationChange(componentFamily, rendererType);
-             } */
             //in case of a renderer proxy we have to weave the original object back in
-            rendr2 = proxy(rendr ,rendr2);
+            rendr2 = applyToProxy(rendr, rendr2);
             _delegate.addRenderer(componentFamily, rendererType, rendr2);
             return rendr2;
         }

Modified: myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java?rev=1301446&r1=1301445&r2=1301446&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java Fri Mar 16 11:46:56 2012
@@ -35,7 +35,7 @@ import javax.faces.component.UIOutput;
  */
 
 @FacesComponent("at.irian.JavaTestComponent")
-public class JavaTestComponent extends UIOutput implements Markable {
+public class JavaTestComponent extends UIInput implements Markable {
 
     String _testAttr;
 

Modified: myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java?rev=1301446&r1=1301445&r2=1301446&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java Fri Mar 16 11:46:56 2012
@@ -36,7 +36,6 @@ import java.util.logging.Logger;
  *          renderer artifact to the other
  */
 @FacesRenderer(componentFamily = "javax.faces.Input", rendererType = "at.irian.JavaTestRenderer")
-
 public class JavaTestRenderer1 extends HtmlTextRendererBase {
 
     static Logger log = Logger.getLogger(JavaTestRenderer1.class.getName());