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/02/10 09:43:42 UTC

svn commit: r908389 - /myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java

Author: gpetracek
Date: Wed Feb 10 08:43:41 2010
New Revision: 908389

URL: http://svn.apache.org/viewvc?rev=908389&view=rev
Log:
cglib aware meta-data storage

Modified:
    myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java

Modified: myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java?rev=908389&r1=908388&r2=908389&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_1_1/core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultMetaDataStorage.java Wed Feb 10 08:43:41 2010
@@ -184,7 +184,18 @@
 
     private String createKey(Class targetClass, String targetProperty)
     {
-        return targetClass.getName() + "#" + 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)