ASM90005 error when a deployable composite is used as the implementation of another deployable composite --------------------------------------------------------------------------------------------------------
Key: TUSCANY-3907 URL: https://issues.apache.org/jira/browse/TUSCANY-3907 Project: Tuscany Issue Type: Bug Reporter: Greg Dritschler I have attached a test case with 2 contributions. Contribution export1 contains a deployable composite with a java component. Contribution import1 contains a deployable composite with a component that uses export1's composite as its implementation. This test fails with message SEVERE: [ASM90005] The SCA binding Helloworld on component HelloworldImplJavaComponent service Helloworld should not have a URI and the URI is currently set to /HelloworldImplJavaComponent/Helloworld Here is what is happening: 1) Contribution export1 is built. BindingURIBuilderImpl computes and sets the binding uri in its component services. 2) Contribution import1 is built. ComponentBuilderImpl processes export1's composite again, sees the binding uri is set, and issues the error because binding.sca does not permit external specification of @uri. So the code is confusing a runtime update to the model for an external error. This may be the tip of the iceberg of what could go wrong. export1 is deployed and could be active. If subsequent contributions are going to reprocess import1, a lot of care needs to be taken to not modify the model in a way that breaks active operations. It looks to me like the builder code thinks it has free reign to rebuild C1. In other words, this validation error may be the least of the problem. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira