diff -r 7ad0eec2c334 xml.xam/src/org/netbeans/modules/xml/xam/dom/AbstractDocumentModel.java --- a/xml.xam/src/org/netbeans/modules/xml/xam/dom/AbstractDocumentModel.java Mon May 04 22:21:11 2009 +0400 +++ b/xml.xam/src/org/netbeans/modules/xml/xam/dom/AbstractDocumentModel.java Tue May 12 19:37:28 2009 +0400 @@ -92,7 +92,9 @@ public abstract class AbstractDocumentMo } public abstract T createRootComponent(Element root); + + public abstract void removeRootComponent(); + public boolean areSameNodes(Node n1, Node n2) { return getAccess().areSameNodes(n1, n2); } diff -r 7ad0eec2c334 xml.xdm/src/org/netbeans/modules/xml/xdm/xam/XDMListener.java --- a/xml.xdm/src/org/netbeans/modules/xml/xdm/xam/XDMListener.java Mon May 04 22:21:11 2009 +0400 +++ b/xml.xdm/src/org/netbeans/modules/xml/xdm/xam/XDMListener.java Tue May 12 19:37:28 2009 +0400 @@ -173,6 +173,7 @@ public class XDMListener implements Prop } //assert eventNode.getId() == 1; if (! isAdded) { + model.removeRootComponent(); return; } Component rootComponent = null; diff -r 7ad0eec2c334 xml.schema.model/src/org/netbeans/modules/xml/schema/model/impl/SchemaModelImpl.java --- a/xml.schema.model/src/org/netbeans/modules/xml/schema/model/impl/SchemaModelImpl.java Mon May 04 22:21:11 2009 +0400 +++ b/xml.schema.model/src/org/netbeans/modules/xml/schema/model/impl/SchemaModelImpl.java Tue May 12 19:37:28 2009 +0400 @@ -129,8 +129,12 @@ public class SchemaModelImpl extends Abs + public void removeRootComponent() { + schema = null; + } + diff -r 7ad0eec2c334 xml.xam/test/unit/src/org/netbeans/modules/xml/xam/TestModel2.java --- a/xml.xam/test/unit/src/org/netbeans/modules/xml/xam/TestModel2.java Mon May 04 22:21:11 2009 +0400 +++ b/xml.xam/test/unit/src/org/netbeans/modules/xml/xam/TestModel2.java Tue May 12 19:37:28 2009 +0400 @@ -129,6 +130,10 @@ public class TestModel2 extends Abstract + + public void removeRootComponent() { + testRoot = null; + } diff -r 7ad0eec2c334 xml.xdm/test/unit/src/org/netbeans/modules/xml/xam/TestModel.java --- a/xml.xdm/test/unit/src/org/netbeans/modules/xml/xam/TestModel.java Mon May 04 22:21:11 2009 +0400 +++ b/xml.xdm/test/unit/src/org/netbeans/modules/xml/xam/TestModel.java Tue May 12 19:37:28 2009 +0400 @@ -93,6 +94,11 @@ public class TestModel extends AbstractD + @Override + public void removeRootComponent() { + testRoot = null; + } + diff -r 7ad0eec2c334 xml.xam/nbproject/project.properties --- a/xml.xam/nbproject/project.properties Mon May 04 22:21:11 2009 +0400 +++ b/xml.xam/nbproject/project.properties Thu May 14 19:32:19 2009 +0400 @@ -42,4 +42,5 @@ is.autoload=true is.autoload=true javac.source=1.5 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.5.0 +javadoc.apichanges=${basedir}/apichanges.xml +spec.version.base=1.6.0 diff -r 7ad0eec2c334 xml.xdm/test/unit/src/org/netbeans/modules/xml/xam/AbstractModelTest.java --- a/xml.xdm/test/unit/src/org/netbeans/modules/xml/xam/AbstractModelTest.java Mon May 04 22:21:11 2009 +0400 +++ b/xml.xdm/test/unit/src/org/netbeans/modules/xml/xam/AbstractModelTest.java Thu May 14 19:32:20 2009 +0400 @@ -589,6 +588,19 @@ public class AbstractModelTest extends N assertEquals("root is same", root, model.getRootComponent()); } + public void testRootDeleted() throws Exception { + Document doc = Util.getResourceAsDocument("resources/test1.xml"); + assert doc != null; + TestModel2 model = new TestModel2(doc); + model.sync(); + + Util.setDocumentContentTo(doc, "resources/test1_rootdeleted.xml"); + model.sync(); + assertEquals(Model.State.VALID, model.getState()); + assertNull(model.getRootComponent()); + } + public void testPrettyPrint() throws Exception { defaultSetup(); assertEquals("testPrettyPrint.ok", State.VALID, model.getState()); diff -r 7ad0eec2c334 xml.xam/apichanges.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml.xam/apichanges.xml Thu May 14 19:35:25 2009 +0400 @@ -0,0 +1,148 @@ + + + + + + + + + + + + + Extansible Abstract Model (XAM) + + + + + + + + + New method to remove model's root component + + + + + +

+ Two new abstract method is added: + {@link org.netbeans.modules.xml.xam.dom.AbstractDocumentModel#removeRootComponent()} + It is intended to be called automatically when a user delete corresponding root component from XML sources. +

+
+ + +
+ +
+ + + + + + + Change History for the Extansible Abstract Model (XAM) + + + + + + +

Introduction

+ +

This document lists changes made to the Extansible Abstract Model (XAM).

+
+ +

@FOOTER@

+ +
+ +