You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by ah...@apache.org on 2006/10/27 10:02:36 UTC

svn commit: r468309 - in /hivemind/branches/branch-2-0-annot/annotations/src: java/org/apache/hivemind/annotations/ java/org/apache/hivemind/annotations/internal/ java/org/apache/hivemind/annotations/test/ test/org/apache/hivemind/annotations/

Author: ahuegen
Date: Fri Oct 27 01:02:35 2006
New Revision: 468309

URL: http://svn.apache.org/viewvc?view=rev&rev=468309
Log:
refactored tests

Added:
    hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/AnnotatedRegistryBuilder.java
    hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/test/
    hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/test/AnnotationTestCase.java
    hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModules.java
Modified:
    hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/internal/AnnotatedModuleProcessor.java
    hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/SimpleAnnotatedModule.java
    hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModuleReader.java

Added: hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/AnnotatedRegistryBuilder.java
URL: http://svn.apache.org/viewvc/hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/AnnotatedRegistryBuilder.java?view=auto&rev=468309
==============================================================================
--- hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/AnnotatedRegistryBuilder.java (added)
+++ hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/AnnotatedRegistryBuilder.java Fri Oct 27 01:02:35 2006
@@ -0,0 +1,89 @@
+package org.apache.hivemind.annotations;
+
+import java.util.Locale;
+
+import org.apache.hivemind.ClassResolver;
+import org.apache.hivemind.ErrorHandler;
+import org.apache.hivemind.Registry;
+import org.apache.hivemind.definition.RegistryDefinition;
+import org.apache.hivemind.impl.DefaultClassResolver;
+import org.apache.hivemind.impl.DefaultErrorHandler;
+import org.apache.hivemind.impl.RegistryBuilder;
+
+/**
+ * Helper class for defining hivemind registries that mainly base on
+ * annotated modules.
+ * 
+ * @author Achim Huegen
+ */
+public class AnnotatedRegistryBuilder
+{
+    private ClassResolver _classResolver;
+    private ErrorHandler _errorHandler;
+    private Locale _locale;
+    
+    public AnnotatedRegistryBuilder()
+    {
+        this(new DefaultClassResolver(), new DefaultErrorHandler(), Locale.getDefault());
+    }
+    
+    public AnnotatedRegistryBuilder(ClassResolver classResolver, ErrorHandler errorHandler,
+            Locale locale)
+    {
+        _classResolver = classResolver;
+        _errorHandler = errorHandler;
+        _locale = locale;
+        
+    }
+    
+    public Registry constructRegistry(String moduleClassName)
+    {
+        return constructRegistry(new String[] {moduleClassName});
+    }
+
+    public Registry constructRegistry(String[] moduleClassNames)
+    {
+        RegistryDefinition definition = constructRegistryDefinition(moduleClassNames);
+        return RegistryBuilder.constructRegistry(definition, _errorHandler, _locale);
+    }
+    
+    public Registry constructRegistry(Class moduleClass)
+    {
+        return constructRegistry(new Class[] {moduleClass});
+    }
+
+    public Registry constructRegistry(Class[] moduleClasses)
+    {
+        RegistryDefinition definition = constructRegistryDefinition(moduleClasses);
+        return RegistryBuilder.constructRegistry(definition, _errorHandler, _locale);
+    }
+    
+    private RegistryDefinition constructRegistryDefinition(String[] moduleClassNames)
+    {
+        RegistryDefinition definition = new RegistryDefinition();
+
+        for (int i = 0; i < moduleClassNames.length; i++)
+        {
+            AnnotatedModuleReader reader = new AnnotatedModuleReader(definition,
+                    _classResolver, _errorHandler);
+            reader.readModule(moduleClassNames[i]);
+        }
+
+        return definition;
+    }
+    
+    private RegistryDefinition constructRegistryDefinition(Class[] moduleClasses)
+    {
+        RegistryDefinition definition = new RegistryDefinition();
+
+        for (int i = 0; i < moduleClasses.length; i++)
+        {
+            AnnotatedModuleReader reader = new AnnotatedModuleReader(definition,
+                    _classResolver, _errorHandler);
+            reader.readModule(moduleClasses[i]);
+        }
+
+        return definition;
+    }
+
+}

Modified: hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/internal/AnnotatedModuleProcessor.java
URL: http://svn.apache.org/viewvc/hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/internal/AnnotatedModuleProcessor.java?view=diff&rev=468309&r1=468308&r2=468309
==============================================================================
--- hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/internal/AnnotatedModuleProcessor.java (original)
+++ hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/internal/AnnotatedModuleProcessor.java Fri Oct 27 01:02:35 2006
@@ -76,16 +76,6 @@
 
     }
 
-    // /**
-    // * Detects all services defined in the module class.
-    // *
-    // * @param moduleClass
-    // */
-    // private void processServices(Class moduleClass)
-    // {
-    // // TODO Auto-generated method stub
-    //        
-    // }
     public void processModuleMethods(Class moduleClass, ModuleDefinition module,
             ModuleInstanceProvider instanceProvider)
     {

Added: hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/test/AnnotationTestCase.java
URL: http://svn.apache.org/viewvc/hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/test/AnnotationTestCase.java?view=auto&rev=468309
==============================================================================
--- hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/test/AnnotationTestCase.java (added)
+++ hivemind/branches/branch-2-0-annot/annotations/src/java/org/apache/hivemind/annotations/test/AnnotationTestCase.java Fri Oct 27 01:02:35 2006
@@ -0,0 +1,55 @@
+package org.apache.hivemind.annotations.test;
+
+import org.apache.hivemind.Registry;
+import org.apache.hivemind.annotations.AnnotatedModuleReader;
+import org.apache.hivemind.annotations.AnnotatedRegistryBuilder;
+import org.apache.hivemind.definition.RegistryDefinition;
+import org.apache.hivemind.impl.DefaultErrorHandler;
+import org.apache.hivemind.test.HiveMindTestCase;
+
+public class AnnotationTestCase extends HiveMindTestCase
+{
+    protected Registry constructRegistry(String[] moduleClassNames)
+    {
+        AnnotatedRegistryBuilder builder = new AnnotatedRegistryBuilder();
+        return builder.constructRegistry(moduleClassNames);
+    }
+
+    protected Registry constructRegistry(String moduleClassName)
+    {
+        AnnotatedRegistryBuilder builder = new AnnotatedRegistryBuilder();
+        return builder.constructRegistry(moduleClassName);
+    }
+
+    protected Registry constructRegistry(Class[] moduleClasses)
+    {
+        AnnotatedRegistryBuilder builder = new AnnotatedRegistryBuilder();
+        return builder.constructRegistry(moduleClasses);
+    }
+
+    protected Registry constructRegistry(Class moduleClass)
+    {
+        AnnotatedRegistryBuilder builder = new AnnotatedRegistryBuilder();
+        return builder.constructRegistry(moduleClass);
+    }
+
+    protected RegistryDefinition constructRegistryDefinition(Class moduleClass)
+    {
+        return constructRegistryDefinition(new Class[] {moduleClass});
+    }
+    
+    protected RegistryDefinition constructRegistryDefinition(Class[] moduleClasses)
+    {
+        RegistryDefinition definition = new RegistryDefinition();
+
+        for (int i = 0; i < moduleClasses.length; i++)
+        {
+            AnnotatedModuleReader reader = new AnnotatedModuleReader(definition, getClassResolver(),
+                    new DefaultErrorHandler());
+            reader.readModule(moduleClasses[i]);
+        }
+
+        return definition;
+    }
+
+}

Modified: hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/SimpleAnnotatedModule.java
URL: http://svn.apache.org/viewvc/hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/SimpleAnnotatedModule.java?view=diff&rev=468309&r1=468308&r2=468309
==============================================================================
--- hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/SimpleAnnotatedModule.java (original)
+++ hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/SimpleAnnotatedModule.java Fri Oct 27 01:02:35 2006
@@ -3,6 +3,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.aopalliance.intercept.MethodInterceptor;
+import org.aopalliance.intercept.MethodInvocation;
 import org.apache.hivemind.impl.ServiceModelContribution;
 
 public class SimpleAnnotatedModule
@@ -57,4 +59,24 @@
     {
         _registry = registry;
     }
+    
+    // @methodInterceptor(name="loggingInterceptor")
+    public Object interceptIt(MethodInvocation invocation) throws Throwable
+    {
+        return invocation.proceed();
+    }
+
+    // @interceptorFactory(name="", services="hivemind.*", methods="*" );
+    public MethodInterceptor createInterceptor()
+    {
+        return null;
+    }
+    
+//    public Runnable getService1(List interceptors)
+//    {
+//        Runnable result = null;
+//        interceptors.add(createInterceptor("eenemenemu"));
+//        interceptors.add("loggingInterceptor");
+//        return result;
+//    }
 }

Modified: hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModuleReader.java
URL: http://svn.apache.org/viewvc/hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModuleReader.java?view=diff&rev=468309&r1=468308&r2=468309
==============================================================================
--- hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModuleReader.java (original)
+++ hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModuleReader.java Fri Oct 27 01:02:35 2006
@@ -1,66 +1,22 @@
 package org.apache.hivemind.annotations;
 
-import hivemind.test.services.ServiceAutowireTarget;
-
-import java.util.Locale;
-
-import org.apache.hivemind.ClassResolver;
-import org.apache.hivemind.ErrorHandler;
 import org.apache.hivemind.Registry;
+import org.apache.hivemind.annotations.test.AnnotationTestCase;
 import org.apache.hivemind.definition.RegistryDefinition;
-import org.apache.hivemind.impl.DefaultErrorHandler;
-import org.apache.hivemind.impl.RegistryBuilder;
-import org.apache.hivemind.test.HiveMindTestCase;
 
-public class TestAnnotatedModuleReader extends HiveMindTestCase
+public class TestAnnotatedModuleReader extends AnnotationTestCase
 {
-    protected Registry buildRegistry(String[] moduleClassNames)
-    {
-        RegistryDefinition definition = buildRegistryDefinition(moduleClassNames);
-        
-        RegistryBuilder builder = new RegistryBuilder(definition);
-//        builder.
-//        builder.autoDetectModules();
-
-        return builder.constructRegistry(Locale.getDefault());
-    }
-    
-    protected RegistryDefinition buildRegistryDefinition(String[] moduleClassNames)
-    {
-        ClassResolver resolver = getClassResolver();
-        
-        ErrorHandler errorHandler = new DefaultErrorHandler();
-        
-        RegistryDefinition definition = new RegistryDefinition();
-
-        for (int i = 0; i < moduleClassNames.length; i++)
-        {
-            AnnotatedModuleReader reader = new AnnotatedModuleReader(definition,
-                    resolver, errorHandler);
-            reader.readModule(moduleClassNames[i]);
-        }
-
-        return definition;
-    }
-    
     public void testSimpleModule()
     {
-        Registry registry = buildRegistry(new String[] {SimpleAnnotatedModule.class.getName()});
+        Registry registry = constructRegistry(SimpleAnnotatedModule.class);
         Runnable service = (Runnable) registry.getService("org.apache.hivemind.annotations.SimpleAnnotatedModule.Test", Runnable.class);
         service.run();
     }
 
     public void testModuleId()
     {
-        RegistryDefinition registry = buildRegistryDefinition((new String[] {ModuleWithExplicitId.class.getName()}));
+        RegistryDefinition registry = constructRegistryDefinition((new Class[] {ModuleWithExplicitId.class}));
         assertNotNull(registry.getModule("Test"));
-    }
-    
-    public void testAutowiring()
-    {
-        Registry registry = buildRegistry(new String[] {AutowiringModule.class.getName()});
-        ServiceAutowireTarget service = (ServiceAutowireTarget) registry.getService(ServiceAutowireTarget.class);
-        assertNotNull(service.getStringHolder());
     }
     
 }

Added: hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModules.java
URL: http://svn.apache.org/viewvc/hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModules.java?view=auto&rev=468309
==============================================================================
--- hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModules.java (added)
+++ hivemind/branches/branch-2-0-annot/annotations/src/test/org/apache/hivemind/annotations/TestAnnotatedModules.java Fri Oct 27 01:02:35 2006
@@ -0,0 +1,17 @@
+package org.apache.hivemind.annotations;
+
+import hivemind.test.services.ServiceAutowireTarget;
+
+import org.apache.hivemind.Registry;
+import org.apache.hivemind.annotations.test.AnnotationTestCase;
+
+public class TestAnnotatedModules extends AnnotationTestCase
+{
+    public void testAutowiring()
+    {
+        Registry registry = constructRegistry(AutowiringModule.class);
+        ServiceAutowireTarget service = (ServiceAutowireTarget) registry.getService(ServiceAutowireTarget.class);
+        assertNotNull(service.getStringHolder());
+    }
+    
+}