Author: slaws
Date: Wed Aug 22 05:46:11 2007
New Revision: 568594
URL: http://svn.apache.org/viewvc?rev=568594&view=rev
Log:
Thorw exceptions is SCA namespace extensions appear out of place.
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java?rev=568594&r1=568593&r2=568594&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
Wed Aug 22 05:46:11 2007
@@ -300,7 +300,15 @@
// <service><interface> and
// <reference><interface>
-
contract.setInterfaceContract((InterfaceContract)extension);
+ if (contract != null) {
+
contract.setInterfaceContract((InterfaceContract)extension);
+ } else {
+ if
(name.getNamespaceURI().equals(SCA10_NS)){
+ throw new
ContributionReadException("Unexpected <interface> element found. It should
appear inside a <service> or <reference> element");
+ } else {
+
composite.getExtensions().add(extension);
+ }
+ }
} else if (extension instanceof Binding) {
// <service><binding> and
@@ -308,13 +316,29 @@
if (callback != null) {
callback.getBindings().add((Binding)extension);
} else {
-
contract.getBindings().add((Binding)extension);
+ if (contract != null) {
+
contract.getBindings().add((Binding)extension);
+ } else {
+ if
(name.getNamespaceURI().equals(SCA10_NS)){
+ throw new
ContributionReadException("Unexpected <binding> element found. It should appear
inside a <service> or <reference> element");
+ } else {
+
composite.getExtensions().add(extension);
+ }
+ }
}
} else if (extension instanceof
Implementation) {
// <component><implementation>
-
component.setImplementation((Implementation)extension);
+ if (component != null) {
+
component.setImplementation((Implementation)extension);
+ } else {
+ if
(name.getNamespaceURI().equals(SCA10_NS)){
+ throw new
ContributionReadException("Unexpected <implementation> element found. It should
appear inside a <component> element");
+ } else {
+
composite.getExtensions().add(extension);
+ }
+ }
} else {
// Add the extension element to the current
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]