Revision: 3697
Author: [email protected]
Date: Thu Jul 8 14:01:17 2010
Log: Changed CriticGrouping so that it sets its child CriticAndSettings
parent pointer to null when it is removed through the removeChildImpl call.
http://code.google.com/p/power-architect/source/detail?r=3697
Modified:
/trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticAndSettings.java
/trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticGrouping.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticAndSettings.java
Wed Jun 30 14:35:34 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticAndSettings.java
Thu Jul 8 14:01:17 2010
@@ -235,7 +235,7 @@
@Mutator
@Override
public void setParent(SPObject parent) {
- if (!(parent instanceof CriticGrouping)) {
+ if (parent != null && !(parent instanceof CriticGrouping)) {
throw new IllegalArgumentException("The parent of a critic
must be a CriticGrouping.");
}
super.setParent(parent);
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticGrouping.java
Mon Jul 5 15:06:27 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/ddl/critic/CriticGrouping.java
Thu Jul 8 14:01:17 2010
@@ -101,6 +101,7 @@
boolean removed = settings.remove(child);
if (removed) {
fireChildRemoved(CriticAndSettings.class, child, index);
+ child.setParent(null);
}
return removed;
}