summaryrefslogtreecommitdiffstats
path: root/java/sca-contrib/itest/validation/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca-contrib/itest/validation/src/test')
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/assembly/xml/ContributionReadException.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyImplValidationException.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyServiceValidationException.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedBindingElement.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedImplementationElement.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedInterfaceElement.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java66
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java65
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessActivationSpecTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessDestinationTypeTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessHeadersTestCase.java61
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResourceAdapterTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseActivationSpecTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseConnectionFactoryTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseDestinationTypeTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidCorrelationSchemeTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSDeliveryModeTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSPriorityTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidResponseDestinationTypeTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingActivationSpecNameTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingConnectionFactoryNameTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseActivationSpecTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseConnectionFactoryTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/MustStartWithSchemaTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedElementTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedResponseElementTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/jms/UnknownTokenInURITestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/wsxml/InvalidWsdlElementAttrTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/wsxml/MustUseWsdlBindingTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlBindingDoesNotMatchTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlPortTypeDoesNotMatchTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlServiceDoesNotMatchTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/ComponentReferenceTargetNotFoundTestCase.java76
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateComponentNameTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationPropertyNameTestCase.java64
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationReferenceNameTestCase.java65
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicatePropertyNameTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateReferenceNameTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/MultipleBindingsForServiceTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoComponentImplementationTestCase.java66
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoCompositeNamespaceTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoMatchingBindingTestCase.java72
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedReferenceNotFoundTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedServiceNotFoundTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeMustSupplyNullTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyNotFoundTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyOverrideManyAttributeTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleComponentInterfaceTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleInterfaceTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleMultiplicityTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceNotFoundTestCase.java71
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceWithoutTargetsTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/ServiceNotFoundForComponentServiceTestCase.java70
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/UnresolvedComponentImplementationTestCase.java66
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/calculator/warning/XSDValidationTestCase.java67
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/contribution/java/AttributePackageMissingTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/contribution/namespace/AttributeNameSpaceMissingTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/contribution/resource/AttributeURIMissingTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/contribution/xml/AttributeCompositeMissingTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/contribution/xml/MultipleCompositeErrorsTestCase.java64
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/domain/CustomCompositeBuilder.java230
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeUnrecognizedNamespaceTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeWithoutNamespaceTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/BPELProcessNotFoundTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/CannotResolveWSDLReferenceTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/MyRolePartnerRoleNullTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkHasBothAttrTestCase.java68
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkNoMatchingTypeTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkTypeNoRolesTestCase.java69
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/ejb/EJBLinkAttributeMissingTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/java/ClassNotFoundExceptionTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/java/ContributionResolveExceptionTestCase.java60
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/resource/CouldNotResolveLocationTestCase.java58
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/resource/LocationAttributeMissingTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/spring/ContributionResolveExceptionTestCase.java66
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/spring/LocationAttributeMissingTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/spring/UnableToResolveComponentTypeTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/widget/CouldNotResolveLocationTestCase.java58
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/widget/LocationAttributeMissingTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/xquery/CouldNotLocateFileTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/impl/xquery/LocationAttributeMissingTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ClassNotFoundTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ContributionResolveExceptionTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/InvalidWSDLInterfaceAttrTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/WsdlInterfaceDoesNotMatchTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/policy/xml/AlwaysProvidedIntentNotFoundTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/policy/xml/ErrorInPolicyIntentDefinitionTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/policy/xml/IntentNotSpecifiedTestCase.java68
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/policy/xml/MayProvideIntentNotFoundTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/policy/xml/RequiredAttributeMissingTestCase.java59
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/policy/xml/UnableToMapPoliciesTestCase.java64
-rw-r--r--java/sca-contrib/itest/validation/src/test/java/policy/xml/UnrecognizedIntentAttachPointTypeTestCase.java59
93 files changed, 5971 insertions, 0 deletions
diff --git a/java/sca-contrib/itest/validation/src/test/java/assembly/xml/ContributionReadException.java b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/ContributionReadException.java
new file mode 100644
index 0000000000..55999fe27d
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/ContributionReadException.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package assembly.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ContributionReadException extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/assemblyxml/ContributionReadException/Calculator.composite",
+ "TestContribution", "src/main/resources/assemblyxml/ContributionReadException/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ContributionReadException", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyImplValidationException.java b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyImplValidationException.java
new file mode 100644
index 0000000000..5ab65b2f64
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyImplValidationException.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package assembly.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PolicyImplValidationException extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/assemblyxml/PolicyImplValidationException/Calculator.composite",
+ "TestContribution", "src/main/resources/assemblyxml/PolicyImplValidationException/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PolicyImplValidationException", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyServiceValidationException.java b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyServiceValidationException.java
new file mode 100644
index 0000000000..52803411cf
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/PolicyServiceValidationException.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package assembly.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PolicyServiceValidationException extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/assemblyxml/PolicyServiceValidationException/Calculator.composite",
+ "TestContribution", "src/main/resources/assemblyxml/PolicyServiceValidationException/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PolicyServiceValidationException", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedBindingElement.java b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedBindingElement.java
new file mode 100644
index 0000000000..8adf1aa2aa
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedBindingElement.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package assembly.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnexpectedBindingElement extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/assemblyxml/UnexpectedBindingElement/Calculator.composite",
+ "TestContribution", "src/main/resources/assemblyxml/UnexpectedBindingElement/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnexpectedBindingElement", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedImplementationElement.java b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedImplementationElement.java
new file mode 100644
index 0000000000..2790cd0a6c
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedImplementationElement.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package assembly.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnexpectedImplementationElement extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/assemblyxml/UnexpectedImplementationElement/Calculator.composite",
+ "TestContribution", "src/main/resources/assemblyxml/UnexpectedImplementationElement/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnexpectedImplementationElement", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedInterfaceElement.java b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedInterfaceElement.java
new file mode 100644
index 0000000000..c6daaebfe5
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/assembly/xml/UnexpectedInterfaceElement.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package assembly.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnexpectedInterfaceElement extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/assemblyxml/UnexpectedInterfaceElement/Calculator.composite",
+ "TestContribution", "src/main/resources/assemblyxml/UnexpectedInterfaceElement/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnexpectedInterfaceElement", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java
new file mode 100644
index 0000000000..204034737b
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.ejb;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnknownEJBSessionTypeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception {
+ System.setProperty("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
+ System.setProperty("java.naming.provider.url", "ejbd://localhost:8085");
+ System.setProperty("managed", "false");
+
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingejb/UnknownEJBSessionType/account.composite",
+ "TestContribution",
+ "src/main/resources/bindingejb/UnknownEJBSessionType/");
+ } catch (Exception ex) {
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ System.clearProperty("java.naming.factory.initial");
+ System.clearProperty("java.naming.provider.url");
+ System.clearProperty("managed");
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnknownEJBSessionType", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java
new file mode 100644
index 0000000000..ff2e413ab7
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.ejb;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnknownEJBVersionTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception {
+ System.setProperty("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
+ System.setProperty("java.naming.provider.url", "ejbd://localhost:8085");
+ System.setProperty("managed", "false");
+
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingejb/UnknownEJBVersion/account.composite",
+ "TestContribution", "src/main/resources/bindingejb/UnknownEJBVersion/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ System.clearProperty("java.naming.factory.initial");
+ System.clearProperty("java.naming.provider.url");
+ System.clearProperty("managed");
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnknownEJBVersion", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessActivationSpecTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessActivationSpecTestCase.java
new file mode 100644
index 0000000000..1632f95689
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessActivationSpecTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DoesntProcessActivationSpecTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/DoesntProcessActivationSpec/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/DoesntProcessActivationSpec/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DoesntProcessActivationSpec", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessDestinationTypeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessDestinationTypeTestCase.java
new file mode 100644
index 0000000000..054f5a6035
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessDestinationTypeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DoesntProcessDestinationTypeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/DoesntProcessDestinationType/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/DoesntProcessDestinationType/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DoesntProcessDestinationType", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessHeadersTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessHeadersTestCase.java
new file mode 100644
index 0000000000..f3f61ec04b
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessHeadersTestCase.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.junit.Ignore;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DoesntProcessHeadersTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/DoesntProcessHeaders/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/DoesntProcessHeaders/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ @Ignore("TUSCANY-2532")
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+// assertEquals("DoesntProcessHeaders", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResourceAdapterTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResourceAdapterTestCase.java
new file mode 100644
index 0000000000..76d8a63b51
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResourceAdapterTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DoesntProcessResourceAdapterTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/DoesntProcessResourceAdapter/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/DoesntProcessResourceAdapter/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DoesntProcessResourceAdapter", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseActivationSpecTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseActivationSpecTestCase.java
new file mode 100644
index 0000000000..95c108e6db
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseActivationSpecTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DoesntProcessResponseActivationSpecTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/DoesntProcessResponseActivationSpec/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/DoesntProcessResponseActivationSpec/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DoesntProcessResponseActivationSpec", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseConnectionFactoryTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseConnectionFactoryTestCase.java
new file mode 100644
index 0000000000..2f66bbfe0c
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseConnectionFactoryTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DoesntProcessResponseConnectionFactoryTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/DoesntProcessResponseConnectionFactory/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/DoesntProcessResponseConnectionFactory/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DoesntProcessResponseConnectionFactory", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseDestinationTypeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseDestinationTypeTestCase.java
new file mode 100644
index 0000000000..decf234753
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/DoesntProcessResponseDestinationTypeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DoesntProcessResponseDestinationTypeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/DoesntProcessResponseDestinationType/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/DoesntProcessResponseDestinationType/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DoesntProcessResponseDestinationType", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidCorrelationSchemeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidCorrelationSchemeTestCase.java
new file mode 100644
index 0000000000..445a41700b
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidCorrelationSchemeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class InvalidCorrelationSchemeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/InvalidCorrelationScheme/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/InvalidCorrelationScheme/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("InvalidCorrelationScheme", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSDeliveryModeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSDeliveryModeTestCase.java
new file mode 100644
index 0000000000..531573a0aa
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSDeliveryModeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class InvalidJMSDeliveryModeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/InvalidJMSDeliveryMode/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/InvalidJMSDeliveryMode/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("InvalidJMSDeliveryMode", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSPriorityTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSPriorityTestCase.java
new file mode 100644
index 0000000000..758e19d264
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidJMSPriorityTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class InvalidJMSPriorityTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/InvalidJMSPriority/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/InvalidJMSPriority/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("InvalidJMSPriority", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidResponseDestinationTypeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidResponseDestinationTypeTestCase.java
new file mode 100644
index 0000000000..96319438b6
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/InvalidResponseDestinationTypeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class InvalidResponseDestinationTypeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/InvalidResponseDestinationType/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/InvalidResponseDestinationType/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("InvalidResponseDestinationType", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingActivationSpecNameTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingActivationSpecNameTestCase.java
new file mode 100644
index 0000000000..a2a4caa0b0
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingActivationSpecNameTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MissingActivationSpecNameTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/MissingActivationSpecName/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/MissingActivationSpecName/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MissingActivationSpecName", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingConnectionFactoryNameTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingConnectionFactoryNameTestCase.java
new file mode 100644
index 0000000000..0d91afd7e6
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingConnectionFactoryNameTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MissingConnectionFactoryNameTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/MissingConnectionFactoryName/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/MissingConnectionFactoryName/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MissingConnectionFactoryName", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseActivationSpecTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseActivationSpecTestCase.java
new file mode 100644
index 0000000000..048fcc7d43
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseActivationSpecTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MissingResponseActivationSpecTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/MissingResponseActivationSpec/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/MissingResponseActivationSpec/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MissingResponseActivationSpec", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseConnectionFactoryTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseConnectionFactoryTestCase.java
new file mode 100644
index 0000000000..856c9f3b27
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MissingResponseConnectionFactoryTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MissingResponseConnectionFactoryTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/MissingResponseConnectionFactory/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/MissingResponseConnectionFactory/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MissingResponseConnectionFactory", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/MustStartWithSchemaTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MustStartWithSchemaTestCase.java
new file mode 100644
index 0000000000..b584cb8d94
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/MustStartWithSchemaTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MustStartWithSchemaTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/MustStartWithSchema/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/MustStartWithSchema/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MustStartWithSchema", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedElementTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedElementTestCase.java
new file mode 100644
index 0000000000..ae26008564
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedElementTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnexpectedElementTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/UnexpectedElement/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/UnexpectedElement/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnexpectedElement", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedResponseElementTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedResponseElementTestCase.java
new file mode 100644
index 0000000000..fedc1f7530
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnexpectedResponseElementTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnexpectedResponseElementTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/UnexpectedResponseElement/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/UnexpectedResponseElement/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnexpectedResponseElement", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnknownTokenInURITestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnknownTokenInURITestCase.java
new file mode 100644
index 0000000000..d94643cbc9
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/jms/UnknownTokenInURITestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.jms;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnknownTokenInURITestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/bindingjms/UnknownTokenInURI/service.composite",
+ "TestContribution", "src/main/resources/bindingjms/UnknownTokenInURI/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnknownTokenInURI", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/InvalidWsdlElementAttrTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/InvalidWsdlElementAttrTestCase.java
new file mode 100644
index 0000000000..4cbe3def2d
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/InvalidWsdlElementAttrTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.wsxml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class InvalidWsdlElementAttrTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/binding/wsxml/InvalidWsdlElementAttr/Calculator.composite",
+ "TestContribution", "src/main/resources/binding/wsxml/InvalidWsdlElementAttr/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("InvalidWsdlElementAttr", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/MustUseWsdlBindingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/MustUseWsdlBindingTestCase.java
new file mode 100644
index 0000000000..2fe8af318c
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/MustUseWsdlBindingTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.wsxml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MustUseWsdlBindingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/binding/wsxml/MustUseWsdlBinding/Calculator.composite",
+ "TestContribution", "src/main/resources/binding/wsxml/MustUseWsdlBinding/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MustUseWsdlBinding", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlBindingDoesNotMatchTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlBindingDoesNotMatchTestCase.java
new file mode 100644
index 0000000000..09865ab855
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlBindingDoesNotMatchTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.wsxml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class WsdlBindingDoesNotMatchTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/binding/wsxml/WsdlBindingDoesNotMatch/helloworldwsjms.composite",
+ "TestContribution", "src/main/resources/binding/wsxml/WsdlBindingDoesNotMatch/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("WsdlBindingDoesNotMatch", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlPortTypeDoesNotMatchTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlPortTypeDoesNotMatchTestCase.java
new file mode 100644
index 0000000000..3be31d5994
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlPortTypeDoesNotMatchTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.wsxml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class WsdlPortTypeDoesNotMatchTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/binding/wsxml/WsdlPortTypeDoesNotMatch/helloworldwsclient.composite",
+ "TestContribution", "src/main/resources/binding/wsxml/WsdlPortTypeDoesNotMatch/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("WsdlPortTypeDoesNotMatch", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlServiceDoesNotMatchTestCase.java b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlServiceDoesNotMatchTestCase.java
new file mode 100644
index 0000000000..303b8299ad
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/binding/wsxml/WsdlServiceDoesNotMatchTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package binding.wsxml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class WsdlServiceDoesNotMatchTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/binding/wsxml/WsdlServiceDoesNotMatch/helloworldwsjms.composite",
+ "TestContribution", "src/main/resources/binding/wsxml/WsdlServiceDoesNotMatch/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("WsdlServiceDoesNotMatch", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ComponentReferenceTargetNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ComponentReferenceTargetNotFoundTestCase.java
new file mode 100644
index 0000000000..f4ba8eb4e6
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ComponentReferenceTargetNotFoundTestCase.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ComponentReferenceTargetNotFoundTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/ComponentReferenceTargetNotFound/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/ComponentReferenceTargetNotFound").toURL().toString()));
+
+ try {
+ node.start();
+ } catch (Exception ex){
+ // do nothing - the SCA binding throws and exception here
+ // because the interface for the reference is not remotable
+ }
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ComponentReferenceTargetNotFound", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateComponentNameTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateComponentNameTestCase.java
new file mode 100644
index 0000000000..a7b23ed10f
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateComponentNameTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DuplicateComponentNameTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/DuplicateComponentName/Calculator.composite",
+ "TestContribution", "src/main/resources/DuplicateComponentName/");
+ customDomain.buildContribution();
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DuplicateComponentName", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationPropertyNameTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationPropertyNameTestCase.java
new file mode 100644
index 0000000000..96d8debd4a
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationPropertyNameTestCase.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DuplicateImplementationPropertyNameTestCase extends TestCase {
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/DuplicateImplementationPropertyName/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/DuplicateImplementationPropertyName").toURL().toString()));
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DuplicateImplementationPropertyName", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationReferenceNameTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationReferenceNameTestCase.java
new file mode 100644
index 0000000000..7246d6e0a3
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateImplementationReferenceNameTestCase.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DuplicateImplementationReferenceNameTestCase extends TestCase {
+
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/DuplicateImplementationReferenceName/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/DuplicateImplementationReferenceName").toURL().toString()));
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DuplicateImplementationReferenceName", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicatePropertyNameTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicatePropertyNameTestCase.java
new file mode 100644
index 0000000000..3ffd10f36f
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicatePropertyNameTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DuplicatePropertyNameTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/DuplicatePropertyName/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/DuplicatePropertyName").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DuplicateComponentPropertyName", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateReferenceNameTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateReferenceNameTestCase.java
new file mode 100644
index 0000000000..0e0e4cd2bd
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/DuplicateReferenceNameTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class DuplicateReferenceNameTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/DuplicateReferenceName/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/DuplicateReferenceName").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("DuplicateComponentReferenceName", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/MultipleBindingsForServiceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/MultipleBindingsForServiceTestCase.java
new file mode 100644
index 0000000000..45c7af3d1f
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/MultipleBindingsForServiceTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MultipleBindingsForServiceTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/MultipleBindingsForService/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/MultipleBindingsForService").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MultipleBindingsForService", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoComponentImplementationTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoComponentImplementationTestCase.java
new file mode 100644
index 0000000000..ef2d13aaaa
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoComponentImplementationTestCase.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class NoComponentImplementationTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/NoComponentImplementation/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/NoComponentImplementation").toURL().toString()));
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("NoComponentImplementation", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoCompositeNamespaceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoCompositeNamespaceTestCase.java
new file mode 100644
index 0000000000..9014fb00e5
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoCompositeNamespaceTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class NoCompositeNamespaceTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/NoCompositeNamespace/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/NoCompositeNamespace").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("NoCompositeNamespace", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoMatchingBindingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoMatchingBindingTestCase.java
new file mode 100644
index 0000000000..69382b0456
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/NoMatchingBindingTestCase.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class NoMatchingBindingTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node =
+ nodeFactory.createNode("Calculator.composite", new Contribution("TestContribution", new File("src/main/resources/NoMatchingBinding")
+ .toURL().toString()));
+
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("NoMatchingBinding", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedReferenceNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedReferenceNotFoundTestCase.java
new file mode 100644
index 0000000000..057039b4df
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedReferenceNotFoundTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PromotedReferenceNotFoundTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/PromotedReferenceNotFound/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/PromotedReferenceNotFound").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PromotedReferenceNotFound", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedServiceNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedServiceNotFoundTestCase.java
new file mode 100644
index 0000000000..cda4f9cb57
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PromotedServiceNotFoundTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PromotedServiceNotFoundTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/PromotedServiceNotFound/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/PromotedServiceNotFound").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PromotedServiceNotFound", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeMustSupplyNullTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeMustSupplyNullTestCase.java
new file mode 100644
index 0000000000..e8475bb865
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeMustSupplyNullTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PropertyAttributeMustSupplyNullTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/PropertyAttribute/CalculatorNullMustSupply.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/PropertyAttribute").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PropertyMustSupplyNull", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeTestCase.java
new file mode 100644
index 0000000000..88721a18e2
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyAttributeTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PropertyAttributeTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/PropertyAttribute/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/PropertyAttribute").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PropertyMustSupplyIncompatible", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyNotFoundTestCase.java
new file mode 100644
index 0000000000..1a0739eaa5
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyNotFoundTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PropertyNotFoundTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/PropertyNotFound/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/PropertyNotFound").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PropertyNotFound", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyOverrideManyAttributeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyOverrideManyAttributeTestCase.java
new file mode 100644
index 0000000000..c20c551d92
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/PropertyOverrideManyAttributeTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PropertyOverrideManyAttributeTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/PropertyAttribute/CalculatorOverrideManyAttribute.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/PropertyAttribute").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PropertyOverrideManyAttribute", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleComponentInterfaceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleComponentInterfaceTestCase.java
new file mode 100644
index 0000000000..7ae97638ce
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleComponentInterfaceTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ReferenceIncompatibleComponentInterfaceTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/ReferenceIncompatibleComponentInterface/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/ReferenceIncompatibleComponentInterface").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceIncompatibleComponentInterface", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleInterfaceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleInterfaceTestCase.java
new file mode 100644
index 0000000000..6e5eb41ba0
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleInterfaceTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ReferenceIncompatibleInterfaceTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/ReferenceIncompatibleInterface/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/ReferenceIncompatibleInterface").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceIncompatibleInterface", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleMultiplicityTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleMultiplicityTestCase.java
new file mode 100644
index 0000000000..2eec73f815
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceIncompatibleMultiplicityTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ReferenceIncompatibleMultiplicityTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/ReferenceIncompatibleMultiplicity/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/ReferenceIncompatibleMultiplicity").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceIncompatibleMultiplicity", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceNotFoundTestCase.java
new file mode 100644
index 0000000000..ab2c373486
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceNotFoundTestCase.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ReferenceNotFoundTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/ReferenceNotFound/Calculator.composite",
+ "TestContribution",
+ "src/main/resources/ReferenceNotFound/");
+ customDomain.buildContribution();
+ } catch (Exception ex){
+ throw ex;
+ }
+
+
+ /*
+ SCANodeFactory nodeFactory = SCANodeFactory.newInstance();
+ node = nodeFactory.createSCANode(new File("src/main/resources/ReferenceNotFound/Calculator.composite").toURL().toString(),
+ new SCAContribution("TestContribution",
+ new File("src/main/resources/ReferenceNotFound").toURL().toString()));
+ node.start();
+ calculatorService = ((SCAClient)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ */
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceNotFound", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceWithoutTargetsTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceWithoutTargetsTestCase.java
new file mode 100644
index 0000000000..9b5adee7e6
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ReferenceWithoutTargetsTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ReferenceWithoutTargetsTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/ReferenceWithoutTargets/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/ReferenceWithoutTargets").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceWithoutTargets", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ServiceNotFoundForComponentServiceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ServiceNotFoundForComponentServiceTestCase.java
new file mode 100644
index 0000000000..1b8116a469
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/ServiceNotFoundForComponentServiceTestCase.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ServiceNotFoundForComponentServiceTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/ServiceNotFoundForComponentService/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/ServiceNotFoundForComponentService").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ServiceNotFoundForComponentService", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/UnresolvedComponentImplementationTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/UnresolvedComponentImplementationTestCase.java
new file mode 100644
index 0000000000..c848cbb243
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/UnresolvedComponentImplementationTestCase.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnresolvedComponentImplementationTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ node = nodeFactory.createNode(new File("src/main/resources/UnresolvedComponentImplementation/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/UnresolvedComponentImplementation").toURL().toString()));
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry();
+ UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnresolvedComponentImplementation", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/calculator/warning/XSDValidationTestCase.java b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/XSDValidationTestCase.java
new file mode 100644
index 0000000000..a13ea84260
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/calculator/warning/XSDValidationTestCase.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package calculator.warning;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.node.Client;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class XSDValidationTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private Node node;
+ private Exception startUpException;
+
+ @Override
+ protected void setUp() throws Exception {
+ NodeFactory nodeFactory = NodeFactory.newInstance();
+ try {
+ node = nodeFactory.createNode(new File("src/main/resources/XsdValidation/Calculator.composite").toURL().toString(),
+ new Contribution("TestContribution",
+ new File("src/main/resources/XsdValidation").toURL().toString()));
+ node.start();
+ calculatorService = ((Client)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+ } catch (Exception ex){
+ startUpException = ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ if (node != null){
+ node.stop();
+ }
+ }
+
+
+ public void testCalculator() throws Exception {
+
+ assertEquals("org.oasisopen.sca.ServiceRuntimeException: Unexpected <binding> element found. It should appear inside a <service> or <reference> element.", startUpException.getMessage());
+
+ }
+
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/contribution/java/AttributePackageMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/contribution/java/AttributePackageMissingTestCase.java
new file mode 100644
index 0000000000..60b0c51fef
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/contribution/java/AttributePackageMissingTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package contribution.java;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class AttributePackageMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/contribution/java/AttributePackageMissing/Calculator.composite",
+ "TestContribution", "src/main/resources/contribution/java/AttributePackageMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("AttributePackageMissing", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/contribution/namespace/AttributeNameSpaceMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/contribution/namespace/AttributeNameSpaceMissingTestCase.java
new file mode 100644
index 0000000000..dd38802bbe
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/contribution/namespace/AttributeNameSpaceMissingTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package contribution.namespace;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class AttributeNameSpaceMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/contribution/namespace/AttributeNameSpaceMissing/Calculator.composite",
+ "TestContribution", "src/main/resources/contribution/namespace/AttributeNameSpaceMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("AttributeNameSpaceMissing", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/contribution/resource/AttributeURIMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/contribution/resource/AttributeURIMissingTestCase.java
new file mode 100644
index 0000000000..d83a4bfed9
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/contribution/resource/AttributeURIMissingTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package contribution.resource;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class AttributeURIMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/contribution/resource/AttributeURIMissing/Calculator.composite",
+ "TestContribution", "src/main/resources/contribution/resource/AttributeURIMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getProblems().get(0);
+
+ assertNotNull(problem);
+ assertEquals("AttributeURIMissing", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/contribution/xml/AttributeCompositeMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/contribution/xml/AttributeCompositeMissingTestCase.java
new file mode 100644
index 0000000000..b64de39c80
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/contribution/xml/AttributeCompositeMissingTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package contribution.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class AttributeCompositeMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/contribution/xml/AttributeCompositeMissing/Calculator.composite",
+ "TestContribution", "src/main/resources/contribution/xml/AttributeCompositeMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("AttributeCompositeMissing", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/contribution/xml/MultipleCompositeErrorsTestCase.java b/java/sca-contrib/itest/validation/src/test/java/contribution/xml/MultipleCompositeErrorsTestCase.java
new file mode 100644
index 0000000000..0a71ea06c7
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/contribution/xml/MultipleCompositeErrorsTestCase.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package contribution.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.monitor.logging.impl.DefaultLoggingMonitorImpl;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MultipleCompositeErrorsTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/contribution/xml/MultipleCompositeErrors/Calculator.composite",
+ "TestContribution",
+ "src/main/resources/contribution/xml/MultipleCompositeErrors/");
+ } catch (Exception ex){
+ //throw ex;
+ System.out.println("Got Exception");
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = ((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem();
+
+ assertNotNull(problem);
+ assertEquals(5, monitor.getProblems().size());
+ assertEquals("AttributeCompositeMissing", problem.getMessageId());
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/domain/CustomCompositeBuilder.java b/java/sca-contrib/itest/validation/src/test/java/domain/CustomCompositeBuilder.java
new file mode 100644
index 0000000000..6fd5c04671
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/domain/CustomCompositeBuilder.java
@@ -0,0 +1,230 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package domain;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+
+import org.apache.tuscany.sca.assembly.AssemblyFactory;
+import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.assembly.SCABindingFactory;
+import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
+import org.apache.tuscany.sca.assembly.builder.impl.CompositeBindingConfigurationBuilderImpl;
+import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.processor.DefaultValidatingXMLInputFactory;
+import org.apache.tuscany.sca.contribution.processor.DefaultValidationSchemaExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint;
+import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.apache.tuscany.sca.core.ModuleActivator;
+import org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.definitions.Definitions;
+import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
+import org.apache.tuscany.sca.implementation.node.builder.impl.NodeCompositeBuilderImpl;
+import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
+import org.apache.tuscany.sca.workspace.Workspace;
+import org.apache.tuscany.sca.workspace.WorkspaceFactory;
+import org.apache.tuscany.sca.workspace.builder.ContributionBuilder;
+import org.apache.tuscany.sca.workspace.builder.impl.ContributionDependencyBuilderImpl;
+
+public class CustomCompositeBuilder {
+ private URLArtifactProcessor<Contribution> contributionProcessor;
+ private ModelResolverExtensionPoint modelResolvers;
+ private FactoryExtensionPoint modelFactories;
+ private WorkspaceFactory workspaceFactory;
+ private AssemblyFactory assemblyFactory;
+ private XMLOutputFactory outputFactory;
+ private StAXArtifactProcessor<Object> xmlProcessor;
+ private ContributionBuilder contributionDependencyBuilder;
+ private CompositeBuilder domainCompositeBuilder;
+ private CompositeBuilder nodeCompositeBuilder;
+ private NodeImplementationFactory nodeFactory;
+ //private AtomBindingFactory atomBindingFactory;
+ private static Workspace workspace;
+ private List<Definitions> policyDefinitions;
+ private Monitor monitor;
+
+ private CustomCompositeBuilder() {
+ // no code req'd
+ }
+
+ public static CustomCompositeBuilder getInstance()
+ {
+ if (ref == null)
+ ref = new CustomCompositeBuilder();
+ return ref;
+ }
+
+ private static CustomCompositeBuilder ref;
+
+ private void init() {
+
+ // Create extension point registry
+ ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+
+ // Create a monitor
+ UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ monitor = monitorFactory.createMonitor();
+
+ // Initialize the Tuscany module activators
+ ModuleActivatorExtensionPoint moduleActivators = extensionPoints.getExtensionPoint(ModuleActivatorExtensionPoint.class);
+ for (ModuleActivator activator: moduleActivators.getModuleActivators()) {
+ activator.start(extensionPoints);
+ }
+
+ // Get XML input/output factories
+ modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
+ XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class);
+ outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
+
+ // create the validating input factory out here just so that the
+ // monitor can be passed in
+ ValidationSchemaExtensionPoint schemas = new DefaultValidationSchemaExtensionPoint();
+ XMLInputFactory validatingInputFactory = new DefaultValidatingXMLInputFactory(inputFactory, schemas, monitor);
+ modelFactories.addFactory(validatingInputFactory);
+
+ // Get contribution workspace and assembly model factories
+ workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class);
+ assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
+ nodeFactory = modelFactories.getFactory(NodeImplementationFactory.class);
+ //atomBindingFactory = modelFactories.getFactory(AtomBindingFactory.class);
+
+ // Create XML artifact processors
+ StAXArtifactProcessorExtensionPoint xmlProcessorExtensions = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+ xmlProcessor = new ExtensibleStAXArtifactProcessor(xmlProcessorExtensions, inputFactory, outputFactory, monitor);
+
+ // Create contribution content processor
+ URLArtifactProcessorExtensionPoint docProcessorExtensions = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ contributionProcessor = docProcessorExtensions.getProcessor(Contribution.class);
+
+ // Get the model resolvers
+ modelResolvers = extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class);
+
+ // Create a contribution dependency builder
+ contributionDependencyBuilder = new ContributionDependencyBuilderImpl(null);
+
+ // Create a composite builder
+ SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
+ IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
+ InterfaceContractMapper contractMapper = utilities.getUtility(InterfaceContractMapper.class);
+ domainCompositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, contractMapper);
+
+ // Create a node composite builder
+ CompositeBuilder bindingConfigurationBuilder = new CompositeBindingConfigurationBuilderImpl(assemblyFactory, scaBindingFactory, contractMapper);
+ nodeCompositeBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, contractMapper, bindingConfigurationBuilder);
+ }
+
+ public void loadContribution(String compositeURL, String sourceURI, String sourceURL) throws Exception {
+ init();
+
+ // Create workspace model
+ workspace = workspaceFactory.createWorkspace();
+ workspace.setModelResolver(new ExtensibleModelResolver(workspace, modelResolvers, modelFactories));
+
+ // Read the sample store contribution
+ URI artifactURI = URI.create(sourceURI);
+ //URL contributionURL = FileHelper.toFile(new URL(sourceURL)).toURI().toURL();
+ URL artifactURL = new File(sourceURL).toURI().toURL();
+ URL contributionURL = new File(compositeURL).toURI().toURL();
+ Contribution storeContribution = contributionProcessor.read(contributionURL, artifactURI, artifactURL);
+ workspace.getContributions().add(storeContribution);
+
+ // Build the contribution dependencies
+ Set<Contribution> resolved = new HashSet<Contribution>();
+ for (Contribution contribution: workspace.getContributions()) {
+ contributionDependencyBuilder.build(contribution, workspace, monitor);
+
+ // Resolve contributions
+ for (Contribution dependency: contribution.getDependencies()) {
+ if (!resolved.contains(dependency)) {
+ resolved.add(dependency);
+ contributionProcessor.resolve(dependency, workspace.getModelResolver());
+ }
+ }
+ }
+
+ // Create a composite model for the domain
+ /*Composite domainComposite = assemblyFactory.createComposite();
+ domainComposite.setName(new QName(Constants.SCA10_NS, "domain"));
+
+ // Add all deployables to it, normally the domain administrator would select
+ // the deployables to include
+ domainComposite.getIncludes().addAll(workspace.getDeployables());
+
+ // Build the domain composite and wire the components included in it
+ domainCompositeBuilder.build(domainComposite);*/
+ }
+
+ public Monitor getMonitorInstance() {
+ return monitor;
+ }
+
+ public void buildContribution() throws Exception {
+ // Create a composite model for the domain
+ Composite domainComposite = assemblyFactory.createComposite();
+ domainComposite.setName(new QName("http://customdomain", "domain"));
+
+ // Add all deployables to it, normally the domain administrator would select
+ // the deployables to include
+ domainComposite.getIncludes().addAll(workspace.getDeployables());
+
+ // Build the domain composite and wire the components included in it
+ domainCompositeBuilder.build(domainComposite, null, monitor);
+ }
+
+ public void readContribution(String compositeURL, String sourceURI, String sourceURL) throws Exception {
+ init();
+
+ // Create workspace model
+ workspace = workspaceFactory.createWorkspace();
+ workspace.setModelResolver(new ExtensibleModelResolver(workspace, modelResolvers, modelFactories));
+
+ // Read the sample store contribution
+ URI artifactURI = URI.create(sourceURI);
+ //URL contributionURL = FileHelper.toFile(new URL(sourceURL)).toURI().toURL();
+ URL artifactURL = new File(sourceURL).toURI().toURL();
+ URL contributionURL = new File(compositeURL).toURI().toURL();
+ Contribution storeContribution = contributionProcessor.read(contributionURL, artifactURI, artifactURL);
+ workspace.getContributions().add(storeContribution);
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeUnrecognizedNamespaceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeUnrecognizedNamespaceTestCase.java
new file mode 100644
index 0000000000..690fb97a31
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeUnrecognizedNamespaceTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class AttributeUnrecognizedNamespaceTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/AttributeUnrecognizedNamespace/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/AttributeUnrecognizedNamespace/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("AttributeUnrecognizedNamespace", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeWithoutNamespaceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeWithoutNamespaceTestCase.java
new file mode 100644
index 0000000000..a768535fde
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/AttributeWithoutNamespaceTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class AttributeWithoutNamespaceTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/AttributeWithoutNamespace/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/AttributeWithoutNamespace/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("AttributeWithoutNamespace", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/BPELProcessNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/BPELProcessNotFoundTestCase.java
new file mode 100644
index 0000000000..64d41bdb48
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/BPELProcessNotFoundTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class BPELProcessNotFoundTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/BPELProcessNotFound/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/BPELProcessNotFound/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("BPELProcessNotFound", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/CannotResolveWSDLReferenceTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/CannotResolveWSDLReferenceTestCase.java
new file mode 100644
index 0000000000..585bd62027
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/CannotResolveWSDLReferenceTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class CannotResolveWSDLReferenceTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/CannotResolveWSDLReference/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/CannotResolveWSDLReference/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("CannotResolveWSDLReference", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/MyRolePartnerRoleNullTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/MyRolePartnerRoleNullTestCase.java
new file mode 100644
index 0000000000..aab3529fba
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/MyRolePartnerRoleNullTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MyRolePartnerRoleNullTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/MyRolePartnerRoleNull/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/MyRolePartnerRoleNull/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MyRolePartnerRoleNull", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkHasBothAttrTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkHasBothAttrTestCase.java
new file mode 100644
index 0000000000..4c3226f4c8
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkHasBothAttrTestCase.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PartnerLinkHasBothAttrTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/PartnerLinkHasBothAttr/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/PartnerLinkHasBothAttr/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ private static boolean isMessageLogged(Monitor monitor, String messageId) {
+ for (Problem problem : monitor.getProblems()){
+ if (problem.getMessageId().equals(messageId)){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ assertTrue(isMessageLogged(monitor, "PartnerLinkHasBothAttr"));
+ /*Problem problem = monitor.getLastLoggedProblem();
+ assertNotNull(problem);
+ assertEquals("PartnerLinkHasBothAttr", problem.getMessageId());*/
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkNoMatchingTypeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkNoMatchingTypeTestCase.java
new file mode 100644
index 0000000000..b9c0b68f7e
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkNoMatchingTypeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PartnerLinkNoMatchingTypeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/PartnerLinkNoMatchingType/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/PartnerLinkNoMatchingType/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("PartnerLinkNoMatchingType", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkTypeNoRolesTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkTypeNoRolesTestCase.java
new file mode 100644
index 0000000000..fc32e96b52
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/bpel/PartnerLinkTypeNoRolesTestCase.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class PartnerLinkTypeNoRolesTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/bpel/PartnerLinkTypeNoRoles/helloworld.composite",
+ "TestContribution", "src/main/resources/impl/bpel/PartnerLinkTypeNoRoles/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ private static boolean isMessageLogged(Monitor monitor, String messageId) {
+ for (Problem problem : monitor.getProblems()){
+ if (problem.getMessageId().equals(messageId)){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ assertTrue(isMessageLogged(monitor, "PartnerLinkTypeNoRoles"));
+ /*Problem problem = monitor.getLastLoggedProblem();
+ assertNotNull(problem);
+ assertEquals("PartnerLinkTypeNoRoles", problem.getMessageId());*/
+
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/ejb/EJBLinkAttributeMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/ejb/EJBLinkAttributeMissingTestCase.java
new file mode 100644
index 0000000000..4b367f85ef
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/ejb/EJBLinkAttributeMissingTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.ejb;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class EJBLinkAttributeMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/ejb/EJBLinkAttributeMissing/ejb.composite",
+ "TestContribution", "src/main/resources/impl/ejb/EJBLinkAttributeMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("EJBLinkAttributeMissing", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/java/ClassNotFoundExceptionTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/java/ClassNotFoundExceptionTestCase.java
new file mode 100644
index 0000000000..969690acaf
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/java/ClassNotFoundExceptionTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.java;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ClassNotFoundExceptionTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/java/ClassNotFoundException/Calculator.composite",
+ "TestContribution", "src/main/resources/impl/java/ClassNotFoundException/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ClassNotFoundException", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/java/ContributionResolveExceptionTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/java/ContributionResolveExceptionTestCase.java
new file mode 100644
index 0000000000..eef964e274
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/java/ContributionResolveExceptionTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.java;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ContributionResolveExceptionTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/java/ContributionResolveException/Calculator.composite",
+ "TestContribution", "src/main/resources/impl/java/ContributionResolveException/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+
+ assertNotNull(problem);
+ assertEquals("ContributionResolveException", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/resource/CouldNotResolveLocationTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/resource/CouldNotResolveLocationTestCase.java
new file mode 100644
index 0000000000..c2fd7b3410
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/resource/CouldNotResolveLocationTestCase.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.resource;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class CouldNotResolveLocationTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/resource/CouldNotResolveLocation/resource.composite",
+ "TestContribution", "src/main/resources/impl/resource/CouldNotResolveLocation/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ Assert.assertNotNull(problem);
+ Assert.assertEquals("CouldNotResolveLocation", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/resource/LocationAttributeMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/resource/LocationAttributeMissingTestCase.java
new file mode 100644
index 0000000000..c6a58d2b88
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/resource/LocationAttributeMissingTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.resource;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class LocationAttributeMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/resource/LocationAttributeMissing/resource.composite",
+ "TestContribution", "src/main/resources/impl/resource/LocationAttributeMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("LocationAttributeMissing", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/spring/ContributionResolveExceptionTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/spring/ContributionResolveExceptionTestCase.java
new file mode 100644
index 0000000000..ff0b2f3589
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/spring/ContributionResolveExceptionTestCase.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.spring;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ContributionResolveExceptionTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/spring/ContributionResolveException/SpringHelloWorld.composite",
+ "TestContribution", "src/main/resources/impl/spring/ContributionResolveException/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ private static boolean isMessageLogged(Monitor monitor, String messageId) {
+ for (Problem problem : monitor.getProblems()){
+ if (problem.getMessageId().equals(messageId)){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ assertTrue(isMessageLogged(monitor, "ContributionResolveException"));
+ //assertEquals("ContributionResolveException", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/spring/LocationAttributeMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/spring/LocationAttributeMissingTestCase.java
new file mode 100644
index 0000000000..7b445960f1
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/spring/LocationAttributeMissingTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.spring;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class LocationAttributeMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/spring/LocationAttributeMissing/SpringHelloWorld.composite",
+ "TestContribution", "src/main/resources/impl/spring/LocationAttributeMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("LocationAttributeMissing", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/spring/UnableToResolveComponentTypeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/spring/UnableToResolveComponentTypeTestCase.java
new file mode 100644
index 0000000000..6b4521cdc9
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/spring/UnableToResolveComponentTypeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.spring;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnableToResolveComponentTypeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/spring/UnableToResolveComponentType/SpringHelloWorld.composite",
+ "TestContribution", "src/main/resources/impl/spring/UnableToResolveComponentType/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ //assertNotNull(problem);
+ //assertEquals("UnableToResolveComponentType", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/widget/CouldNotResolveLocationTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/widget/CouldNotResolveLocationTestCase.java
new file mode 100644
index 0000000000..f46e9e4035
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/widget/CouldNotResolveLocationTestCase.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.widget;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class CouldNotResolveLocationTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/widget/CouldNotResolveLocation/widget.composite",
+ "TestContribution", "src/main/resources/impl/widget/CouldNotResolveLocation/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ Assert.assertNotNull(problem);
+ Assert.assertEquals("CouldNotResolveLocation", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/widget/LocationAttributeMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/widget/LocationAttributeMissingTestCase.java
new file mode 100644
index 0000000000..ed95bcdcf0
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/widget/LocationAttributeMissingTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.widget;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class LocationAttributeMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/widget/LocationAttributeMissing/widget.composite",
+ "TestContribution", "src/main/resources/impl/widget/LocationAttributeMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //nothing to do
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("LocationAttributeMissing", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/xquery/CouldNotLocateFileTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/xquery/CouldNotLocateFileTestCase.java
new file mode 100644
index 0000000000..bd5a6d9601
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/xquery/CouldNotLocateFileTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.xquery;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class CouldNotLocateFileTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/xquery/CouldNotLocateFile/HelloWorld.composite",
+ "TestContribution", "src/main/resources/impl/xquery/CouldNotLocateFile/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("CouldNotLocateFile", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/impl/xquery/LocationAttributeMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/impl/xquery/LocationAttributeMissingTestCase.java
new file mode 100644
index 0000000000..390eeb7e95
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/impl/xquery/LocationAttributeMissingTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package impl.xquery;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class LocationAttributeMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/impl/xquery/LocationAttributeMissing/HelloWorld.composite",
+ "TestContribution", "src/main/resources/impl/xquery/LocationAttributeMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("LocationAttributeMissing", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ClassNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ClassNotFoundTestCase.java
new file mode 100644
index 0000000000..e2bee4d2ac
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ClassNotFoundTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package interfacejava.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ClassNotFoundTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/interfacejava/xml/ClassNotFoundException/Calculator.composite",
+ "TestContribution", "src/main/resources/interfacejava/xml/ClassNotFoundException/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ClassNotFoundException", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ContributionResolveExceptionTestCase.java b/java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ContributionResolveExceptionTestCase.java
new file mode 100644
index 0000000000..3b567da717
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/interfacejava/xml/ContributionResolveExceptionTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package interfacejava.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ContributionResolveExceptionTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/interfacejava/xml/ContributionResolveException/Calculator.composite",
+ "TestContribution", "src/main/resources/interfacejava/xml/ContributionResolveException/");
+ } catch (Exception ex){
+ throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ //assertNotNull(problem);
+ //assertEquals("ContributionResolveException", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/InvalidWSDLInterfaceAttrTestCase.java b/java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/InvalidWSDLInterfaceAttrTestCase.java
new file mode 100644
index 0000000000..fc03bc25eb
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/InvalidWSDLInterfaceAttrTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package interfacewsdl.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class InvalidWSDLInterfaceAttrTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/interfacewsdl/xml/InvalidWSDLInterfaceAttr/Calculator.composite",
+ "TestContribution", "src/main/resources/interfacewsdl/xml/InvalidWSDLInterfaceAttr/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("InvalidWSDLInterfaceAttr", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/WsdlInterfaceDoesNotMatchTestCase.java b/java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/WsdlInterfaceDoesNotMatchTestCase.java
new file mode 100644
index 0000000000..d41d72585f
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/interfacewsdl/xml/WsdlInterfaceDoesNotMatchTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package interfacewsdl.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class WsdlInterfaceDoesNotMatchTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/interfacewsdl/xml/WsdlInterfaceDoesNotMatch/helloworldwsjms.composite",
+ "TestContribution", "src/main/resources/interfacewsdl/xml/WsdlInterfaceDoesNotMatch/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("WsdlInterfaceDoesNotMatch", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/policy/xml/AlwaysProvidedIntentNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/policy/xml/AlwaysProvidedIntentNotFoundTestCase.java
new file mode 100644
index 0000000000..2d4bb3d499
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/policy/xml/AlwaysProvidedIntentNotFoundTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package policy.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class AlwaysProvidedIntentNotFoundTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/policy/xml/AlwaysProvidedIntentNotFound/Calculator.composite",
+ "TestContribution", "src/main/resources/policy/xml/AlwaysProvidedIntentNotFound/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("AlwaysProvidedIntentNotFound", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/policy/xml/ErrorInPolicyIntentDefinitionTestCase.java b/java/sca-contrib/itest/validation/src/test/java/policy/xml/ErrorInPolicyIntentDefinitionTestCase.java
new file mode 100644
index 0000000000..5b5bfe7b37
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/policy/xml/ErrorInPolicyIntentDefinitionTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package policy.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ErrorInPolicyIntentDefinitionTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/policy/xml/ErrorInPolicyIntentDefinition/Calculator.composite",
+ "TestContribution", "src/main/resources/policy/xml/ErrorInPolicyIntentDefinition/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("ErrorInPolicyIntentDefinition", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/policy/xml/IntentNotSpecifiedTestCase.java b/java/sca-contrib/itest/validation/src/test/java/policy/xml/IntentNotSpecifiedTestCase.java
new file mode 100644
index 0000000000..8ef3cacc4e
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/policy/xml/IntentNotSpecifiedTestCase.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package policy.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class IntentNotSpecifiedTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/policy/xml/IntentNotSpecified/Calculator.composite",
+ "TestContribution", "src/main/resources/policy/xml/IntentNotSpecified/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ private static boolean isMessageLogged(Monitor monitor, String messageId) {
+ for (Problem problem : monitor.getProblems()){
+ if (problem.getMessageId().equals(messageId)){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ assertTrue(isMessageLogged(monitor, "IntentNotSpecified"));
+ /*Problem problem = monitor.getLastLoggedProblem();
+ assertNotNull(problem);
+ assertEquals("IntentNotSpecified", problem.getMessageId());*/
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/policy/xml/MayProvideIntentNotFoundTestCase.java b/java/sca-contrib/itest/validation/src/test/java/policy/xml/MayProvideIntentNotFoundTestCase.java
new file mode 100644
index 0000000000..38d59196dd
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/policy/xml/MayProvideIntentNotFoundTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package policy.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class MayProvideIntentNotFoundTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/policy/xml/MayProvideIntentNotFound/Calculator.composite",
+ "TestContribution", "src/main/resources/policy/xml/MayProvideIntentNotFound/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("MayProvideIntentNotFound", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/policy/xml/RequiredAttributeMissingTestCase.java b/java/sca-contrib/itest/validation/src/test/java/policy/xml/RequiredAttributeMissingTestCase.java
new file mode 100644
index 0000000000..9671f9c983
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/policy/xml/RequiredAttributeMissingTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package policy.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class RequiredAttributeMissingTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/policy/xml/RequiredAttributeMissing/Calculator.composite",
+ "TestContribution", "src/main/resources/policy/xml/RequiredAttributeMissing/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("RequiredAttributeMissing", problem.getMessageId());
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/policy/xml/UnableToMapPoliciesTestCase.java b/java/sca-contrib/itest/validation/src/test/java/policy/xml/UnableToMapPoliciesTestCase.java
new file mode 100644
index 0000000000..c2ede5cd41
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/policy/xml/UnableToMapPoliciesTestCase.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package policy.xml;
+
+import junit.framework.TestCase;
+
+import org.junit.Ignore;
+import org.junit.Ignore;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnableToMapPoliciesTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/policy/xml/UnableToMapPolicies/Calculator.composite",
+ "TestContribution", "src/main/resources/policy/xml/UnableToMapPolicies/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ @Ignore("TUSCANY-2538")
+ public void testCalculator() {
+ //FIXME This needs to be fixed, as it was working based on processor ignoring
+ //elements...
+ /*
+ Monitor monitor = customDomain.getMonitorInstance();
+ assertTrue(monitor.isMessageLogged("UnableToMapPolicies"));
+ */
+ /*Problem problem = monitor.getLastLoggedProblem();
+ assertNotNull(problem);
+ assertEquals("UnableToMapPolicies", problem.getMessageId());*/
+ }
+}
diff --git a/java/sca-contrib/itest/validation/src/test/java/policy/xml/UnrecognizedIntentAttachPointTypeTestCase.java b/java/sca-contrib/itest/validation/src/test/java/policy/xml/UnrecognizedIntentAttachPointTypeTestCase.java
new file mode 100644
index 0000000000..08c27ee011
--- /dev/null
+++ b/java/sca-contrib/itest/validation/src/test/java/policy/xml/UnrecognizedIntentAttachPointTypeTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package policy.xml;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.Problem;
+
+import domain.CustomCompositeBuilder;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class UnrecognizedIntentAttachPointTypeTestCase extends TestCase {
+
+ private CustomCompositeBuilder customDomain;
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ customDomain = CustomCompositeBuilder.getInstance();
+ try {
+ customDomain.loadContribution("src/main/resources/policy/xml/UnrecognizedIntentAttachPointType/Calculator.composite",
+ "TestContribution", "src/main/resources/policy/xml/UnrecognizedIntentAttachPointType/");
+ } catch (Exception ex){
+ //throw ex;
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ //node.stop();
+ }
+
+ public void testCalculator() {
+ Monitor monitor = customDomain.getMonitorInstance();
+ Problem problem = monitor.getLastProblem();
+
+ assertNotNull(problem);
+ assertEquals("UnrecognizedIntentAttachPointType", problem.getMessageId());
+ }
+}