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.

Bug 111409 - invalid occurences of throw and rethrow in a BPEL
Summary: invalid occurences of throw and rethrow in a BPEL
Status: RESOLVED FIXED
Alias: None
Product: soa
Classification: Unclassified
Component: BPEL Validation (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: Vladimir Yaroslavskiy
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-30 23:28 UTC by kiran_bhumana
Modified: 2008-03-07 11:52 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kiran_bhumana 2007-07-30 23:28:10 UTC
We need to make sure that the user doesn't accidentally put in activities that doesn't make sense. For instance, throw
and rethrow activities don't make sense in some scenarios. If we identify them in the tooling, the user will be helped a
lot since most likely he accidentally placed it (or with an oversight of the situation).

We already have throw and I know that i am filing these ahead of time for rethrow. Hoping that when "rethrow" is
implemented these validations will also be in place.

For instance, If a TH has a throw and a rethrow directly within the TH we need to warn the user that it is useless to
put such an activity.
From the spec,
"A fault inside a termination handler MUST NOT be not propagated to the enclosing scope (see section 12.6 Termination
Handlers) "

so for example some of the patterns (there will be more, please go through the spec) that we can say are invalid

1) The user should be warned (severe) or shown error saying that the fault will not be propagated because it is in TH.
   <terminationHandler>
      <throw>
   </terminationHandler>
   
1) a) 
   <terminationHandler>
     <structuredactivity> (scope, sequence, switch, flow ...)
      <throw/>
     </structuredactivity>
   </terminationHandler>

2) The user should be warned (severe) or shown error saying that the fault will not be propagated because it is in TH. 

   <terminationHandler>
      <scope>
         <FaultHandler>
            <catch> (or <catchAll>)
               rethrow (or throw)
            </catch>
         </Faulthandler>
      </scope>
   </terminationHandler>

3) The following doesn't make sense. This will cause the instance to be terminated. The user should be warned or
suggested that a "terminate" activity is probably what he needs. It is possible that he wants to send reply to the
pending requests before terminating the instance and hence it is a warning and not a error.
   <bpelprocess>
     <faulthandler>
       <rethrow> (or throw)
     </faulthandler>
   </bpelprocess>

There are more combinations that are possible and need to be validated. Please address all of those. If you need help i
can always provide my inputs on the different combinations of tree graph or get your questions resolved.
Comment 1 Sergey Lunegov 2007-10-26 11:01:15 UTC
For Sierra.
Comment 2 Andrei Chistiakov 2008-01-17 11:10:50 UTC
Changed target milestone from Sierra to 6.1 in order to display correct info on
NB 6.1 dashboard
Comment 3 Vladimir Yaroslavskiy 2008-03-07 11:52:54 UTC
fixed.