Author: lresende
Date: Fri Apr 30 17:15:46 2010
New Revision: 939743

URL: http://svn.apache.org/viewvc?rev=939743&view=rev
Log:
Enhancing processing of JAX-RS interfaces, and fixing typo on the annotation 
used for delete operations

Modified:
    
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/JAXRSJavaInterfaceProcessor.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/JAXRSJavaInterfaceProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/JAXRSJavaInterfaceProcessor.java?rev=939743&r1=939742&r2=939743&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/JAXRSJavaInterfaceProcessor.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/interface-java-jaxrs/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxrs/JAXRSJavaInterfaceProcessor.java
 Fri Apr 30 17:15:46 2010
@@ -21,7 +21,6 @@ package org.apache.tuscany.sca.interface
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import javax.ws.rs.DELETE;
@@ -48,8 +47,8 @@ public class JAXRSJavaInterfaceProcessor
         
         boolean hasJAXRSAnnotarions = false;
         
-        for (Iterator<Operation> it = contract.getOperations().iterator(); 
it.hasNext();) {
-            final JavaOperation operation = (JavaOperation)it.next();
+        for (Operation op : contract.getOperations()) {
+            final JavaOperation operation = (JavaOperation)op;
             final Method method = operation.getJavaMethod();
          
             GET get = method.getAnnotation(GET.class);
@@ -58,22 +57,13 @@ public class JAXRSJavaInterfaceProcessor
                 operation.getAttributes().put(GET.class, true);
                 getOperations.add(operation);
             }
-            
-            if(! getOperations.isEmpty()) {
-                contract.getAttributes().put(GET.class, getOperations);
-            }
-            
+
             PUT put = method.getAnnotation(PUT.class);
             if(put != null) {
                 hasJAXRSAnnotarions = true;
                 operation.getAttributes().put(PUT.class, true);
                 putOperations.add(operation);
             }
-
-            if(! putOperations.isEmpty()) {
-                contract.getAttributes().put(PUT.class, putOperations);
-            }
-
             
             POST post = method.getAnnotation(POST.class);
             if(post != null) {
@@ -81,10 +71,6 @@ public class JAXRSJavaInterfaceProcessor
                 operation.getAttributes().put(POST.class, true);
                 postOperations.add(operation);
             }
-            
-            if(! postOperations.isEmpty()) {
-                contract.getAttributes().put(POST.class, postOperations);
-            }
 
             DELETE delete = method.getAnnotation(DELETE.class);
             if(delete != null) {
@@ -92,12 +78,24 @@ public class JAXRSJavaInterfaceProcessor
                 operation.getAttributes().put(DELETE.class, true);
                 deleteOperations.add(operation);
             }
+        }
+        
+        if(! getOperations.isEmpty()) {
+            contract.getAttributes().put(GET.class, getOperations);
+        }
 
-            if(! deleteOperations.isEmpty()) {
-                contract.getAttributes().put(GET.class, deleteOperations);
-            }
-            
+        if(! putOperations.isEmpty()) {
+            contract.getAttributes().put(PUT.class, putOperations);
         }
+
+        if(! postOperations.isEmpty()) {
+            contract.getAttributes().put(POST.class, postOperations);
+        }
+
+        if(! deleteOperations.isEmpty()) {
+            contract.getAttributes().put(DELETE.class, deleteOperations);
+        }
+        
         
         // Always set JAX-RS annotated interfaces as remotables
         if (hasJAXRSAnnotarions) {


Reply via email to