You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/06/25 00:02:22 UTC

svn commit: r416967 - in /incubator/tuscany/sandbox/jboynes/sca/core2/src: main/java/org/apache/tuscany/core/implementation/processor/ test/java/org/apache/tuscany/core/implementation/processor/ test/java/org/apache/tuscany/core/implementation/system/l...

Author: jmarino
Date: Sat Jun 24 15:02:21 2006
New Revision: 416967

URL: http://svn.apache.org/viewvc?rev=416967&view=rev
Log:
add support for reference service contracts to reference processor

Modified:
    incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessorTestCase.java
    incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoaderTestCase.java

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java?rev=416967&r1=416966&r2=416967&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java Sat Jun 24 15:02:21 2006
@@ -9,6 +9,7 @@
 
 import org.apache.tuscany.core.implementation.ImplementationProcessorSupport;
 import org.apache.tuscany.core.implementation.JavaMappedReference;
+import org.apache.tuscany.core.implementation.JavaServiceContract;
 import org.apache.tuscany.core.implementation.PojoComponentType;
 import org.apache.tuscany.core.implementation.ProcessingException;
 import org.apache.tuscany.core.util.JavaIntrospectionHelper;
@@ -46,6 +47,12 @@
         JavaMappedReference reference = new JavaMappedReference();
         reference.setMember(method);
         reference.setRequired(annotation.required());
+        JavaServiceContract contract = new JavaServiceContract();
+        Class<?> interfaceType = method.getParameterTypes()[0];
+        String interfaceName = JavaIntrospectionHelper.getBaseName(interfaceType);
+        contract.setInterfaceName(interfaceName);
+        contract.setInterfaceClass(interfaceType);
+        reference.setServiceContract(contract);
         type.getReferences().put(name, reference);
     }
 
@@ -61,10 +68,16 @@
         if (type.getReferences().get(name) != null) {
             throw new DuplicateReferenceException(name);
         }
-        JavaMappedReference property = new JavaMappedReference();
-        property.setMember(field);
-        property.setRequired(annotation.required());
-        type.getReferences().put(name, property);
+        JavaMappedReference reference = new JavaMappedReference();
+        reference.setMember(field);
+        reference.setRequired(annotation.required());
+        JavaServiceContract contract = new JavaServiceContract();
+        Class<?> interfaceType = field.getType();
+        String interfaceName = JavaIntrospectionHelper.getBaseName(interfaceType);
+        contract.setInterfaceName(interfaceName);
+        contract.setInterfaceClass(interfaceType);
+        reference.setServiceContract(contract);
+        type.getReferences().put(name, reference);
     }
 
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessorTestCase.java?rev=416967&r1=416966&r2=416967&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessorTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessorTestCase.java Sat Jun 24 15:02:21 2006
@@ -7,6 +7,7 @@
 import junit.framework.TestCase;
 import org.apache.tuscany.core.implementation.JavaMappedProperty;
 import org.apache.tuscany.core.implementation.JavaMappedReference;
+import org.apache.tuscany.core.implementation.JavaServiceContract;
 import org.apache.tuscany.core.implementation.PojoComponentType;
 
 /**
@@ -20,7 +21,11 @@
 
     public void testMethodAnnotation() throws Exception {
         processor.visitMethod(ReferenceProcessorTestCase.Foo.class.getMethod("setFoo", Ref.class), type, null);
-        assertNotNull(type.getReferences().get("foo"));
+        JavaMappedReference reference = type.getReferences().get("foo");
+        assertNotNull(reference);
+        JavaServiceContract contract = (JavaServiceContract) reference.getServiceContract();
+        assertEquals(Ref.class, contract.getInterfaceClass());
+        assertEquals("ReferenceProcessorTestCase$Ref", contract.getInterfaceName());
     }
 
     public void testMethodRequired() throws Exception {
@@ -37,7 +42,11 @@
 
     public void testFieldAnnotation() throws Exception {
         processor.visitField(ReferenceProcessorTestCase.Foo.class.getDeclaredField("baz"), type, null);
-        assertNotNull(type.getReferences().get("baz"));
+        JavaMappedReference reference = type.getReferences().get("baz");
+        assertNotNull(reference);
+        JavaServiceContract contract = (JavaServiceContract) reference.getServiceContract();
+        assertEquals(Ref.class, contract.getInterfaceClass());
+        assertEquals("ReferenceProcessorTestCase$Ref", contract.getInterfaceName());
     }
 
     public void testFieldRequired() throws Exception {

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoaderTestCase.java?rev=416967&r1=416966&r2=416967&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoaderTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoaderTestCase.java Sat Jun 24 15:02:21 2006
@@ -17,6 +17,8 @@
 package org.apache.tuscany.core.implementation.system.loader;
 
 import org.apache.tuscany.spi.model.ServiceDefinition;
+import org.apache.tuscany.spi.model.ReferenceDefinition;
+import org.apache.tuscany.spi.model.Property;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.implementation.IntrospectionRegistryImpl;
@@ -44,11 +46,10 @@
         PojoComponentType<?, ?, ?> componentType = loader.loadByIntrospection(impl, null);
         ServiceDefinition service = componentType.getServices().get("BasicInterface");
         assertEquals(BasicInterface.class, service.getServiceContract().getInterfaceClass());
-// FIXME temporarily comment out until heuristic property and reference processor finished
-//        Property<?> property = componentType.getProperties().get("publicProperty");
-//        assertEquals(String.class, property.getJavaType());
-//        ReferenceDefinition referenceDefinition = componentType.getReferences().get("publicReference");
-//        assertEquals(BasicInterface.class, referenceDefinition.getServiceContract().getInterfaceClass());
+        Property<?> property = componentType.getProperties().get("publicProperty");
+        assertEquals(String.class, property.getJavaType());
+        ReferenceDefinition referenceDefinition = componentType.getReferences().get("protectedReference");
+        assertEquals(BasicInterface.class, referenceDefinition.getServiceContract().getInterfaceClass());
     }
 
     protected void setUp() throws Exception {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org