Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » BPEL Designer » Model change doesn't yield notification
Model change doesn't yield notification [message #637726] Mon, 08 November 2010 15:06 Go to next message
Christoph is currently offline Christoph
Messages: 21
Registered: September 2010
Junior Member
Foreword:
I implement a BPEL validator that validates a process ad hoc (and not just on document save). Rule SA00025 states that exactly one attribute of messageType, type or element must be defined on the variable element.
To check the rules at runtime I use a org.eclipse.emf.common.notify.Notification object that informs about changes on the BPEL model.

The validation of the rule works fine except in one situation.
Say we defined two attributes, messageType and type. Obviously, SA00025 is violated. If I now delete the messageType attribute, the rule is satisfied. So far, so good. But now there will be no longer any notifications about model changes on the variable element. So neither changes on the value of type, nor the deletion of the attribute will be recognized by the validator. So, if type is deleted, SA00025 still seems to be satisfied, while it is not (since NONE of the mentioned attributes is defined).
The same use case holds for the combination messageType and element; and type and element, respectively.
Notifications will only be sent as long as messageType is present in the variable element.

This appears to me very likely as a bug, but where does it live?
Re: Model change doesn't yield notification [message #637802 is a reply to message #637726] Mon, 08 November 2010 22:50 Go to previous messageGo to next message
Robert Brodt is currently offline Robert Brodt
Messages: 595
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

Hi Christoph,

I'm confused...are you saying that you have implemented your own validator, or are you using the code from the eclipse BPEL Designer project? If the latter, how is this code being used and what kind of model is behind it (your own perhaps)?

I have tried this in the current bpel editor code and it appears to be working, ok the validation only happens during save, but the rules are being evaluated as expected.

Bob
Re: Model change doesn't yield notification [message #637880 is a reply to message #637726] Tue, 09 November 2010 09:10 Go to previous messageGo to next message
Christoph is currently offline Christoph
Messages: 21
Registered: September 2010
Junior Member
It's a completely new validator. None of the code of the org.eclipse.bpel.validator is reused (but we reuse code of the model, ui and some other things).

The rules are expressed in OCL and checked against the EMF model of the process that is provided by the BPEL designer. We use notifications to get information on model changes. But in the special case as noted above, we don't get any notification unless the messageType attribute is set.
Re: Model change doesn't yield notification [message #637932 is a reply to message #637880] Tue, 09 November 2010 11:58 Go to previous messageGo to next message
Robert Brodt is currently offline Robert Brodt
Messages: 595
Registered: August 2010
Location: Colorado Springs, CO
Senior Member

Hmm, I can't even take a guess at what might be going on without being able to see the code. The only difference I can see in the BPEL model definitions between "messageType", "element" and "type" is in their type hierarchies: "messageType" is an ExtensibleElement whereas "element" and "type" are XSD elements.
Re: Model change doesn't yield notification [message #638924 is a reply to message #637726] Sat, 13 November 2010 10:26 Go to previous message
Christoph is currently offline Christoph
Messages: 21
Registered: September 2010
Junior Member
Solved. The hint with the XSDElement helped a lot. But it would be lengthy to explain the solution in detail. Maybe later if s.o. is interested Smile
Previous Topic:Need help with axis2ns1:selectionFailure
Next Topic:NPE in org.apache.ode.store.ProcessStoreImpl.refreshSchedules
Goto Forum:
  


Current Time: Thu Sep 18 09:43:33 GMT 2014

Powered by FUDForum. Page generated in 0.03020 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software