You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/05/25 11:30:27 UTC

svn commit: r947980 - in /myfaces/extensions/validator/trunk: component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ core/src/main/java/org/apache/myfaces/extensions/validator/core/el/ core/src/main/j...

Author: gpetracek
Date: Tue May 25 09:30:26 2010
New Revision: 947980

URL: http://svn.apache.org/viewvc?rev=947980&view=rev
Log:
EXTVAL-75, EXTVAL-80, cleanup

Added:
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIfType.java
Modified:
    myfaces/extensions/validator/trunk/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/JsfUtils.java
    myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf2TestBean.java
    myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf4TestBean.java
    myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIf.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/RequiredIfType.java
    myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/EmptyIfStrategy.java

Modified: myfaces/extensions/validator/trunk/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java (original)
+++ myfaces/extensions/validator/trunk/component-support/generic-support/src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/GenericRenderKitWrapperFactory.java Tue May 25 09:30:26 2010
@@ -24,7 +24,7 @@ import org.apache.myfaces.extensions.val
 
 import javax.faces.render.RenderKit;
 import java.util.Map;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * @author Gerhard Petracek
@@ -34,7 +34,7 @@ import java.util.HashMap;
 public class GenericRenderKitWrapperFactory extends AbstractRenderKitWrapperFactory
 {
     private Map<Class<? extends RenderKit>, RenderKit> renderKitCache =
-            new HashMap<Class<? extends RenderKit>, RenderKit>();
+            new ConcurrentHashMap<Class<? extends RenderKit>, RenderKit>();
 
     protected RenderKit createWrapper(RenderKit renderKit)
     {

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/el/DefaultELHelper.java Tue May 25 09:30:26 2010
@@ -115,7 +115,9 @@ public class DefaultELHelper implements 
             valueBindingExpression = valueBindingExpression.replace(" ", "");
         }
 
-        if (getTypeOfExpression(FacesContext.getCurrentInstance(),
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+
+        if (getTypeOfExpression(facesContext,
             new ValueBindingExpression(valueBindingExpression).getBaseExpression()) == null)
         {
             ValueBindingExpression result = FaceletsTaglibExpressionHelper.
@@ -128,7 +130,7 @@ public class DefaultELHelper implements 
             }
 
             Class entityClass = ExtValUtils.getELHelper()
-                .getTypeOfExpression(FacesContext.getCurrentInstance(), result.getBaseExpression());
+                .getTypeOfExpression(facesContext, result.getBaseExpression());
 
             if(entityClass == null)
             {

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java Tue May 25 09:30:26 2010
@@ -932,7 +932,7 @@ public class ExtValUtils
 
         if (interpreter.severityBlocksNavigation(facesContext, uiComponent, facesMessage.getSeverity()))
         {
-            FacesContext.getCurrentInstance().renderResponse();
+            facesContext.renderResponse();
         }
     }
 

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/JsfUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/JsfUtils.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/JsfUtils.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/util/JsfUtils.java Tue May 25 09:30:26 2010
@@ -126,10 +126,11 @@ public class JsfUtils
      */
     public static boolean isApplicationInitialized()
     {
-        return FacesContext.getCurrentInstance() != null &&
-                (FacesContext.getCurrentInstance().getClass().getName().startsWith("org.apache.myfaces") ||
-                        FacesContext.getCurrentInstance().getExternalContext().getRequestMap() != null &&
-                                !FacesContext.getCurrentInstance().getExternalContext().getRequestMap().isEmpty());
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+        return facesContext != null &&
+                (facesContext.getClass().getName().startsWith("org.apache.myfaces") ||
+                        facesContext.getExternalContext().getRequestMap() != null &&
+                                !facesContext.getExternalContext().getRequestMap().isEmpty());
     }
 
     private static FacesInformationStorage getFacesInformationStorage()

Modified: myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf2TestBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf2TestBean.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf2TestBean.java (original)
+++ myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf2TestBean.java Tue May 25 09:30:26 2010
@@ -19,7 +19,7 @@
 package org.apache.myfaces.extensions.validator.test.propval.crossval;
 
 import org.apache.myfaces.extensions.validator.crossval.annotation.EmptyIf;
-import static org.apache.myfaces.extensions.validator.crossval.annotation.RequiredIfType.*;
+import static org.apache.myfaces.extensions.validator.crossval.annotation.EmptyIfType.*;
 
 public class EmptyIf2TestBean
 {

Modified: myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf4TestBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf4TestBean.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf4TestBean.java (original)
+++ myfaces/extensions/validator/trunk/test-modules/property-validation-tests/src/test/java/org/apache/myfaces/extensions/validator/test/propval/crossval/EmptyIf4TestBean.java Tue May 25 09:30:26 2010
@@ -19,7 +19,7 @@
 package org.apache.myfaces.extensions.validator.test.propval.crossval;
 
 import org.apache.myfaces.extensions.validator.crossval.annotation.EmptyIf;
-import static org.apache.myfaces.extensions.validator.crossval.annotation.RequiredIfType.*;
+import static org.apache.myfaces.extensions.validator.crossval.annotation.EmptyIfType.*;
 
 public class EmptyIf4TestBean
 {

Modified: myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java Tue May 25 09:30:26 2010
@@ -476,13 +476,14 @@ class ExtValBeanValidationMetaDataIntern
     {
         ELHelper elHelper = ExtValUtils.getELHelper();
 
+        FacesContext facesContext = FacesContext.getCurrentInstance();
         for (String condition : beanValidation.conditions())
         {
             if (elHelper.isELTermWellFormed(condition) &&
-                    elHelper.isELTermValid(FacesContext.getCurrentInstance(), condition))
+                    elHelper.isELTermValid(facesContext, condition))
             {
                 if (Boolean.TRUE.equals(elHelper.getValueOfExpression(
-                        FacesContext.getCurrentInstance(), new ValueBindingExpression(condition))))
+                        facesContext, new ValueBindingExpression(condition))))
                 {
                     return true;
                 }

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java Tue May 25 09:30:26 2010
@@ -75,18 +75,18 @@ public class JoinMetaDataTransformer imp
         Map<String, Object> results = new HashMap<String, Object>();
 
         PropertyDetails propertyDetails;
+        FacesContext facesContext = FacesContext.getCurrentInstance();
         for (String targetExpression : targetExpressions)
         {
             propertyDetails = ExtValUtils
                 .createPropertyDetailsForNewTarget(metaDataEntry, targetExpression);
 
-            for (MetaDataEntry entry : extractor.extract(FacesContext.getCurrentInstance(),
-                                                            propertyDetails).getMetaDataEntries())
+            for (MetaDataEntry entry : extractor.extract(facesContext, propertyDetails).getMetaDataEntries())
             {
                 validationStrategy = ExtValUtils.getValidationStrategyForMetaData(entry.getKey());
 
                 if(validationStrategy == null ||
-                        PropertyValidationUtils.isValidationSkipped(FacesContext.getCurrentInstance(),
+                        PropertyValidationUtils.isValidationSkipped(facesContext,
                                 validationStrategy, entry))
                 {
                     continue;

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java Tue May 25 09:30:26 2010
@@ -59,12 +59,13 @@ public class CrossValidationPhaseListene
         try
         {
             CrossValidationStorage crossValidationStorage = CrossValidationUtils.getOrInitCrossValidationStorage();
+            FacesContext facesContext = FacesContext.getCurrentInstance();
             for (CrossValidationStorageEntry entry : crossValidationStorage.getCrossValidationStorageEntries())
             {
                 try
                 {
                     if(!ExtValUtils.executeGlobalBeforeValidationInterceptors(
-                            FacesContext.getCurrentInstance(),
+                            facesContext,
                             entry.getComponent(),
                             entry.getConvertedObject(),
                             CrossValidationStorageEntry.class.getName(),
@@ -131,7 +132,7 @@ public class CrossValidationPhaseListene
                 finally
                 {
                     ExtValUtils.executeGlobalAfterValidationInterceptors(
-                            FacesContext.getCurrentInstance(),
+                            facesContext,
                             entry.getComponent(),
                             entry.getConvertedObject(),
                             CrossValidationStorageEntry.class.getName(),

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIf.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIf.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIf.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIf.java Tue May 25 09:30:26 2010
@@ -45,7 +45,7 @@ public @interface EmptyIf
       * optional section
       */
 
-    RequiredIfType is() default RequiredIfType.not_empty;
+    EmptyIfType is() default EmptyIfType.not_empty;
 
     String validationErrorMsgKey() default "field_not_empty";
 

Added: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIfType.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIfType.java?rev=947980&view=auto
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIfType.java (added)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/EmptyIfType.java Tue May 25 09:30:26 2010
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.crossval.annotation;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+/**
+ * empty means an empty text-field (= empty string) or checkbox (Boolean.FALSE)
+ *
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.API)
+public enum EmptyIfType
+{
+    empty, not_empty
+}
\ No newline at end of file

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/RequiredIfType.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/RequiredIfType.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/RequiredIfType.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/annotation/RequiredIfType.java Tue May 25 09:30:26 2010
@@ -22,6 +22,8 @@ import org.apache.myfaces.extensions.val
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
 
 /**
+ * empty means an empty text-field (= empty string) or checkbox (Boolean.FALSE)
+ * 
  * @author Gerhard Petracek
  * @since 1.x.1
  */

Modified: myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/EmptyIfStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/EmptyIfStrategy.java?rev=947980&r1=947979&r2=947980&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/EmptyIfStrategy.java (original)
+++ myfaces/extensions/validator/trunk/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/EmptyIfStrategy.java Tue May 25 09:30:26 2010
@@ -19,7 +19,7 @@
 package org.apache.myfaces.extensions.validator.crossval.strategy;
 
 import org.apache.myfaces.extensions.validator.crossval.annotation.EmptyIf;
-import org.apache.myfaces.extensions.validator.crossval.annotation.RequiredIfType;
+import org.apache.myfaces.extensions.validator.crossval.annotation.EmptyIfType;
 
 /**
  * @author Rudy De Busscher
@@ -43,11 +43,11 @@ public class EmptyIfStrategy extends Abs
     {
         boolean violationFound = false;
 
-        if (annotation.is().equals(RequiredIfType.empty))
+        if (annotation.is().equals(EmptyIfType.empty))
         {
             violationFound = (isTargetEmpty(target) || Boolean.FALSE.equals(target)) && !isSourceEmpty(source);
         }
-        else if (annotation.is().equals(RequiredIfType.not_empty))
+        else if (annotation.is().equals(EmptyIfType.not_empty))
         {
             violationFound = (!isSourceEmpty(source) && !isTargetEmpty(target) && !(target instanceof Boolean)) ||
                     (Boolean.TRUE.equals(target) && !isSourceEmpty(source));