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 49517 - [41cat] Delete Session Bean from logical view does not remove bean's classes
Summary: [41cat] Delete Session Bean from logical view does not remove bean's classes
Status: VERIFIED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Code (show other bugs)
Version: 4.x
Hardware: All All
: P2 blocker with 1 vote (vote)
Assignee: Martin Adamek
URL:
Keywords: UI
: 55237 55559 (view as bug list)
Depends on: 56256
Blocks:
  Show dependency tree
 
Reported: 2004-09-24 11:10 UTC by Petr Blaha
Modified: 2005-03-21 12:20 UTC (History)
6 users (show)

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 Petr Blaha 2004-09-24 11:10:24 UTC
[Build 040924]
Steps:
1) create new EJB Module
2) add a Sesssion Bean
3) click in project tab Module - Enterprise
JavaBeans - BeanSB node and invoke Delete.
Only BeanSB node is deleted.
User hopes that delete should remove Session Bean
from Modul - Bean class, Remote, RemoteHome, entry
in DD files.
Comment 1 Chris Webster 2004-09-29 00:38:50 UTC
I am not sure that we always want to delete all the java files. There
are valid uses cases where java files are being reused. This is also
consistent with the behavior of a java class. If I remove a java class
(which may be used by another class an interface being implemented by
another class for example), only that single class will be removed. In
other words there is no referential integrity check being performed. I
think this is equivalent (actually better) in the case of an ejb as
the deployment descriptor entry is updated (the logical ejb has been
removed), the java classes remain (which allows the scenario where the
classes are being used either in other ejb's or perhaps by some
freeform project). The current delete behavior in netbeans only asks
if the deleted artifact should be removed, so there is no way to
determine the actual intention. Therefore, I think that removing the
classes, which may be what the users want in certain circumstances is
not the safest choice. The safest choice is to remove the deployment
descriptor entry only (the user may still remove the java classes
using the package view). 
Comment 2 Petr Blaha 2004-09-29 15:43:41 UTC
I agree, we should at least remove the deployment descriptor entry for
deleted session bean and give a notice that all Bean classes and
interfaces aren't deleted. 
Present circumstances is misleading because only Bean's node in
Enterprise JavaBeans subtree is removed and Bean is henceforth
deployed to App server.
Comment 3 Chris Webster 2004-09-29 18:50:44 UTC
Here is what I did:
1. create new ejb module project
2. create new session ejb
3. delete session ejb in logical view
4. verify that session ejb entry was removed. There currently is a
different issue where the container transaction is not removed (which
will be resolved), but the session entry was removed as expected. 
Comment 4 Petr Blaha 2004-09-29 20:10:19 UTC
OK, related issue #49654
Comment 5 Petr Blaha 2004-10-13 10:45:32 UTC
Move issues from temprorary component.
Comment 6 L Martinek 2005-02-25 10:49:11 UTC
I would add checkbox "Also delete bean sources" to confirmation
dialog, which would be by default switched off.
Comment 7 schwarcz 2005-02-27 17:11:46 UTC
*** Issue 55559 has been marked as a duplicate of this issue. ***
Comment 8 Petr Blaha 2005-02-27 17:29:30 UTC
NetCAT user filed similar issue 55559. I'm changing type to defect.
Comment 9 Jiri Kovalsky 2005-02-28 13:00:02 UTC
Don't forget to prefix issues with magic NetCAT keyword if it's a dup
of such issue.
Comment 10 Martin Grebac 2005-02-28 14:02:32 UTC
*** Issue 55237 has been marked as a duplicate of this issue. ***
Comment 11 jrojcek 2005-03-02 15:45:29 UTC
Users understand Delete as an opposite action to New action. Therefor I think we should 
delete the generated classes as well. As there might be use cases when this is not safe, we 
should give the user an option not to delete the implementation classes (via the check box 
Martin suggested).

I propose following wording in the delete alert:
---
Are you sure you want to delete <BeanName> from deployment descriptor?

[x] Delete Also Implementation Classes
---

The check box would be enabled by default.
Comment 12 schwarcz 2005-03-02 16:27:51 UTC
I think this is the right solution.  Thanks.
Comment 13 _ rkubacki 2005-03-10 10:12:31 UTC
I will create an issue against openide to enhance API so that the EJB support
can manage the delete confirmation dialog.
Comment 14 John Jullion-ceccarelli 2005-03-10 10:12:35 UTC
Please use UI keyword for all bugs that affect the UI.

Also, in the warning, please use this language instead:

[x] Also Delete Implementation Classes

Do you know when this fix will be integrated, and which resource bundles this
fix will touch?
Comment 15 Martin Adamek 2005-03-10 11:48:49 UTC
I would change warning to:

[x] Also Delete Generated Classes

Affected bundle: it's not 100%, but it will be probably
ejbjarproject.ui.logicalview.ejb.action.Bundle
Comment 16 Martin Adamek 2005-03-11 07:54:37 UTC
Fix prepared and temporarily disabled.

Checking in ejb/wizard/mdb/MessageEJBWizardPanel.java;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ejb/wizard/mdb/MessageEJBWizardPanel.java,v
 <--  MessageEJBWizardPanel.java
new revision: 1.3; previous revision: 1.2
done
Checking in ejb/wizard/mdb/MessageEJBWizardPanel.form;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ejb/wizard/mdb/MessageEJBWizardPanel.form,v
 <--  MessageEJBWizardPanel.form
new revision: 1.2; previous revision: 1.1
done
Checking in ui/logicalview/ejb/action/Bundle.properties;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/action/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.11; previous revision: 1.10
done
RCS file:
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/action/DeleteEJBDialog.java,v
done
Checking in ui/logicalview/ejb/action/DeleteEJBDialog.java;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/action/DeleteEJBDialog.java,v
 <--  DeleteEJBDialog.java
initial revision: 1.1
done
RCS file:
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/action/DeleteEJBDialog.form,v
done
Checking in ui/logicalview/ejb/action/DeleteEJBDialog.form;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/action/DeleteEJBDialog.form,v
 <--  DeleteEJBDialog.form
initial revision: 1.1
done
Checking in ui/logicalview/ejb/entity/EntityNode.java;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/entity/EntityNode.java,v
 <--  EntityNode.java
new revision: 1.10; previous revision: 1.9
done
Checking in ui/logicalview/ejb/mdb/MessageNode.java;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/mdb/MessageNode.java,v
 <--  MessageNode.java
new revision: 1.6; previous revision: 1.5
done
Checking in ui/logicalview/ejb/session/SessionNode.java;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/session/SessionNode.java,v
 <--  SessionNode.java
new revision: 1.9; previous revision: 1.8
done
Checking in ui/logicalview/ejb/shared/EjbViewController.java;
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/shared/EjbViewController.java,v
 <--  EjbViewController.java
new revision: 1.5; previous revision: 1.4
done
Comment 17 Martin Adamek 2005-03-17 07:23:34 UTC
Fixed.

/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/entity/EntityNode.java,v
 <--  EntityNode.java - new revision: 1.12; previous revision: 1.11
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/mdb/MessageNode.java,v
 <--  MessageNode.java - new revision: 1.8; previous revision: 1.7
/cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/ui/logicalview/ejb/session/SessionNode.java,v
 <--  SessionNode.java - new revision: 1.11; previous revision: 1.10
Comment 18 Petr Blaha 2005-03-21 12:20:58 UTC
[Build 20050320]