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());