[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[bpel-dev] Emulate a "QuickPick" Action from the canvas

Hi to all, I have this scenario:

-          a list of partner links;

-          a new palette with a button for each partner link (each button implementing an invoke action)

-          a menu with the operation of the plink appearing once dragged and dropped the related button on the canvas.

 

Now I would like to do the same operation that a user use to do manually clicking on an invoke action on the canvas->details->quick pick, and selecting the operation desired, just selecting the operation from the menu appearing.

In order I want set the operation invoked on the bpel file and create the variables if possible, as the quickpick menu does.

 

So I try to re-use this code (taken from InvokeImplSection class)

 

else if (model instanceof Operation) {               

                       

                        op = (Operation) model;

                       

                        setCommand = (SetCommand) ListMap.Find ( cmdList, new ListMap.Visitor() {

                              public Object visit(Object obj) {

                                    return (obj instanceof SetOperationCommand ? obj : ListMap.IGNORE);                               

                              }                                                          

                        });

                        setCommand.setNewValue( op );

                       

                        // attempt to locate a variable matching the type

                        alterCommands (cmdList,input,pl,op,(Input) op.getInput()  );

                        alterCommands (cmdList,input,pl,op,(Output)op.getOutput() );

                                                                       

                  } else {

                        break;

                  }                

                  // System.out.println( "segment[" + i + "]=" + path.getSegment( i ));

            }

 

            CompoundCommand cmd = new CompoundCommand ();

            cmd.getCommands().addAll (cmdList) ;

            getCommandFramework().execute( cmd );

 

from the BPELCreationTool class, but I don’t know how to retrieve the “input” variable (for instance, in InvokeImplSection class input = getInput()).

 

I hope you can help me

 

Thank you in advance,

 

Marco M.