Simon Laws wrote:
I'm trying to apply the patches on TUSCANY-2347 so these issues here may be
caused by these changes however....
The first problem I see is that I get a NPE in samples/helloworld-bpel.
Caused by: java.lang.NullPointerException
at
org.apache.tuscany.sca.implementation.bpel.xml.BPELPartnerLinkElement.getRolePortType(BPELPartnerLinkElement.java:82)
at
org.apache.tuscany.sca.implementation.bpel.xml.BPELPartnerLinkElement.getMyRolePortType(BPELPartnerLinkElement.java:73)
at
org.apache.tuscany.sca.implementation.bpel.impl.BPELImplementationProcessor.generateComponentType(BPELImplementationProcessor.java:228)
at
org.apache.tuscany.sca.implementation.bpel.impl.BPELImplementationProcessor.resolve(BPELImplementationProcessor.java:152)
I just did a clean checkout and build and I'm not seeing this problem.
Simon
The failure is because in
private PortType getRolePortType( String theRole ) {
if( theRole == null ) return null;
if ( theRole.equals( pLinkType.getRole1Name() ) ) {
pLinkType is null. The only place that my IDE tells me that this is set is
during BPELDocumentProcessor.resolve()
However there is a line at the top of BPELDocumentProcessor.resolve() which
jumps out if the model is already resolved
if (model == null || !model.isUnresolved())
return;
As far as I can tell the model will always be resolved because
BPELDocumentProcessor.read() does.
processDefinition = indexRead2(artifactURL);
processDefinition.setURI(artifactURI);
processDefinition.setUnresolved(false);
Now this code hasn't changed in the last few days so this must work somehow.
So I'm just putting this out there so that someone can point out the error
of my ways while I investigate;-)
Simon