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]