Bug 334364 - Attribute "pattern" in Correlation should not be initialized
Summary: Attribute "pattern" in Correlation should not be initialized
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BPEL (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-14 05:38 EST by s3506963 CLA
Modified: 2022-10-03 11:12 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description s3506963 CLA 2011-01-14 05:38:23 EST
The CorrelationImpl initializes the attribute "pattern" to "request". Since this attribute MUST NOT be set when using correlation within <invoke> for one-way operations, one cannot validate this rule (using a custom validator working on the EMF model or the Java representation, respectively).
Comment 1 grid.qian CLA 2011-02-14 01:45:28 EST
I create a correlation for a invoke, the default value is no for Initiation attribute. The model will set a pattern for a correlation by the default value of Initiation.
Comment 2 s3506963 CLA 2011-03-08 09:00:42 EST
I'm not sure whether I understood your reply.

Did you mean that YOUR implementation DOES NOT initialize the "pattern" attribute to any default value when setting the "initiate" attribute to "no"? I cannot reproduce this behavior.

Let's unravel this:
I defined a correlation within an Invoke, setting the Initiation value to "no". As far as I understood your msg our process files agree in this point.
BUT the "pattern" attribute of the Correlation element is implicitly always defined - regardless whether the Initiation is set to "no". Or said differently: As soon as I define a Correlation the "pattern" attribute is set (invisibly) and it's value is set to "request". Furthermore, if I see it right, the initiation attribute has nothing to do with the pattern attribute.

SA rule 00046 in the BPEL v2.0 specification demands that the "pattern" attribute MUST NOT be set if an Invoke contains a correlation. Since the "pattern" attribute is always NOT NULL for any Correlation, one cannot decide whether the pattern attribute was explicitly set by the process designer.

Thus, I suggest to set CorrelationImpl.PATTERN_EDEFAULT to NULL.