Author: scabanovich
Date: 2008-06-24 07:52:35 -0400 (Tue, 24 Jun 2008)
New Revision: 8918
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FileSystemFolderLoader.java
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/impl/OrderedChildren.java
Log:
JBIDE-2428
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FileSystemFolderLoader.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FileSystemFolderLoader.java 2008-06-24
11:23:34 UTC (rev 8917)
+++
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FileSystemFolderLoader.java 2008-06-24
11:52:35 UTC (rev 8918)
@@ -21,7 +21,7 @@
public boolean update(XModelObject object) throws XModelException {
FolderLoader folder = (FolderLoader)object;
- if(folder.isRemoved() && !isProtectedFileSystem(object)) {
+ if(folder.isRemoved() && !isProtectedFileSystem(object) &&
object.isActive()) {
object.getParent().setModified(true);
object.removeFromParent();
}
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/impl/OrderedChildren.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/impl/OrderedChildren.java 2008-06-24
11:23:34 UTC (rev 8917)
+++
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/impl/OrderedChildren.java 2008-06-24
11:52:35 UTC (rev 8918)
@@ -86,20 +86,26 @@
if(c == null) c = comparator;
if(c == null) return;
getObjects();
- Arrays.sort(list, c);
- alist = Arrays.asList(list);
+ synchronized(this) {
+ Arrays.sort(list, c);
+ alist = asList(list);
+ }
}
public void replaceChildren(XModelObject[] objects) {
super.replaceChildren(objects);
synchronized (this) {
- ArrayList<XModelObject> n = new ArrayList<XModelObject>();
- for (int i = 0; i < objects.length; i++) {
- n.add(objects[i]);
- }
- alist = n;
+ alist = asList(objects);
list = null;
}
}
+ private List<XModelObject> asList(XModelObject[] objects) {
+ ArrayList<XModelObject> n = new ArrayList<XModelObject>();
+ for (int i = 0; i < objects.length; i++) {
+ n.add(objects[i]);
+ }
+ return n;
+ }
+
}