Author: rsandtner
Date: Mon Jun  5 18:34:53 2017
New Revision: 1797684

URL: http://svn.apache.org/viewvc?rev=1797684&view=rev
Log:
OWB-1187 added tests for Field/MethodConfigurator

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/AnnotatedMethodConfiguratorImpl.java
    
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/configurator/AnnotatedTypeConfiguratorImplTest.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/AnnotatedMethodConfiguratorImpl.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/AnnotatedMethodConfiguratorImpl.java?rev=1797684&r1=1797683&r2=1797684&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/AnnotatedMethodConfiguratorImpl.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/configurator/AnnotatedMethodConfiguratorImpl.java
 Mon Jun  5 18:34:53 2017
@@ -52,7 +52,7 @@ public class AnnotatedMethodConfigurator
     }
 
     @Override
-    public AnnotatedMethodConfigurator<T> remove(Predicate annotation)
+    public AnnotatedMethodConfigurator<T> remove(Predicate<Annotation> 
annotation)
     {
         annotatedMethod.getAnnotations().removeIf(annotation);
         return this;
@@ -71,9 +71,4 @@ public class AnnotatedMethodConfigurator
         throw new UnsupportedOperationException("TODO implement CDI 2.0");
     }
 
-    @Override
-    public Stream<AnnotatedParameterConfigurator<T>> filterParams(Predicate 
predicate)
-    {
-        throw new UnsupportedOperationException("TODO implement CDI 2.0");
-    }
 }

Modified: 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/configurator/AnnotatedTypeConfiguratorImplTest.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/configurator/AnnotatedTypeConfiguratorImplTest.java?rev=1797684&r1=1797683&r2=1797684&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/configurator/AnnotatedTypeConfiguratorImplTest.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/configurator/AnnotatedTypeConfiguratorImplTest.java
 Mon Jun  5 18:34:53 2017
@@ -162,6 +162,27 @@ public class AnnotatedTypeConfiguratorIm
     }
 
     @Test
+    public void testRemoveAnnotationFromMethod()
+    {
+        final String methodName = "method2";
+
+        checkAnnotatedType(
+                pat -> pat.configureAnnotatedType()
+                          .filterMethods(m -> 
methodName.equals(m.getJavaMember().getName()))
+                          .findFirst()
+                          .get()
+                          .removeAll(),
+                pba -> assertTrue(((AnnotatedType<?>) 
pba.getAnnotated()).getMethods()
+                                                                         
.stream()
+                                                                         
.filter(m -> methodName.equals(m.getJavaMember().getName()))
+                                                                         
.findFirst()
+                                                                         .get()
+                                                                         
.getAnnotations()
+                                                                         
.isEmpty()),
+                AnnotatedTypeConfigClassWithAnnotation.class);
+    }
+
+    @Test
     public void testAddAnnotationToField()
     {
         checkAnnotatedType(
@@ -189,6 +210,28 @@ public class AnnotatedTypeConfiguratorIm
             }, AnnotatedTypeConfigClass.class);
     }
 
+    @Test
+    public void testRemoveAnnotationFromField()
+    {
+        checkAnnotatedType(pat -> pat.configureAnnotatedType()
+                                     .filterFields(af -> 
"field2".equals(af.getJavaMember().getName()))
+                                     .findFirst()
+                                     .get()
+                                     .remove(a -> a.annotationType() == 
TheQualifier.class),
+                           pba ->
+                           {
+                               Assert.assertTrue(pba.getAnnotated() instanceof 
AnnotatedType);
+                               assertTrue(((AnnotatedType<?>) 
pba.getAnnotated()).getFields()
+                                                                               
  .stream()
+                                                                               
  .filter(m -> m.getJavaMember().getName().equals("field2"))
+                                                                               
  .findFirst()
+                                                                               
  .get()
+                                                                               
  .getAnnotations()
+                                                                               
  .isEmpty());
+                           },
+                           AnnotatedTypeConfigClassWithAnnotation.class);
+    }
+
 
     private void 
checkAnnotatedType(Consumer<ProcessAnnotatedType<AnnotatedTypeConfigClass>> 
typeConfigurator,
                                     Consumer<ProcessBeanAttributes> 
beanAttributesConsumer,
@@ -242,12 +285,46 @@ public class AnnotatedTypeConfiguratorIm
         {
             return "method 2";
         }
+
+        public String methodWithParameters(String param1, Integer param2)
+        {
+            return "parameters: " + param1 + ", " + param2;
+        }
     }
 
     @TheQualifier(value = "default")
     public static class AnnotatedTypeConfigClassWithAnnotation
     {
 
+        @TheQualifier(value = "default_field1")
+        private String field1;
+
+        @TheQualifier(value = "default_field2")
+        private Integer field2;
+
+        @TheQualifier(value = "default_method1")
+        public void method1()
+        {
+            // do nothing
+        }
+
+        @TheQualifier(value = "default_method2")
+        public String method2()
+        {
+            return "method 2";
+        }
+
+        @TheQualifier(value = "default_methodWithParameters")
+        public String methodWithParameters(String param1, String param2)
+        {
+            return "parameters: " + param1 + ", " + param2;
+        }
+
+        public void methodWithAnnotatedParameters(@TheQualifier(value = 
"default_param1") String param1,
+                                                  @TheQualifier(value = 
"default_param2") Integer param2)
+        {
+            // nothing to do here
+        }
     }
 
     @Qualifier


Reply via email to