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.
[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.
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).
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.
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.
OK, related issue #49654
Move issues from temprorary component.
I would add checkbox "Also delete bean sources" to confirmation dialog, which would be by default switched off.
*** Issue 55559 has been marked as a duplicate of this issue. ***
NetCAT user filed similar issue 55559. I'm changing type to defect.
Don't forget to prefix issues with magic NetCAT keyword if it's a dup of such issue.
*** Issue 55237 has been marked as a duplicate of this issue. ***
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.
I think this is the right solution. Thanks.
I will create an issue against openide to enhance API so that the EJB support can manage the delete confirmation dialog.
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?
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
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
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
[Build 20050320]