Author: lresende
Date: Wed Feb 22 15:55:39 2012
New Revision: 1292360

URL: http://svn.apache.org/viewvc?rev=1292360&view=rev
Log:
Enabling isCORS attribute for REST binding

Modified:
    
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/RESTBinding.java
    
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/impl/RESTBindingImpl.java
    
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java
    
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/test/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessorTestCase.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/RESTBinding.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/RESTBinding.java?rev=1292360&r1=1292359&r2=1292360&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/RESTBinding.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/RESTBinding.java
 Wed Feb 22 15:55:39 2012
@@ -53,4 +53,11 @@ public interface RESTBinding extends Bin
      * @return
      */
     public boolean isCORS();
+    
+    /**
+     * Enable/Disable CORS support for the REST binding
+     * @param isCors
+     * @return
+     */
+    public void setCORS(boolean isCors);
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/impl/RESTBindingImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/impl/RESTBindingImpl.java?rev=1292360&r1=1292359&r2=1292360&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/impl/RESTBindingImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/impl/RESTBindingImpl.java
 Wed Feb 22 15:55:39 2012
@@ -40,9 +40,10 @@ class RESTBindingImpl implements RESTBin
     private String name;
     private String uri;
 
-    private List<HTTPHeader> httpHeaders = new ArrayList<HTTPHeader>();
-
     private int readTimeout = 60000;
+    private boolean isCORS = false;
+    
+    private List<HTTPHeader> httpHeaders = new ArrayList<HTTPHeader>();
 
     private WireFormat requestWireFormat;
     private WireFormat responseWireFormat;
@@ -68,6 +69,22 @@ class RESTBindingImpl implements RESTBin
         this.uri = uri;
     }
 
+    public int getReadTimeout() {
+        return readTimeout;
+    }
+
+    public void setReadTimeout(int readTimeout) {
+        this.readTimeout = readTimeout;
+    }
+    
+    public boolean isCORS() {
+        return isCORS;
+    }
+
+    public void setCORS(boolean isCORS) {
+        this.isCORS = isCORS;
+    }
+    
     public List<HTTPHeader> getHttpHeaders() {
         return this.httpHeaders;
     }
@@ -110,16 +127,4 @@ class RESTBindingImpl implements RESTBin
     public Object clone() throws CloneNotSupportedException {
         return super.clone();
     }
-
-    public boolean isCORS() {
-        return true;
-    }
-
-    public int getReadTimeout() {
-        return readTimeout;
-    }
-
-    public void setReadTimeout(int readTimeout) {
-        this.readTimeout = readTimeout;
-    }
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java?rev=1292360&r1=1292359&r2=1292360&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/main/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessor.java
 Wed Feb 22 15:55:39 2012
@@ -73,6 +73,7 @@ public class RESTBindingProcessor extend
     private static final String VALUE = "value";
     private static final String URI = "uri";
     private static final String READ_TIMEOUT = "readTimeout";
+    private static final String CORS ="isCORS";
 
     private RESTBindingFactory restBindingFactory;
     private JSONWireFormatFactory jsonWireFormatFactory;
@@ -140,10 +141,16 @@ public class RESTBindingProcessor extend
                             restBinding.setURI(uri);
                         }
                         
-                        String readTimeout = getReadTimeoutString(reader, 
READ_TIMEOUT);
+                        String readTimeout = getString(reader, READ_TIMEOUT);
                         if (readTimeout != null) {
                             
restBinding.setReadTimeout(Integer.valueOf(readTimeout));
                         }
+                        
+                        Boolean isCORS = getBoolean(reader, CORS);
+                        if(isCORS != null) {
+                            restBinding.setCORS(isCORS);
+                        }
+                        
                         break;
 
                     } else if (HEADERS_QNAME.equals(elementName)) {
@@ -265,10 +272,6 @@ public class RESTBindingProcessor extend
 
     }
 
-    private String getReadTimeoutString(XMLStreamReader reader, String 
readTimeout) {
-        return StAXHelper.getAttributeAsString(reader, readTimeout);
-    }
-    
     private Object 
readWireFormatAndOperationSelectorExtensions(XMLStreamReader reader)  throws 
XMLStreamException {
         QName elementName = reader.getName();
         

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/test/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessorTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest/src/test/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessorTestCase.java?rev=1292360&r1=1292359&r2=1292360&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/test/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessorTestCase.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-rest/src/test/java/org/apache/tuscany/sca/binding/rest/xml/RESTBindingProcessorTestCase.java
 Wed Feb 22 15:55:39 2012
@@ -48,7 +48,7 @@ public class RESTBindingProcessorTestCas
             + " <component name=\"CustomerService\">"
             + "   <implementation.java 
class=\"services.customer.CustomerServiceImpl\"/>"
             + "      <service name=\"CustomerService\">"
-            + "         <tuscany:binding.rest 
uri=\"http://localhost:8085/Customer\"; readTimeout=\"30000\">"
+            + "         <tuscany:binding.rest 
uri=\"http://localhost:8085/Customer\"; readTimeout=\"30000\" isCORS=\"true\" >"
             + "            <tuscany:wireFormat.xml />"
             + "            <tuscany:operationSelector.jaxrs />"
             + "            <tuscany:http-headers>"
@@ -89,6 +89,7 @@ public class RESTBindingProcessorTestCas
         Assert.assertNotNull(binding.getRequestWireFormat());
         Assert.assertNotNull(binding.getOperationSelector());
         Assert.assertEquals(30000, binding.getReadTimeout());
+        Assert.assertEquals(true,binding.isCORS());
         Assert.assertEquals(2, binding.getHttpHeaders().size());
         Assert.assertEquals("Cache-Control", 
binding.getHttpHeaders().get(0).getName());
         Assert.assertEquals("no-cache", 
binding.getHttpHeaders().get(0).getValue());


Reply via email to