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/03/08 22:20:55 UTC
svn commit: r920518 - in
/myfaces/extensions/validator/branches/experimental/trunk_with_extval-83:
core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/
core/src/main/java/org/apache/myfaces/extensions/validator/util/
validation-modu...
Author: gpetracek
Date: Mon Mar 8 21:20:55 2010
New Revision: 920518
URL: http://svn.apache.org/viewvc?rev=920518&view=rev
Log:
[review-result] minor improvements
Modified:
myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java
myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultPropertyStorage.java
myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/util/ClassUtils.java
myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationModuleValidationInterceptorInternals.java
myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java
myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java
Modified: myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java?rev=920518&r1=920517&r2=920518&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java (original)
+++ myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java Mon Mar 8 21:20:55 2010
@@ -48,7 +48,8 @@
{
protected final Log logger = LogFactory.getLog(getClass());
- private Map<String, PropertyInformation> cachedPropertyInformation = new HashMap<String, PropertyInformation>();
+ private Map<String, Map<String, PropertyInformation>> cachedPropertyInformation =
+ new HashMap<String, Map<String, PropertyInformation>>();
private List<MetaDataStorageFilter> metaDataStorageFilters = new ArrayList<MetaDataStorageFilter>();
private List<Class<? extends MetaDataStorageFilter>> deniedMetaDataFilters =
@@ -95,9 +96,8 @@
copyMetaData(propertyInformation, propertyInformationToStore);
- this.cachedPropertyInformation.put(
- createKey(propertyDetails.getBaseObject().getClass(), propertyDetails.getProperty()),
- propertyInformationToStore);
+ getMapForClass(propertyDetails.getBaseObject().getClass())
+ .put(propertyDetails.getProperty(), propertyInformationToStore);
}
private void invokeFilters(PropertyInformation propertyInformation)
@@ -110,8 +110,7 @@
public MetaDataEntry[] getMetaData(Class targetClass, String targetProperty)
{
- PropertyInformation propertyInformation = this.cachedPropertyInformation
- .get(createKey(targetClass, targetProperty));
+ PropertyInformation propertyInformation = getMapForClass(targetClass).get(targetProperty);
PropertyInformation clonedPropertyInformation = new DefaultPropertyInformation();
copyMetaData(propertyInformation, clonedPropertyInformation);
@@ -121,7 +120,7 @@
public boolean containsMetaDataFor(Class targetClass, String targetProperty)
{
- return this.cachedPropertyInformation.containsKey(createKey(targetClass, targetProperty));
+ return getMapForClass(targetClass).containsKey(targetProperty);
}
public void registerFilter(MetaDataStorageFilter storageFilter)
@@ -182,22 +181,6 @@
deregisterFilter(filterClass);
}
- private String createKey(Class targetClass, String targetProperty)
- {
- String targetClassName = getTargetClassName(targetClass);
- return targetClassName + "#" + targetProperty;
- }
-
- private String getTargetClassName(Class currentClass)
- {
- if (currentClass.getName().contains("$$EnhancerByCGLIB$$")
- || currentClass.getName().contains("$$FastClassByCGLIB$$"))
- {
- return currentClass.getName().substring(0, currentClass.getName().indexOf("$"));
- }
- return currentClass.getName();
- }
-
@ToDo(Priority.MEDIUM)
private void copyMetaData(PropertyInformation source, PropertyInformation target)
{
@@ -227,4 +210,14 @@
this.logger.info(filterClass.getName() + " removed");
}
}
+
+ private Map<String, PropertyInformation> getMapForClass(Class target)
+ {
+ String key = ClassUtils.getClassName(target);
+ if(!this.cachedPropertyInformation.containsKey(key))
+ {
+ this.cachedPropertyInformation.put(key, new HashMap<String, PropertyInformation>());
+ }
+ return this.cachedPropertyInformation.get(key);
+ }
}
Modified: myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultPropertyStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultPropertyStorage.java?rev=920518&r1=920517&r2=920518&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultPropertyStorage.java (original)
+++ myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultPropertyStorage.java Mon Mar 8 21:20:55 2010
@@ -18,15 +18,16 @@
*/
package org.apache.myfaces.extensions.validator.core.storage;
-import static org.apache.myfaces.extensions.validator.internal.UsageCategory.INTERNAL;
-import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import static org.apache.myfaces.extensions.validator.internal.UsageCategory.INTERNAL;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.util.ClassUtils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
-import java.util.Map;
import java.util.HashMap;
+import java.util.Map;
/**
* @author Gerhard Petracek
@@ -37,41 +38,56 @@
{
protected final Log logger = LogFactory.getLog(getClass());
- private Map<String, Field> fieldMap = new HashMap<String, Field>();
- private Map<String, Method> methodMap = new HashMap<String, Method>();
+ private Map<String, Map<String, Field>> fieldMap = new HashMap<String, Map<String, Field>>();
+ private Map<String, Map<String, Method>> methodMap = new HashMap<String, Map<String, Method>>();
public void storeField(Class targetClass, String property, Field field)
{
- this.fieldMap.put(createKey(targetClass, property), field);
+ getFieldMapForClass(targetClass).put(property, field);
}
public void storeMethod(Class targetClass, String property, Method method)
{
- this.methodMap.put(createKey(targetClass, property), method);
+ getMethodMapForClass(targetClass).put(property, method);
}
public Field getField(Class targetClass, String property)
{
- return this.fieldMap.get(createKey(targetClass, property));
+ return getFieldMapForClass(targetClass).get(property);
}
public Method getMethod(Class targetClass, String property)
{
- return this.methodMap.get(createKey(targetClass, property));
+ return getMethodMapForClass(targetClass).get(property);
}
public boolean containsField(Class targetClass, String property)
{
- return this.fieldMap.containsKey(createKey(targetClass, property));
+ return getFieldMapForClass(targetClass).containsKey(property);
}
public boolean containsMethod(Class targetClass, String property)
{
- return this.methodMap.containsKey(createKey(targetClass, property));
+ return getMethodMapForClass(targetClass).containsKey(property);
+ }
+
+ private Map<String, Field> getFieldMapForClass(Class target)
+ {
+ String key = ClassUtils.getClassName(target);
+ if (!this.fieldMap.containsKey(key))
+ {
+ this.fieldMap.put(key, new HashMap<String, Field>());
+ }
+ return this.fieldMap.get(key);
}
- private String createKey(Class targetClass, String property)
+ private Map<String, Method> getMethodMapForClass(Class target)
{
- return targetClass + "#" + property;
+ String key = ClassUtils.getClassName(target);
+ if (!this.methodMap.containsKey(key))
+ {
+ this.methodMap.put(key, new HashMap<String, Method>());
+ }
+ return this.methodMap.get(key);
}
}
\ No newline at end of file
Modified: myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/util/ClassUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/util/ClassUtils.java?rev=920518&r1=920517&r2=920518&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/util/ClassUtils.java (original)
+++ myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/core/src/main/java/org/apache/myfaces/extensions/validator/util/ClassUtils.java Mon Mar 8 21:20:55 2010
@@ -120,4 +120,19 @@
return null;
}
}
+
+ public static String getClassName(Class currentClass)
+ {
+ if (isProxiedClass(currentClass))
+ {
+ return currentClass.getName().substring(0, currentClass.getName().indexOf("$"));
+ }
+ return currentClass.getName();
+ }
+
+ public static boolean isProxiedClass(Class currentClass)
+ {
+ return currentClass.getName().contains("$$EnhancerByCGLIB$$")
+ || currentClass.getName().contains("$$FastClassByCGLIB$$");
+ }
}
Modified: myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationModuleValidationInterceptorInternals.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationModuleValidationInterceptorInternals.java?rev=920518&r1=920517&r2=920518&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationModuleValidationInterceptorInternals.java (original)
+++ myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationModuleValidationInterceptorInternals.java Mon Mar 8 21:20:55 2010
@@ -31,6 +31,7 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+import org.apache.myfaces.extensions.validator.util.ClassUtils;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -220,7 +221,13 @@
Class getBaseClassType(PropertyInformation propertyInformation)
{
- return ExtValUtils.getPropertyDetails(propertyInformation).getBaseObject().getClass();
+ Class result = ExtValUtils.getPropertyDetails(propertyInformation).getBaseObject().getClass();
+
+ if(ClassUtils.isProxiedClass(result))
+ {
+ result = ClassUtils.tryToLoadClassForName(ClassUtils.getClassName(result));
+ }
+ return result;
}
String getPropertyToValidate(PropertyInformation propertyInformation)
Modified: myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/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/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java?rev=920518&r1=920517&r2=920518&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java (original)
+++ myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java Mon Mar 8 21:20:55 2010
@@ -35,6 +35,7 @@
import org.apache.myfaces.extensions.validator.internal.UsageInformation;
import org.apache.myfaces.extensions.validator.util.ExtValUtils;
import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
+import org.apache.myfaces.extensions.validator.util.ClassUtils;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
@@ -201,6 +202,12 @@
boolean processModelValidation)
{
Class classToInspect = objectToInspect.getClass();
+
+ if(ClassUtils.isProxiedClass(classToInspect))
+ {
+ classToInspect = ClassUtils.tryToLoadClassForName(ClassUtils.getClassName(classToInspect));
+ }
+
while (!Object.class.getName().equals(classToInspect.getName()))
{
transferGroupValidationInformationToFoundGroups(objectToInspect,
Modified: myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java?rev=920518&r1=920517&r2=920518&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java Mon Mar 8 21:20:55 2010
@@ -448,4 +448,28 @@
{
return PhaseId.UPDATE_MODEL_VALUES;
}
+
+ /*
+ * generated
+ */
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (!(o instanceof ModelValidationPhaseListener))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return super.hashCode();
+ }
}
Modified: myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java?rev=920518&r1=920517&r2=920518&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/experimental/trunk_with_extval-83/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java Mon Mar 8 21:20:55 2010
@@ -165,4 +165,25 @@
{
return PhaseId.ANY_PHASE;
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (!(o instanceof CrossValidationPhaseListener))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return super.hashCode();
+ }
}