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 114248 - Connection added by Build Project after a BC-BC connection is deleted
Summary: Connection added by Build Project after a BC-BC connection is deleted
Status: REOPENED
Alias: None
Product: soa
Classification: Unclassified
Component: Composite Application (show other bugs)
Version: 6.x
Hardware: All All
: P4 blocker (vote)
Assignee: Jun Qian
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-30 14:33 UTC by jlautz
Modified: 2007-09-05 23:33 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
BPEL project used in scenario (12.07 KB, application/octet-stream)
2007-08-30 14:37 UTC, jlautz
Details
Screenshot including added connection between Casaport2 and BPELModule2 (182.63 KB, application/octet-stream)
2007-08-30 14:39 UTC, jlautz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jlautz 2007-08-30 14:33:03 UTC
Seen with   Product Version: NetBeans IDE Dev (Build 200708270201) Java: 1.6.0_01; Java HotSpot(TM) Client VM
1.6.0_01-b06 System: Windows XP version 5.1 running on x86; Cp1252; en_US (nb) Userdir: C:\Documents and
Settings\lautz\.netbeans\dev 

1. Open the attached BPEL module as a project.
2. Define a new comp app and open it in the CASA editor.
3. Dnd The BPEL module into the CASA editor.
4. Click the Build Project button.
5. Add a new SOAP WSDL port. 
6. Draw a connection between the new SOAP WSDL port and the original SOAP WSDL port (BC-BC).
7. Click the CASA Build Project button again.
8. Add a new WSDL port (doesn't seem to matter the type) between the 2 existing WSDL ports.
9. Delete the connection between the two SOAP WSDL ports in #6.
10. Click the CASA Build Project button again.

=> A connection is added between the Consumes endpoint of the SOAP WSDL port that was the consumer of the BC-BC
connection in #6 and Provides endpoint of the BPEL project. Screenshot attached.
Comment 1 jlautz 2007-08-30 14:37:32 UTC
Created attachment 47810 [details]
BPEL project used in scenario
Comment 2 jlautz 2007-08-30 14:39:05 UTC
Created attachment 47811 [details]
Screenshot including added connection between Casaport2 and BPELModule2
Comment 3 Jun Qian 2007-09-05 20:59:35 UTC
The observed behavior is correct. 

In step 7, the automatic build process in compapp generates a new connection between the new SOAP WSDL port (created in
step 5) and BPEL Module. However, since the user has already created a connection between the new SOAP WSDL port and the
old SOAP WSDL port, and one consume endpoint is only allowed to connect to at most one provider, that auto-generated new
connection is suppressed, as indicated in the following build output message (I need to update the text to be more user
friendly. Do you think such message helpful to the user? Should I hide it?):

...
INFO: A Consume endpoint (org.netbeans.modules.compapp.projects.jbi.descriptor.endpoints.model.Endpoint@12f6fbb) is only
allowed to connect to at most 1 provider. . Old connection
(org.netbeans.modules.compapp.projects.jbi.descriptor.endpoints.model.Connection@1508179) is replaced by the new one
(org.netbeans.modules.compapp.projects.jbi.descriptor.endpoints.model.Connection@64462d).
...

When you delete the user-created connection in step 9, the auto-generated connection surfaces because it is no longer
being suppressed by user-created connection. 

If you don't want this auto-generated connection, you can simply delete it, and this deletion will be persisted in
future builds.
Comment 4 jlautz 2007-09-05 22:24:57 UTC
I think this is a usability issue, and so will lower it to a P4. Based on usability guidelines I've worked with in the
past (NB doesn't have many for behavior), the editor should either provide some feedback about what's happening with
connections suppressing other connections (maybe "ghosts" of defaults/autogen'ed items being overridden/suppressed), or
CASA should produce what the user expects, based on the currently visible state of the CASA design. 

The automatic generation of the connection at #10 makes sense from a model point of view, because the model knows that
the interface was set automatically by the BC-BC connection the user drew. As a user, I drew something and deleted it. I
don't expect new connections to appear.

As for the message at #7: I have to maximize the CASA editor window to work, so I don't see the output messages unless I
look for them. I'm a good naive end user. :) I wouldn't remove them, because they at least provide a clue that an unseen
connection is lurking under the surface.
Comment 5 Jun Qian 2007-09-05 23:33:57 UTC
This is fine by me. Actually you are not the first one surprised by this behavior.

> As a user, I drew something and deleted it. I don't expect new connections to appear.
Yes, this is the design. The connection you deleted doesn't reappear. The reappearing one is a different connection
(sharing the same consume endpoint with the deleted one). 

The message has been changed to something like:

INFO: A new connection ({CompositeApp1}casaService1.casaPort1 ->
{http://enterprise.netbeans.org/bpel/BpelModule2/newProcess}PartnerLink1.newWSDLPortTypeRole_myRole) is suppressed by an
existing connection ({CompositeApp1}casaService1.casaPort1 ->
{http://j2ee.netbeans.org/wsdl/newWSDL}newWSDLService.newWSDLPort).