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