Added:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleInterfaceTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleInterfaceTestCase.java?rev=650810&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleInterfaceTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleInterfaceTestCase.java
Wed Apr 23 02:55:00 2008
@@ -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 calculator;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+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.monitor.impl.DefaultLoggingMonitorImpl;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
+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 SCANode2 node;
+
+ @Override
+ protected void setUp() throws Exception {
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ node = nodeFactory.createSCANode(new
File("src/main/resources/ReferenceIncompatibleInterface/Calculator.composite").toURL().toString(),
+ new
SCAContribution("TestContribution",
+ new
File("src/main/resources/ReferenceIncompatibleInterface").toURL().toString()));
+ node.start();
+ calculatorService =
((SCAClient)node).getService(CalculatorService.class,
"CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry =
((NodeImpl)node).getExtensionPointRegistry();
+ MonitorFactory monitorFactory =
registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem =
((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceIncompatibleInterface", problem.getMessageId());
+
+ }
+}
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleInterfaceTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleInterfaceTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleMultiplicityTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleMultiplicityTestCase.java?rev=650810&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleMultiplicityTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleMultiplicityTestCase.java
Wed Apr 23 02:55:00 2008
@@ -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 calculator;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+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.monitor.impl.DefaultLoggingMonitorImpl;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
+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 SCANode2 node;
+
+ @Override
+ protected void setUp() throws Exception {
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ node = nodeFactory.createSCANode(new
File("src/main/resources/ReferenceIncompatibleMultiplicity/Calculator.composite").toURL().toString(),
+ new
SCAContribution("TestContribution",
+ new
File("src/main/resources/ReferenceIncompatibleMultiplicity").toURL().toString()));
+ node.start();
+ calculatorService =
((SCAClient)node).getService(CalculatorService.class,
"CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry =
((NodeImpl)node).getExtensionPointRegistry();
+ MonitorFactory monitorFactory =
registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem =
((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceIncompatibleMultiplicity",
problem.getMessageId());
+
+ }
+}
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleMultiplicityTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceIncompatibleMultiplicityTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceNotFoundTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceNotFoundTestCase.java?rev=650810&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceNotFoundTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceNotFoundTestCase.java
Wed Apr 23 02:55:00 2008
@@ -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 calculator;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+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.monitor.impl.DefaultLoggingMonitorImpl;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class ReferenceNotFoundTestCase extends TestCase {
+
+ private CalculatorService calculatorService;
+ private SCANode2 node;
+
+ @Override
+ protected void setUp() throws Exception {
+ SCANode2Factory nodeFactory = SCANode2Factory.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 {
+ ExtensionPointRegistry registry =
((NodeImpl)node).getExtensionPointRegistry();
+ MonitorFactory monitorFactory =
registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem =
((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceNotFound", problem.getMessageId());
+
+ }
+}
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceNotFoundTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceNotFoundTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceWithoutTargetsTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceWithoutTargetsTestCase.java?rev=650810&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceWithoutTargetsTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceWithoutTargetsTestCase.java
Wed Apr 23 02:55:00 2008
@@ -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 calculator;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+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.monitor.impl.DefaultLoggingMonitorImpl;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
+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 SCANode2 node;
+
+ @Override
+ protected void setUp() throws Exception {
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ node = nodeFactory.createSCANode(new
File("src/main/resources/ReferenceWithoutTargets/Calculator.composite").toURL().toString(),
+ new
SCAContribution("TestContribution",
+ new
File("src/main/resources/ReferenceWithoutTargets").toURL().toString()));
+ node.start();
+ calculatorService =
((SCAClient)node).getService(CalculatorService.class,
"CalculatorServiceComponent");
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ node.stop();
+ }
+
+ public void testCalculator() throws Exception {
+ ExtensionPointRegistry registry =
((NodeImpl)node).getExtensionPointRegistry();
+ MonitorFactory monitorFactory =
registry.getExtensionPoint(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+ Problem problem =
((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem();
+
+ assertNotNull(problem);
+ assertEquals("ReferenceWithoutTargets", problem.getMessageId());
+
+ }
+}
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceWithoutTargetsTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/ReferenceWithoutTargetsTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java?rev=650810&r1=650809&r2=650810&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
Wed Apr 23 02:55:00 2008
@@ -353,11 +353,12 @@
// Check that a component property does not override the
// mustSupply attribute
if (!property.isMustSupply() &&
componentProperty.isMustSupply()) {
- warning("Component property mustSupply attribute
incompatible with property: " + component
+ /*warning("Component property mustSupply attribute
incompatible with property: " + component
.getName()
+ "/"
+ componentProperty.getName(),
- component);
+ component);*/
+ warning("PropertyMustSupplyIncompatible", component,
component.getName().toString(), componentProperty.getName());
}
// Default to the mustSupply attribute specified on the
property
@@ -376,19 +377,21 @@
// Check that a value is supplied
if (componentProperty.getValue() == null &&
property.isMustSupply()) {
- warning("No value configured on a mustSupply property: " +
component.getName()
+ /*warning("No value configured on a mustSupply property: "
+ component.getName()
+ "/"
- + componentProperty.getName(), component);
+ + componentProperty.getName(), component);*/
+ warning("PropertyMustSupplyNull", component,
component.getName().toString(), componentProperty.getName());
}
// Check that a a component property does not override the
// many attribute
if (!property.isMany() && componentProperty.isMany()) {
- warning("Component property many attribute incompatible
with property: " + component
+ /*warning("Component property many attribute incompatible
with property: " + component
.getName()
+ "/"
+ componentProperty.getName(),
- component);
+ component);*/
+ warning("PropertyOverrideManyAttribute", component,
component.getName().toString(), componentProperty.getName());
}
// Default to the many attribute defined on the property
@@ -435,9 +438,10 @@
componentReference.setReference(reference);
} else {
if (!componentReference.getName().startsWith("$self$.")) {
- warning("Reference not found for component reference: " +
component.getName()
+ /*warning("Reference not found for component reference: "
+ component.getName()
+ "/"
- + componentReference.getName(), component);
+ + componentReference.getName(), component);*/
+ warning("ReferenceNotFound", component,
component.getName().toString(), componentReference.getName());
}
}
}
@@ -465,11 +469,12 @@
if
(!ReferenceUtil.isValidMultiplicityOverride(reference.getMultiplicity(),
componentReference
.getMultiplicity())) {
- warning("Component reference multiplicity incompatible
with reference multiplicity: " + component
+ /*warning("Component reference multiplicity
incompatible with reference multiplicity: " + component
.getName()
+ "/"
+ componentReference.getName(),
- component);
+ component);*/
+ warning("ReferenceIncompatibleMultiplicity",
component, component.getName().toString(), componentReference.getName());
}
} else {
componentReference.setMultiplicity(reference.getMultiplicity());
@@ -482,10 +487,11 @@
.getInterfaceContract())) {
if
(!interfaceContractMapper.isCompatible(componentReference.getInterfaceContract(),
interfaceContract)) {
- warning("Component reference interface
incompatible with reference interface: " + component
+ /*warning("Component reference interface
incompatible with reference interface: " + component
.getName()
+ "/"
- + componentReference.getName(), component);
+ + componentReference.getName(), component);*/
+
warning("ReferenceIncompatibleComponentInterface", component,
component.getName().toString(), componentReference.getName());
}
}
} else {
@@ -1195,11 +1201,12 @@
continue;
}
if (binding.getName().equals(otherBinding.getName())) {
- warning("Multiple bindings for service " +
+ /*warning("Multiple bindings for service " +
service.getName() +
" have the same binding
type and name " +
binding.getName() +
- ". Tuscany SCA can't
create unique URIs to differentiate these bindings ", binding);
+ ". Tuscany SCA can't
create unique URIs to differentiate these bindings ", binding);*/
+ warning("MultipleBindingsForService", binding,
service.getName(), binding.getName());
}
}
}
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java?rev=650810&r1=650809&r2=650810&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeWireBuilderImpl.java
Wed Apr 23 02:55:00 2008
@@ -142,7 +142,8 @@
}
}
if (!promoted && !componentReference.isCallback()) {
- warning("No targets for reference: " +
componentReference.getName(), composite);
+ /*warning("No targets for reference: " +
componentReference.getName(), composite);*/
+ warning("ReferenceWithoutTargets", composite,
componentReference.getName());
}
} else {
warning("Too many targets on reference: " +
componentReference.getName(), composite);
@@ -205,8 +206,8 @@
* @param message
* @param model
*/
- private void warning(String message, Object model) {
- Problem problem = new ProblemImpl(this.getClass().getName(),
"assembly-validation-messages", Severity.WARNING, model, message);
+ private void warning(String message, Object model, String...
messageParameters) {
+ Problem problem = new ProblemImpl(this.getClass().getName(),
"assembly-validation-messages", Severity.WARNING, model, message,
(Object[])messageParameters);
monitor.problem(problem);
}
@@ -276,7 +277,8 @@
}
} else {
- warning("Promoted component service not found: " +
promotedServiceName, composite);
+ /*warning("Promoted component service not found: " +
promotedServiceName, composite);*/
+ warning("PromotedServiceNotFound", composite,
promotedServiceName);
}
}
}
@@ -339,7 +341,8 @@
}
}
} else {
- warning("Promoted component reference not found: " +
componentReferenceName, composite);
+ /*warning("Promoted component reference not found: " +
componentReferenceName, composite);*/
+ warning("PromotedReferenceNotFound", composite,
componentReferenceName);
}
}
}
@@ -408,11 +411,12 @@
// see if an sca binding is associated with a resolved
target or not
componentService.setUnresolved(false);
} else {
- warning("Incompatible interfaces on component
reference and target: " + componentReference
+ /*warning("Incompatible interfaces on component
reference and target: " + componentReference
.getName()
+ " : "
+ componentService.getName(),
- composite);
+ composite);*/
+ warning("ReferenceIncompatibleInterface",
composite, componentReference.getName(), componentService.getName());
}
} else {
// add all the reference bindings into the target so that
they
@@ -422,7 +426,8 @@
// The bindings will be cloned back into the reference
when the
// target is finally resolved.
- warning("Component reference target not found, it might be
a remote service: " + componentService.getName(), composite);
+ /*warning("Component reference target not found, it might
be a remote service: " + componentService.getName(), composite);*/
+ warning("ComponentReferenceTargetNotFound",
composite, componentService.getName());
}
}
} else if (componentReference.getReference() != null) {
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties?rev=650810&r1=650809&r2=650810&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties
(original)
+++
incubator/tuscany/java/sca/modules/assembly/src/main/resources/assembly-validation-messages_en.properties
Wed Apr 23 02:55:00 2008
@@ -28,3 +28,15 @@
DuplicateImplementationPropertyName = Duplicate property name: Component = {0}
Property = {1}
DuplicateImplementationReferenceName = Duplicate reference name: Component =
{0} Reference = {1}
PropertyNotFound = Property not found for component property: Component = {0}
Property = {1}
+PropertyMustSupplyIncompatible = Component property mustSupply attribute
incompatible with property: Component = {0} Property = {1}
+PropertyMustSupplyNull = No value configured on a mustSupply property:
Component = {0} Property = {1}
+PropertyOverrideManyAttribute = Component property many attribute incompatible
with property: Component = {0} Property = {1}
+ReferenceNotFound = Component property many attribute incompatible with
property: Component = {0} Reference = {1}
+ReferenceIncompatibleMultiplicity = Component reference multiplicity
incompatible with reference multiplicity: Component = {0} Reference = {1}
+ReferenceIncompatibleInterface = Incompatible interfaces on component
reference and target: Composite = {0} Reference = {1} Service = {2}
+ReferenceIncompatibleComponentInterface = Component reference interface
incompatible with reference interface: Component = {0} Reference = {1}
+MultipleBindingsForService = Multiple bindings for service: Binding = {0}
Service = {1} Binding = {2}
+ReferenceWithoutTargets = No targets for reference: Composite = {0} Reference
= {1}
+PromotedReferenceNotFound = Promoted component reference not found: Composite
= {0} Reference = {1}
+PromotedServiceNotFound = Promoted component service not found: Composite =
{0} Service = {1}
+ComponentReferenceTargetNotFound = Component reference target not found, it
might be a remote service: Composite = {0} Service = {1}
\ No newline at end of file