This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
refer. http://www.netbeans.org/issues/show_bug.cgi?id=109677 This is a continuation of the bug 109677. We need to validate for IMAs within the event handlers. From what i understood, from the description you wrote, you verified if two onEvents has the same receive. Scope EventHandler OnEvent Scope *Receive* /Scope /OnEvent OnEvent Scope *Receive (duplicate IMA)* /Scope /OnEvent /EventHandler /Scope what i am saying is Scope EventHandler OnEvent Scope Receive (potential duplicate IMA at runtime) /Scope /OnEvent /EventHandler /Scope Because, two messages same(single) onEvent is also concurrently executed. (see my explanation in the issue(http://www.netbeans.org/issues/show_bug.cgi?id=109677) and refer spec for more understanding). Same thing with onAlarm with repetition.
refer. http://www.netbeans.org/issues/show_bug.cgi?id=109677, as a feedback on the messages, this is what we came up with. * All the messages about multiple partner operation should be warnings. Currently if same partner operation IMAs are in flow (or event handler), it is an error. This should a severe-warning. This is because we are not verifying for branching conditions. Ideally, if the IMA in a flow is an a "If" then it is warning, else it is "error". But since we are not doing such deep checks, we say everything is a severe-warning. * I think we should list out all the warnings about same P Op, on the partnerlink itself. Currently we have BPELSE doesn't support message on PLink and the other on the IMA. Instead let us put all of them on the PartnerLink. I will attach the project and explain further.
> Currently there are duplicate error/warning messages, this should be fixed. show one unique error. > In the attached project, Receive1, Receive6 and Receive2 (in flow) are connected to the same partnerlink. The WARNING message on the partnerlink should be, * {N} IMAs are connected to the same PartnerLink and Operation. BPEL SE, doesn't support it. where {N} stands for the number of IMAs. in this case, {N} = 3. > In the attached project, Receive3 and Receive4 are connected to the same partnerlink. The WARNING message on the partnerlink should be, * 2 or more IMAs with the same P Op could be enabled simultaneously resulting in a bpel:conflictingReceive. There will also be a second warning message here saying, * {N} IMAs are connected to the same PartnerLink and Operation. BPEL SE, doesn't support it. where {N} here is 2. > In the attached Project, any IMA within an onEvent or a repeating onAlarm should have the following WARNING message. * IMA can potentially cause bpel:conflictingReceive Examples here are, Receive5, pick2-OnMessage, scope6's EventHandler's onEvent, scope7's Eventhandler's onEvent, Receive7 > In the attached Project, onEvent should show the following ERROR message, * onEvents in an eventhandler are connected to the same PartnerLink and Operation, results in a bpel:conflictingReceive. > In the attached Project, onMessage should show the following ERROR message, * onMessages in a pick cannot be connected to the same PartnerLink and Operation, results in a bpel:conflictingReceive.
Created attachment 46440 [details] BPEL project zip file
For Sierra.
Changed target milestone from Sierra to 6.1 in order to display correct info on NB 6.1 dashboard
Kiran, Is it correct that we must catch situation when EventHandler has several OnEvent/OnAlarm with Receive which have the same PartnerLink-Operation? Please, confirm.
following are cases that we need to address. Case 1) Scope EventHandler OnEvent Scope Receive (potential duplicate IMA at runtime if the same onEvent happens more than once) /Scope /OnEvent /EventHandler /Scope Case 2) Scope EventHandler OnEvent Scope *Receive* /Scope /OnEvent OnEvent Scope *Receive (potential duplicate IMA if both onEvents happen)* /Scope /OnEvent /EventHandler /Scope Case 3) EventHandler OnAlarm (with repeatEvery) Scope Receive (potential duplicate IMA at runtime based on the repeat timer value and the time it takes the execution to reach receive) /Scope /OnAlarm /EventHandler /Scope
More comments. In case 2, I am assuming that both receives have same partner, portType, operation. But before case 2, we have case 1 would be encountered. Case 4) Scope EventHandler OnEvent Scope *Receive* /Scope /OnEvent OnAlarm Scope *Receive (potential duplicate IMA if both onEvent and onAlarm happen)* /Scope /OnAlarm /EventHandler /Scope Here, like case 2, both receives are of same partner, portType, operation. Please note that the OnAlarm in case 4 doesn't have repeatEvery. Case 5) Scope EventHandler OnAlarm Scope *Receive* /Scope /OnAlarm OnAlarm Scope *Receive (potential duplicate IMA if both OnAlarms happen)* /Scope /OnAlarm /EventHandler /Scope Here, like case 2, both receives are of same partner, portType, operation Hope that helps.
fixed cases 1..5.