Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [bpel-dev] Fwd: BPEL designer Extension

My problem is the NewEvent serialization and de-serialization. This activity is not an extension activity (It does not make sense). I need to serialize and de-serialize together with the NewPick, like the Pick activity does with OnAlarm and OnMessage (Pick is an activity but OnAlarm and OnMessage are not, they are inner classes). My problem is exactly this, how serialize and de-serialize (marshall and unmashall) classes that does not inherits from ExtensionActivity.

Thank very much for all advices,
Neto

On Wed, Mar 9, 2011 at 6:26 PM, Bob Brodt <bbrodt@xxxxxxxxxx> wrote:
I think you'll want to implement NewPick and NewEvent as extension activities - have a look at the sample structured and simple activity plugins (I'm enhancing these to demonstrate property pages and provide XML serialization).

Strangely enough, the extension activity serializer's marshall() method is never actually used by the editor, although it IS used as part of the public API for the BPEL model. The editor builds and maintains a DOM in parallel with the EMF model; a reconciler is used to keep the two in sync (see the ReconciliationHelper class for details). Each EMF model object implementation is responsible for generating the XML fragment which is then inserted into the DOM. When the editor is saved, the DOM is serialized. Have a look at the CatchImpl class as an example, specifically the basicSet<something> methods. This is where the serizliation magic happens.


______________________________________
Robert ("Bob") Brodt
Senior Software Engineer, JBoss Riftsaw
JBoss by Red Hat


Hi All,

Well, I'll explain with more details. Maybe you can say if I'm in the right way. 

I need to create a new Pick. This new Pick is the same as the BPEL Pick, but this NewPick has an reference for an element that I created. 

I modeled it as:
  • NewPick extends from Pick and ExtensionActivity
  • NewPick has an EReference for my new element "NewEvent"
I'm having problems to serialize and de-serialize it. I'm trying to implement a xml2newEvent, and newEvent2xml (similar to the activity2xml and xml2activity in BPELReader and BPELWriter). Is this the best way or should I create a completely new activity with the same elements as Pick and my new element (regarding the design, it is terrible)?

Did Nobody create before a ExtensionActivity based on other activities?

Any tip is welcome. =)

Nice wishes,
Neto

On Wed, Mar 9, 2011 at 3:57 PM, Bob Brodt <bbrodt@xxxxxxxxxx> wrote:
Hi Neto,

Are you talking about creating new BPEL activities that are outside the WS-BPEL 2.0 spec? I'm afraid you're on your own for this one ;) but the first thing you need to do is become familiar with the EMF model (ecore and genmodel), then add your activity definitions to that and regenerate the interface and implementation files. Be careful though, the implementations have been heavily modified and you will need to make sure that you add the right comments so that the changes aren't overwritten.

Good luck and let us know how it works out.


_______________________________________
Robert ("Bob") Brodt
Senior Software Engineer, JBoss Riftsaw
JBoss by Red Hat


Hi Bob Brodt,

Thank you very much. I have another doubt, I have to extend the Pick, in order to make it listens another type of "event" (not only OnMessage and OnAlarm). Has somebody some idea how I can do it?

Neto

On Tue, Mar 8, 2011 at 9:11 PM, Bob Brodt <bbrodt@xxxxxxxxxx> wrote:
Hi Neto,

I'm working on updating the extension samples to include variable references (in SimpleSampleActivity) and variable declarations (SimpleStructuredActivity). This will include property sheets. Should be done before the end of this week - I'll let you know when it's ready...

_______________________________________
Robert ("Bob") Brodt
Senior Software Engineer, JBoss Riftsaw
JBoss by Red Hat


Hi all,

I'm starting to develop a BPEL designer extension. The article about the Extensions is great, as well as the examples in the repository. My extension now can deal with new internal activities and primitive type attributes. However, I'm facing many problems to make relationships with other BPEL elements (for instance, my new element has a relationship with Variable). I could implement the serialization and the de-serialization of them (I think, I didn't test), however, the UI able to choose a variable is really hard to develop. I could see that this feature for Invoke (inputVariable and outputVariable), reply, onMessage, etc. is done by the class InvokeVariableSection.I spent 2 days trying to understand how this class works, but unfortunately, I was not able. 

Somebody knows another BPEL designer extension where I could see more examples of how to implement extensions for BPEL designer?

Thanks in advance,
Neto

_______________________________________________
bpel-dev mailing list
bpel-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/bpel-dev


_______________________________________________
bpel-dev mailing list
bpel-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/bpel-dev





_______________________________________________
bpel-dev mailing list
bpel-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/bpel-dev


_______________________________________________
bpel-dev mailing list
bpel-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/bpel-dev



Back to the top