commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "*Colin Sharples" <Colin.Sharp...@hbl.co.nz>
Subject Workflow
Date Mon, 12 Nov 2001 21:20:01 GMT
Craig,

I think there's a bug in BaseDescriptor. The doc for BaseDescriptor.get()
says:
"Return the value specified by this Descriptor from the specified Context.
If there is no such value, return null."
However, JXPath (or at least the version which I have) has two modes for
getting values, strict and lenient. In strict mode (the default), if you
have a path such as "foo/bar/quux", and the bar property is null,
JXPathContext.getValue() will throw a runtime exception rather than return
null. I think the latter behaviour is what BaseDescriptor is expecting, so
in BaseDescriptor.get() you need to change

            JXPathContext jpc = context.getJXPathContext();
            return (jpc.getValue("local/" + xpath));

to

            JXPathContext jpc = context.getJXPathContext();
            jpc.setLenient(true);
            return (jpc.getValue("local/" + xpath));

BTW, I've been working on an implementation of the workflow system, which
definitely rocks. I've created an execution environment based on JMS -
activities are triggered by messages arriving on queues. I'm not sure what
the attitude of the client I'm working for is, but I may be able to submit
the generic JMS stuff I've been working on when I'm finished (mid-December).

Colin Sharples
IBM Global Services New Zealand.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message