Author: clee
Date: 2007-03-19 16:36:15 -0800 (Mon, 19 Mar 2007)
New Revision: 3792
URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=3792
Modified:
branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinition.java
branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionDAO.java
branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionManagerEJBImpl.java
Log:
i[HQ-598]
Remove child alert definition from the parent (global) alert definition's children bag
when deleting the alert definition [merge from HEAD]
Modified: branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinition.java
===================================================================
--- branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinition.java 2007-03-20 00:30:06 UTC (rev 3791)
+++ branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinition.java 2007-03-20 00:36:15 UTC (rev 3792)
@@ -164,6 +164,14 @@
_children = c;
}
+ void removeChild(AlertDefinition child) {
+ _children.remove(child);
+ }
+
+ void clearChildren() {
+ _children.clear();
+ }
+
public String getDescription() {
return _description;
}
Modified: branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionDAO.java
===================================================================
--- branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionDAO.java 2007-03-20 00:30:06 UTC (rev 3791)
+++ branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionDAO.java 2007-03-20 00:36:15 UTC (rev 3792)
@@ -24,8 +24,6 @@
*/
package org.hyperic.hq.events.server.session;
-import java.util.Collection;
-import java.util.Iterator;
import java.util.List;
import org.hyperic.dao.DAOFactory;
Modified: branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionManagerEJBImpl.java
===================================================================
--- branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionManagerEJBImpl.java 2007-03-20 00:30:06 UTC (rev 3791)
+++ branches/HQ_3_0/src/org/hyperic/hq/events/server/session/AlertDefinitionManagerEJBImpl.java 2007-03-20 00:36:15 UTC (rev 3792)
@@ -114,11 +114,11 @@
boolean survivors = false;
// If there are any children, delete them, too
- for (Iterator i = alertdef.getChildrenBag().iterator(); i.hasNext();) {
+ for (Iterator i = alertdef.getChildren().iterator(); i.hasNext();) {
AlertDefinition child = (AlertDefinition) i.next();
survivors |= deleteAlertDefinition(subj, child, force);
- i.remove();
}
+ alertdef.clearChildren();
// Get rid of their triggers first
TriggerDAO tdao = getTriggerDAO();
@@ -126,8 +126,7 @@
AlertDAO dao = getAlertDAO();
// See if there are any alerts
- if (!force &&
- (dao.countAlerts(alertdef).intValue() > 0 || survivors)) {
+ if (survivors || (!force && dao.countAlerts(alertdef).intValue() > 0)) {
alertdef.setDeleted(true);
alertdef.setEnabled(false);
@@ -477,6 +476,12 @@
for (Iterator i = adefs.iterator(); i.hasNext(); ) {
AlertDefinition adef = (AlertDefinition) i.next();
+
+ // First check to see if need to remove from parent
+ if (adef.getParent() != null) {
+ adef.getParent().removeChild(adef);
+ }
+
deleteAlertDefinition(subj, adef, true);
}
}
|