You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/08/25 19:59:25 UTC

svn commit: r688805 - in /tuscany/java/sca/modules/implementation-java/src: main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/

Author: rfeng
Date: Mon Aug 25 10:59:25 2008
New Revision: 688805

URL: http://svn.apache.org/viewvc?rev=688805&view=rev
Log:
Fix for TUSCANY-2513 (patch from Scott)

Modified:
    tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java
    tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessorTestCase.java

Modified: tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java?rev=688805&r1=688804&r2=688805&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java (original)
+++ tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java Mon Aug 25 10:59:25 2008
@@ -28,6 +28,8 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
+import javax.jws.WebService;
+
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.Service;
 import org.apache.tuscany.sca.implementation.java.IntrospectionException;
@@ -64,7 +66,10 @@
             // scan interfaces for remotable
             Set<Class> interfaces = getAllInterfaces(clazz);
             for (Class<?> interfaze : interfaces) {
-                if (interfaze.isAnnotationPresent(Remotable.class) || interfaze.isAnnotationPresent(Callback.class)) {
+                if (interfaze.isAnnotationPresent(Remotable.class) 
+                    || interfaze.isAnnotationPresent(WebService.class)
+                    || interfaze.isAnnotationPresent(Callback.class)
+                    ) {
                     Service service;
                     try {
                         service = createService(interfaze);

Modified: tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessorTestCase.java?rev=688805&r1=688804&r2=688805&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessorTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessorTestCase.java Mon Aug 25 10:59:25 2008
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.sca.implementation.java.introspect.impl;
 
+import javax.jws.WebService;
+
 import junit.framework.TestCase;
 
 import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
@@ -65,6 +67,12 @@
         assertEquals(1, type.getServices().size());
     }
 
+
+    public void testMultipleWithWebServiceAnnotation() throws Exception {
+        processor.visitClass(FooMultipleWithWebService.class, type);
+        assertEquals(2, type.getServices().size());
+    }
+    
     public void testRemotableNoService() throws Exception {
         processor.visitClass(FooRemotableNoService.class, type);
         assertEquals(1, type.getServices().size());
@@ -102,6 +110,10 @@
 
     private interface Bar2 {
     }
+    
+    @WebService
+    private interface Bar3 {
+    }
 
     @Remotable
     private interface BazRemotable {
@@ -124,7 +136,10 @@
     private class FooMultipleWithCalback implements Baz, Bar {
 
     }
-
+    
+    private class FooMultipleWithWebService implements BazRemotable, Bar3 {
+    }
+    
     private class FooRemotableNoService implements BazRemotable, Bar {
 
     }