Author: jmarino
Date: Fri Oct  6 14:23:11 2006
New Revision: 453777

URL: http://svn.apache.org/viewvc?view=rev&rev=453777
Log:
add autowire naming support for CDI parameters of same type without specifying 
names, e.g. Foo15(@Autowire String param1, @Autowire String param2)

Modified:
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorAutowireTestCase.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicConstructorTestCase.java

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java?view=diff&rev=453777&r1=453776&r2=453777
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java
 Fri Oct  6 14:23:11 2006
@@ -188,7 +188,7 @@
                 throw new InvalidAutowireException("Names in @Constructor and 
autowire parameter do not match at "
                         + (pos + 1));
             } else if (constructorNames.length == 0 || 
constructorNames[pos].length() == 0) {
-                name = param.getName();
+                name = param.getName() + String.valueOf(pos);
             } else {
                 name = constructorNames[pos];
             }

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorAutowireTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorAutowireTestCase.java?view=diff&rev=453777&r1=453776&r2=453777
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorAutowireTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/ConstructorAutowireTestCase.java
 Fri Oct  6 14:23:11 2006
@@ -63,7 +63,7 @@
             new PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>>();
         Constructor<Foo2> ctor = Foo2.class.getConstructor(Bar.class);
         processor.visitConstructor(null, ctor, type, null);
-        assertNotNull(type.getReferences().get(Bar.class.getName()));
+        assertNotNull(type.getReferences().get(Bar.class.getName()+"0"));
     }
 
     public void testInvalidNumberOfNames() throws Exception {

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicConstructorTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicConstructorTestCase.java?view=diff&rev=453777&r1=453776&r2=453777
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicConstructorTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/processor/HeuristicConstructorTestCase.java
 Fri Oct  6 14:23:11 2006
@@ -23,12 +23,12 @@
 import org.osoa.sca.annotations.Remotable;
 
 import org.apache.tuscany.spi.annotation.Autowire;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
 import org.apache.tuscany.spi.implementation.java.JavaMappedReference;
 import org.apache.tuscany.spi.implementation.java.JavaMappedService;
 import org.apache.tuscany.spi.implementation.java.PojoComponentType;
 import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
@@ -184,7 +184,16 @@
             new PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>>();
         processor.visitEnd(null, Foo13.class, type, null);
         assertEquals(1, type.getReferences().size());
-        assertNotNull(type.getReferences().get(String.class.getName()));
+        assertNotNull(type.getReferences().get(String.class.getName() + "0"));
+    }
+
+    public void testMultipleAutowire() throws Exception {
+        PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>> type =
+            new PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>>();
+        processor.visitEnd(null, Foo15.class, type, null);
+        assertEquals(2, type.getReferences().size());
+        assertNotNull(type.getReferences().get(String.class.getName() + "0"));
+        assertNotNull(type.getReferences().get(String.class.getName() + "1"));
     }
 
     public void testPrivateConstructor() throws Exception {
@@ -282,7 +291,6 @@
         }
     }
 
-
     public @interface Baz {
 
     }
@@ -294,6 +302,11 @@
 
     public static final class Foo14 {
         private Foo14() {
+        }
+    }
+
+    public static final class Foo15 {
+        public Foo15(@Autowire String param1, @Autowire String param2) {
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to