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


Reply via email to