Author: slaws
Date: Mon Jun 21 08:53:11 2010
New Revision: 956500
URL: http://svn.apache.org/viewvc?rev=956500&view=rev
Log:
BWS_2001 - add a check that the reference binding.ws has an absolute URI
Modified:
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties
Modified:
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java?rev=956500&r1=956499&r2=956500&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
Mon Jun 21 08:53:11 2010
@@ -267,6 +267,11 @@ public class CompositeProcessor extends
policyProcessor.readPolicies(contract, reader);
}
+ // set the parent model so that binding processing
can
+ // detect it they're being read as part of a
reference
+ // or a service
+ context.setParentModel(contract);
+
} else if (REFERENCE_QNAME.equals(name)) {
if (component != null) {
// Read a <component><reference>
@@ -332,6 +337,11 @@ public class CompositeProcessor extends
policyProcessor.readPolicies(contract, reader);
}
+ // set the parent model so that binding processing
can
+ // detect it they're being read as part of a
reference
+ // or a service
+ context.setParentModel(contract);
+
} else if (PROPERTY_QNAME.equals(name)) {
if (component != null) {
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java?rev=956500&r1=956499&r2=956500&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
Mon Jun 21 08:53:11 2010
@@ -22,6 +22,8 @@ package org.apache.tuscany.sca.binding.w
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.Map;
import javax.wsdl.Binding;
@@ -33,6 +35,7 @@ import javax.xml.stream.XMLStreamExcepti
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.xml.PolicySubjectProcessor;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
@@ -131,6 +134,18 @@ public class WebServiceBindingProcessor
String uri = getURIString(reader, URI);
if (uri != null) {
wsBinding.setURI(uri);
+
+ if (context.getParentModel() instanceof Reference){
+ try {
+ URI tmpURI = new URI(uri);
+
+ if (!tmpURI.isAbsolute()){
+ error(monitor, "URINotAbsolute", reader, uri);
+ }
+ } catch (URISyntaxException ex){
+ error(monitor, "InvalidURISyntax", reader,
ex.getMessage());
+ }
+ }
}
// Read a qname in the form:
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties?rev=956500&r1=956499&r2=956500&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties
Mon Jun 21 08:53:11 2010
@@ -25,6 +25,8 @@ WsdlBindingDoesNotMatch = The #wsdl.bind
WsdlServiceDoesNotMatch = The #wsdl.service({0}) does not match with the WSDL
Definitions
WsdlPortTypeDoesNotMatch = The #wsdl.port({0}) does not match with the WSDL
Definitions
WsdliLocationMissingWsdlElement = binding.ws has a @wsdli:wsdlLocation
attribute but no @wsdlElement attribute
+URINotAbsolute = [BWS20001] The URI value for binding.ws on an SCA reference
must be absolute. Non-absolute value found {0}
+InvalidURISyntax = The URI value {0} found on binding.ws has invalid syntax