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/10/27 08:26:25 UTC
svn commit: r830083 - in /myfaces/extensions/scripting/trunk:
core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/
core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/...
Author: werpu
Date: Tue Oct 27 07:26:24 2009
New Revision: 830083
URL: http://svn.apache.org/viewvc?rev=830083&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-26
converters and validators now working with annotations
Modified:
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf/dynamicdecorators/implemetations/ApplicationProxy.java
myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ConverterImplementationListener.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
myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld.xhtml
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=830083&r1=830082&r2=830083&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 Tue Oct 27 07:26:24 2009
@@ -216,6 +216,7 @@
weaveDelegate();
//defined in the setter to speed things up a little
NavigationHandler retVal = _delegate.getNavigationHandler();
+ //TODO add annotatiom support for the navigation handler as well
if (retVal != null && ProxyUtils.isDynamic(retVal.getClass()))
retVal = new NavigationHandlerProxy(retVal);
return retVal;
@@ -223,6 +224,7 @@
public void setNavigationHandler(NavigationHandler navigationHandler) {
weaveDelegate();
+ //TODO add annotatiom support for the navigation handler as well
if (navigationHandler != null && ProxyUtils.isDynamic(navigationHandler.getClass()))
navigationHandler = new NavigationHandlerProxy(navigationHandler);
_delegate.setNavigationHandler(navigationHandler);
@@ -346,7 +348,7 @@
ProxyUtils.getWeaver().fullAnnotationScan();
Converter componentToChange = _delegate.createConverter(converterId);
if (componentToChange instanceof PurgedConverter) {
- //Null not allowed here, but we set a purted validator to make
+ //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);
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=830083&r1=830082&r2=830083&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 Tue Oct 27 07:26:24 2009
@@ -48,21 +48,32 @@
}
public boolean equals(Object incoming) {
- if (!(incoming instanceof AnnotationEntry)) {
+ if (!(incoming instanceof AnnotationEntry)) {
return false;
}
AnnotationEntry toCompare = (AnnotationEntry) incoming;
- //handle null cases
- if ((value == null && toCompare.getValue() != null) ||
- (value != null && toCompare.getValue() == null) ||
- (forClass == null && toCompare.getForClass() != null) ||
- (forClass != null && toCompare.getForClass() == null)) {
+
+ if(incoming == null) {
return false;
- } else if (value == null && toCompare.getValue() == null && forClass == null && toCompare.getForClass() == null) {
- return true;
}
- return value.equals(toCompare.getValue()) && forClass.equals(toCompare.getValue());
+ boolean firstEquals = compareValuePair( value, toCompare.getValue());
+ boolean secondEquals = compareValuePair( forClass, toCompare.getForClass());
+
+ return firstEquals && secondEquals;
+ }
+
+ protected boolean compareValuePair(Object val1, Object val2) {
+ boolean retVal = false;
+ if(val1 == null ) {
+ if(val2 != null) retVal = false;
+ if(val2 == null) {
+ retVal = true;
+ }
+ } else {
+ retVal = val1.equals(val2);
+ }
+ return retVal;
}
public String getValue() {
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=830083&r1=830082&r2=830083&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 Tue Oct 27 07:26:24 2009
@@ -31,7 +31,6 @@
* @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 {
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=830083&r1=830082&r2=830083&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 Tue Oct 27 07:26:24 2009
@@ -25,12 +25,12 @@
import javax.faces.component.UIComponent;
import javax.faces.validator.ValidatorException;
import javax.faces.validator.Validator;
+import javax.faces.validator.FacesValidator;
/**
* @author Werner Punz (latest modification by $Author$)
* @version $Revision$ $Date$
*/
-
public class TestValidator2 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/helloWorld.xhtml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld.xhtml?rev=830083&r1=830082&r2=830083&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld.xhtml (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/helloWorld.xhtml Tue Oct 27 07:26:24 2009
@@ -24,6 +24,7 @@
converter:
<h:inputText>
<grv:testConverter1 />
+ <grv:testValidator1 />
</h:inputText>
<h:commandButton value = "Press me dynamic" action = "#{testbean.doit}" />
<grv:testcomponent2 />