[
https://issues.apache.org/jira/browse/TUSCANY-2193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12585135#action_12585135
]
Scott Kurz commented on TUSCANY-2193:
-
I found the problem.
In CompositeConfigurationBuilderImpl.reconcileReferences() we do a check to see
if we want an incompatible intf warning:
// Reconcile interface
if (componentReference.getInterfaceContract() != null) {
if
(!componentReference.getInterfaceContract().equals(reference
.getInterfaceContract())) {
if
(!interfaceContractMapper.isCompatible(reference.getInterfaceContract(),
componentReference
.getInterfaceContract())) {
warning(Component reference interface incompatible
with reference interface: +...
In the case I described above, we are going to have a non-null IC from the
component reference (the WSDL IC). However, the reference IC wlil still be
null at this point. (The reason seems to be that the reference IC on the
composite impl does not get set until CompositeWireBuilderImpl.wireComposite).
So I'll leave it up to others whether it's best to put a null guard before
calling the IC mapper or if we should look to put a guard in the IC mapper impl
itself.
NPE when configuring WSDL interface on component ref when the component has a
Composite impl
Key: TUSCANY-2193
URL: https://issues.apache.org/jira/browse/TUSCANY-2193
Project: Tuscany
Issue Type: Bug
Components: Java SCA Core Runtime
Reporter: Scott Kurz
Priority: Minor
I noticed this with a more complicated example.
To reproduce more simply maybe, go to the SVN dir: sca/itest/recursive
and modify BComposite.composite so it looks like:
composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
targetNamespace=http://sample;
xmlns:sample=http://sample;
name=BComposite
component name=BComponent
implementation.composite name=sample:CComposite/
reference name=PromotedRefX
interface.wsdl interface=http://blah#wsdl.interface(Blah) /
/reference
Note that you can put any old WSDL in there. You shouldn't get far enough
for it to even matter.
You'll hit errors like:
java.lang.NullPointerException
at
org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl.checkCompatibility(InterfaceContractMapperImpl.java:155)
at
org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl.isCompatible(InterfaceContractMapperImpl.java:271)
at
org.apache.tuscany.sca.assembly.builder.impl.CompositeConfigurationBuilderImpl.reconcileReferences(CompositeConfigurationBuilderImpl.java:527)
at
org.apache.tuscany.sca.assembly.builder.impl.CompositeConfigurationBuilderImpl.configureComponents(CompositeConfigurationBuilderImpl.java:250)
at
org.apache.tuscany.sca.assembly.builder.impl.CompositeConfigurationBuilderImpl.configureComponents(CompositeConfigurationBuilderImpl.java:85)
at
org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl.build(CompositeBuilderImpl.java:97)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]