Author: jsdelfino
Date: Mon May 12 14:10:35 2008
New Revision: 655642
URL: http://svn.apache.org/viewvc?rev=655642&view=rev
Log:
Check for null to fix an NPE with composite services that do not promote a
component service.
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java?rev=655642&r1=655641&r2=655642&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
Mon May 12 14:10:35 2008
@@ -199,27 +199,29 @@
compositeService.setName(getString(reader, NAME));
String promoted = getString(reader, PROMOTE);
- String promotedComponentName;
- String promotedServiceName;
- int s = promoted.indexOf('/');
- if (s == -1) {
- promotedComponentName = promoted;
- promotedServiceName = null;
- } else {
- promotedComponentName = promoted.substring(0,
s);
- promotedServiceName = promoted.substring(s +
1);
+ if (promoted != null) {
+ String promotedComponentName;
+ String promotedServiceName;
+ int s = promoted.indexOf('/');
+ if (s == -1) {
+ promotedComponentName = promoted;
+ promotedServiceName = null;
+ } else {
+ promotedComponentName =
promoted.substring(0, s);
+ promotedServiceName = promoted.substring(s
+ 1);
+ }
+
+ Component promotedComponent =
assemblyFactory.createComponent();
+ promotedComponent.setUnresolved(true);
+
promotedComponent.setName(promotedComponentName);
+
compositeService.setPromotedComponent(promotedComponent);
+
+ ComponentService promotedService =
assemblyFactory.createComponentService();
+ promotedService.setUnresolved(true);
+ promotedService.setName(promotedServiceName);
+
compositeService.setPromotedService(promotedService);
}
- Component promotedComponent =
assemblyFactory.createComponent();
- promotedComponent.setUnresolved(true);
- promotedComponent.setName(promotedComponentName);
-
compositeService.setPromotedComponent(promotedComponent);
-
- ComponentService promotedService =
assemblyFactory.createComponentService();
- promotedService.setUnresolved(true);
- promotedService.setName(promotedServiceName);
-
compositeService.setPromotedService(promotedService);
-
composite.getServices().add(compositeService);
policyProcessor.readPolicies(contract, reader);
}