EXTVAL-147 fixed group-aggregation

git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/validator/trunk@1401068 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java b/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
index a73c954..8d0541f 100644
--- a/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
+++ b/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/util/ExtValBeanValidationMetaDataInternals.java
@@ -223,7 +223,9 @@
 

         while (!Object.class.getName().equals(classToInspect.getName()))

         {

-            transferGroupValidationInformationToFoundGroups(objectToInspect,

+            transferGroupValidationInformationToFoundGroups(

+                    classToInspect,

+                    objectToInspect,

                     foundGroupsForPropertyValidation,

                     restrictedGroupsForPropertyValidation,

                     modelValidationEntryList,

@@ -231,7 +233,7 @@
                     activeViewId,

                     processModelValidation);

 

-            processInterfaces(objectToInspect.getClass(), objectToInspect,

+            processInterfaces(classToInspect, objectToInspect,

                     foundGroupsForPropertyValidation,

                     restrictedGroupsForPropertyValidation,

                     modelValidationEntryList,

@@ -383,6 +385,7 @@
 

     @ToDo(value = Priority.MEDIUM, description = "test proxy support")

     private void transferGroupValidationInformationToFoundGroups(

+            Class<?> classToInspect,

             Object objectToInspect,

             List<Class> foundGroupsForPropertyValidation,

             List<Class> restrictedGroupsForPropertyValidation,

@@ -391,9 +394,9 @@
             String activeViewId,

             boolean processModelValidation)

     {

-        if (objectToInspect.getClass().isAnnotationPresent(BeanValidation.class))

+        if (classToInspect.isAnnotationPresent(BeanValidation.class))

         {

-            tryToProcessMetaData(objectToInspect.getClass().getAnnotation(BeanValidation.class),

+            tryToProcessMetaData(classToInspect.getAnnotation(BeanValidation.class),

                     objectToInspect,

                     foundGroupsForPropertyValidation,

                     restrictedGroupsForPropertyValidation,

@@ -402,10 +405,10 @@
                     activeViewId,

                     processModelValidation);

         }

-        else if (objectToInspect.getClass().isAnnotationPresent(BeanValidation.List.class))

+        else if (classToInspect.isAnnotationPresent(BeanValidation.List.class))

         {

             for (BeanValidation currentBeanValidation :

-                    (objectToInspect.getClass().getAnnotation(BeanValidation.List.class)).value())

+                    (classToInspect.getAnnotation(BeanValidation.List.class)).value())

             {

                 tryToProcessMetaData(currentBeanValidation,

                         objectToInspect,

@@ -430,7 +433,9 @@
     {

         for (Class currentInterface : currentClass.getInterfaces())

         {

-            transferGroupValidationInformationToFoundGroups(metaDataSourceObject,

+            transferGroupValidationInformationToFoundGroups(

+                    currentClass,

+                    metaDataSourceObject,

                     foundGroupsForPropertyValidation,

                     restrictedGroupsForPropertyValidation,

                     modelValidationEntryList,