diff --git a/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java b/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java --- a/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java +++ b/project.ant/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingleton.java @@ -190,9 +190,9 @@ try { Document projectXml = loadProjectXml(projectDiskFile); if (projectXml != null) { - Element typeEl = Util.findElement(projectXml.getDocumentElement(), "type", PROJECT_NS); // NOI18N + Element typeEl = XMLUtil.findElement(projectXml.getDocumentElement(), "type", PROJECT_NS); // NOI18N if (typeEl != null) { - String type = Util.findText(typeEl); + String type = XMLUtil.findText(typeEl); if (type != null) { AntBasedProjectType provider = findAntBasedProjectType(type); if (provider != null) { @@ -236,12 +236,12 @@ LOG.log(Level.FINE, "could not load {0}", projectDiskFile); return null; } - Element typeEl = Util.findElement(projectXml.getDocumentElement(), "type", PROJECT_NS); // NOI18N + Element typeEl = XMLUtil.findElement(projectXml.getDocumentElement(), "type", PROJECT_NS); // NOI18N if (typeEl == null) { LOG.log(Level.FINE, "no in {0}", projectDiskFile); return null; } - String type = Util.findText(typeEl); + String type = XMLUtil.findText(typeEl); if (type == null) { LOG.log(Level.FINE, "no text in {0}", projectDiskFile); return null; diff --git a/project.ant/src/org/netbeans/modules/project/ant/ProjectLibraryProvider.java b/project.ant/src/org/netbeans/modules/project/ant/ProjectLibraryProvider.java --- a/project.ant/src/org/netbeans/modules/project/ant/ProjectLibraryProvider.java +++ b/project.ant/src/org/netbeans/modules/project/ant/ProjectLibraryProvider.java @@ -414,9 +414,9 @@ public static String getLibrariesLocationText(AuxiliaryConfiguration aux) { Element libraries = aux.getConfigurationFragment(EL_LIBRARIES, NAMESPACE, true); if (libraries != null) { - for (Element definitions : Util.findSubElements(libraries)) { + for (Element definitions : XMLUtil.findSubElements(libraries)) { assert definitions.getLocalName().equals(EL_DEFINITIONS) : definitions; - String text = Util.findText(definitions); + String text = XMLUtil.findText(definitions); assert text != null : aux; return text; } @@ -990,7 +990,7 @@ if (libraries == null) { libraries = XMLUtil.createDocument("dummy", null, null, null).createElementNS(NAMESPACE, EL_LIBRARIES); // NOI18N } else { - List elements = Util.findSubElements(libraries); + List elements = XMLUtil.findSubElements(libraries); if (elements.size() == 1) { libraries.removeChild(elements.get(0)); } diff --git a/project.ant/src/org/netbeans/modules/project/ant/ProjectXMLCatalogReader.java b/project.ant/src/org/netbeans/modules/project/ant/ProjectXMLCatalogReader.java --- a/project.ant/src/org/netbeans/modules/project/ant/ProjectXMLCatalogReader.java +++ b/project.ant/src/org/netbeans/modules/project/ant/ProjectXMLCatalogReader.java @@ -68,7 +68,6 @@ import org.openide.util.NbCollections; import org.openide.xml.XMLUtil; import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; @@ -251,7 +250,7 @@ try { String ns2 = ns.substring(0, slash + 1) + Integer.toString(Integer.parseInt(ns.substring(slash + 1)) + 1); if (_resolveURI(ns2) != null) { - Element data2 = translateXML(data, ns2); + Element data2 = XMLUtil.translateXML(data, ns2); data.getParentNode().replaceChild(data2, data); try { validate(attempt); @@ -315,26 +314,4 @@ return null; } - private static Element translateXML(Element from, String namespace) { // XXX use #136595 - Element to = from.getOwnerDocument().createElementNS(namespace, from.getLocalName()); - NodeList nl = from.getChildNodes(); - int length = nl.getLength(); - for (int i = 0; i < length; i++) { - Node node = nl.item(i); - Node newNode; - if (node.getNodeType() == Node.ELEMENT_NODE) { - newNode = translateXML((Element) node, namespace); - } else { - newNode = node.cloneNode(true); - } - to.appendChild(newNode); - } - NamedNodeMap m = from.getAttributes(); - for (int i = 0; i < m.getLength(); i++) { - Node attr = m.item(i); - to.setAttribute(attr.getNodeName(), attr.getNodeValue()); - } - return to; - } - } diff --git a/project.ant/src/org/netbeans/modules/project/ant/Util.java b/project.ant/src/org/netbeans/modules/project/ant/Util.java --- a/project.ant/src/org/netbeans/modules/project/ant/Util.java +++ b/project.ant/src/org/netbeans/modules/project/ant/Util.java @@ -41,15 +41,9 @@ package org.netbeans.modules.project.ant; -import java.util.ArrayList; -import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import org.openide.util.Exceptions; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.Text; import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; @@ -63,83 +57,6 @@ private Util() {} /** - * Search for an XML element in the direct children of a parent. - * DOM provides a similar method but it does a recursive search - * which we do not want. It also gives a node list and we want - * only one result. - * @param parent a parent element - * @param name the intended local name - * @param namespace the intended namespace - * @return the one child element with that name, or null if none or more than one - */ - public static Element findElement(Element parent, String name, String namespace) { - Element result = null; - NodeList l = parent.getChildNodes(); - int len = l.getLength(); - for (int i = 0; i < len; i++) { - if (l.item(i).getNodeType() == Node.ELEMENT_NODE) { - Element el = (Element)l.item(i); - if (namespace.equals(el.getNamespaceURI()) && name.equals(el.getLocalName())) { - if (result == null) { - result = el; - } else { - return null; - } - } - } - } - return result; - } - - /** - * Extract nested text from an element. - * Currently does not handle coalescing text nodes, CDATA sections, etc. - * @param parent a parent element - * @return the nested text, or null if none was found - */ - public static String findText(Element parent) { - NodeList l = parent.getChildNodes(); - for (int i = 0; i < l.getLength(); i++) { - if (l.item(i).getNodeType() == Node.TEXT_NODE) { - Text text = (Text)l.item(i); - return text.getNodeValue(); - } - } - return null; - } - - /** - * Find all direct child elements of an element. - * More useful than {@link Element#getElementsByTagNameNS} because it does - * not recurse into recursive child elements. - * Children which are all-whitespace text nodes are ignored; others cause - * an exception to be thrown. - * @param parent a parent element in a DOM tree - * @return a list of direct child elements (may be empty) - * @throws IllegalArgumentException if there are non-element children besides whitespace - */ - public static List findSubElements(Element parent) throws IllegalArgumentException { - NodeList l = parent.getChildNodes(); - List elements = new ArrayList(l.getLength()); - for (int i = 0; i < l.getLength(); i++) { - Node n = l.item(i); - if (n.getNodeType() == Node.ELEMENT_NODE) { - elements.add((Element)n); - } else if (n.getNodeType() == Node.TEXT_NODE) { - String text = ((Text)n).getNodeValue(); - if (text.trim().length() > 0) { - throw new IllegalArgumentException("non-ws text encountered in " + parent + ": " + text); // NOI18N - } - } else if (n.getNodeType() == Node.COMMENT_NODE) { - // skip - } else { - throw new IllegalArgumentException("unexpected non-element child of " + parent + ": " + n); // NOI18N - } - } - return elements; - } - - /** * Create an XML error handler that rethrows errors and fatal errors and logs warnings. * @return a standard error handler */ diff --git a/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java b/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java --- a/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java +++ b/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java @@ -416,7 +416,7 @@ Document doc = getConfigurationXml(shared); if (shared) { Element project = doc.getDocumentElement(); - Element config = Util.findElement(project, "configuration", PROJECT_NS); // NOI18N + Element config = XMLUtil.findElement(project, "configuration", PROJECT_NS); // NOI18N assert config != null; return config; } else { @@ -888,7 +888,7 @@ public Element run() { synchronized (modifiedMetadataPaths) { Element root = getConfigurationDataRoot(shared); - Element data = Util.findElement(root, elementName, namespace); + Element data = XMLUtil.findElement(root, elementName, namespace); if (data != null) { return cloneSafely(data); } else { @@ -926,7 +926,7 @@ public Void run() { synchronized (modifiedMetadataPaths) { Element root = getConfigurationDataRoot(shared); - Element existing = Util.findElement(root, fragment.getLocalName(), fragment.getNamespaceURI()); + Element existing = XMLUtil.findElement(root, fragment.getLocalName(), fragment.getNamespaceURI()); // XXX first compare to existing and return if the same if (existing != null) { root.removeChild(existing); @@ -968,7 +968,7 @@ public Boolean run() { synchronized (modifiedMetadataPaths) { Element root = getConfigurationDataRoot(shared); - Element data = Util.findElement(root, elementName, namespace); + Element data = XMLUtil.findElement(root, elementName, namespace); if (data != null) { root.removeChild(data); modifying(shared ? PROJECT_XML_PATH : PRIVATE_XML_PATH); diff --git a/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java b/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java --- a/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java +++ b/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java @@ -70,7 +70,6 @@ import org.netbeans.api.queries.CollocationQuery; import org.netbeans.modules.project.ant.AntBasedProjectFactorySingleton; import org.netbeans.modules.project.ant.ProjectLibraryProvider; -import org.netbeans.modules.project.ant.Util; import org.netbeans.spi.project.AuxiliaryConfiguration; import org.netbeans.spi.project.SubprojectProvider; import org.openide.ErrorManager; @@ -569,7 +568,7 @@ // Linear search; always keeping references sorted first by foreign project // name, then by target name. Element nextRefEl = null; - Iterator it = Util.findSubElements(references).iterator(); + Iterator it = XMLUtil.findSubElements(references).iterator(); while (it.hasNext()) { Element testRefEl = it.next(); RawReference testRef = RawReference.create(testRefEl); @@ -816,7 +815,7 @@ private static boolean removeRawReferenceElement(String foreignProjectName, String id, Element references, boolean escaped) throws IllegalArgumentException { // As with addRawReference, do a linear search through. - for (Element testRefEl : Util.findSubElements(references)) { + for (Element testRefEl : XMLUtil.findSubElements(references)) { RawReference testRef = RawReference.create(testRefEl); String refID = testRef.getID(); String refName = testRef.getForeignProjectName(); @@ -869,7 +868,7 @@ } private static RawReference[] getRawReferences(Element references) throws IllegalArgumentException { - List subEls = Util.findSubElements(references); + List subEls = XMLUtil.findSubElements(references); List refs = new ArrayList(subEls.size()); for (Element subEl : subEls) { refs.add(RawReference.create(subEl)); @@ -911,7 +910,7 @@ } private static RawReference getRawReference(String foreignProjectName, String id, Element references, boolean escaped) throws IllegalArgumentException { - for (Element subEl : Util.findSubElements(references)) { + for (Element subEl : XMLUtil.findSubElements(references)) { RawReference ref = RawReference.create(subEl); String refID = ref.getID(); String refName = ref.getForeignProjectName(); @@ -1693,7 +1692,7 @@ if (idx == -1) { throw new IllegalArgumentException("bad subelement name: " + elName); // NOI18N } - String val = Util.findText(el); + String val = XMLUtil.findText(el); if (val == null) { throw new IllegalArgumentException("empty subelement: " + el); // NOI18N } @@ -1711,7 +1710,7 @@ if (!REF_NAME.equals(xml.getLocalName()) || !REFS_NS2.equals(xml.getNamespaceURI())) { throw new IllegalArgumentException("bad element name: " + xml); // NOI18N } - List nl = Util.findSubElements(xml); + List nl = XMLUtil.findSubElements(xml); if (nl.size() < 6) { throw new IllegalArgumentException("missing or extra data: " + xml); // NOI18N } @@ -1726,7 +1725,7 @@ if (idx == -1) { throw new IllegalArgumentException("bad subelement name: " + elName); // NOI18N } - String val = Util.findText(el); + String val = XMLUtil.findText(el); if (val == null) { throw new IllegalArgumentException("empty subelement: " + el); // NOI18N } @@ -1744,9 +1743,9 @@ if (!"properties".equals(el.getLocalName())) { // NOI18N throw new IllegalArgumentException("bad subelement. expected 'properties': " + el); // NOI18N } - for (Element el2 : Util.findSubElements(el)) { + for (Element el2 : XMLUtil.findSubElements(el)) { String key = el2.getAttribute("name"); - String value = Util.findText(el2); + String value = XMLUtil.findText(el2); // #53553: NPE if (value == null) { value = ""; // NOI18N diff --git a/project.ant/test/unit/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingletonTest.java b/project.ant/test/unit/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingletonTest.java --- a/project.ant/test/unit/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingletonTest.java +++ b/project.ant/test/unit/src/org/netbeans/modules/project/ant/AntBasedProjectFactorySingletonTest.java @@ -58,6 +58,7 @@ import org.openide.util.Lookup; import org.openide.util.lookup.Lookups; import org.openide.util.test.MockLookup; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; public class AntBasedProjectFactorySingletonTest extends NbTestCase { @@ -238,7 +239,7 @@ } private static String namesOfChildren(Element e) { StringBuilder b = new StringBuilder(); - for (Element kid : Util.findSubElements(e)) { + for (Element kid : XMLUtil.findSubElements(e)) { if (b.length() > 0) { b.append(' '); } diff --git a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntBasedTestUtil.java b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntBasedTestUtil.java --- a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntBasedTestUtil.java +++ b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntBasedTestUtil.java @@ -225,9 +225,9 @@ private String getText(String elementName) { Element data = helper.getPrimaryConfigurationData(true); - Element el = Util.findElement(data, elementName, "urn:test:shared"); + Element el = XMLUtil.findElement(data, elementName, "urn:test:shared"); if (el != null) { - String text = Util.findText(el); + String text = XMLUtil.findText(el); if (text != null) { return text; } diff --git a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntProjectHelperTest.java b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntProjectHelperTest.java --- a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntProjectHelperTest.java +++ b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/AntProjectHelperTest.java @@ -54,7 +54,6 @@ import org.netbeans.junit.NbTestCase; import org.netbeans.junit.RandomlyFails; import org.netbeans.modules.project.ant.ProjectLibraryProvider; -import org.netbeans.modules.project.ant.Util; import org.netbeans.spi.project.AuxiliaryConfiguration; import org.netbeans.spi.project.CacheDirectoryProvider; import org.openide.filesystems.FileObject; @@ -156,12 +155,12 @@ Element data = h.getPrimaryConfigurationData(true); assertEquals("correct element name", "data", data.getLocalName()); assertEquals("correct element namespace", "urn:test:shared", data.getNamespaceURI()); - Element stuff = Util.findElement(data, "shared-stuff", "urn:test:shared"); + Element stuff = XMLUtil.findElement(data, "shared-stuff", "urn:test:shared"); assertNotNull("had nested stuff in it", stuff); data = h.getPrimaryConfigurationData(false); assertEquals("correct element name", "data", data.getLocalName()); assertEquals("correct element namespace", "urn:test:private", data.getNamespaceURI()); - stuff = Util.findElement(data, "private-stuff", "urn:test:private"); + stuff = XMLUtil.findElement(data, "private-stuff", "urn:test:private"); assertNotNull("had nested stuff in it", stuff); } @@ -181,7 +180,7 @@ } assertEquals("correct element name", "data", data.getLocalName()); assertEquals("correct element namespace", "urn:test:shared", data.getNamespaceURI()); - Element stuff = Util.findElement(data, "shared-stuff", "urn:test:shared"); + Element stuff = XMLUtil.findElement(data, "shared-stuff", "urn:test:shared"); /* This now retains the former contents: assertNull("had no stuff in it", stuff); */ @@ -192,13 +191,13 @@ pm.saveProject(p); Document doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); Element root = doc.getDocumentElement(); - Element type = Util.findElement(root, "type", AntProjectHelper.PROJECT_NS); - assertEquals("correct restored type", "test", Util.findText(type)); - Element config = Util.findElement(root, "configuration", AntProjectHelper.PROJECT_NS); + Element type = XMLUtil.findElement(root, "type", AntProjectHelper.PROJECT_NS); + assertEquals("correct restored type", "test", XMLUtil.findText(type)); + Element config = XMLUtil.findElement(root, "configuration", AntProjectHelper.PROJECT_NS); assertNotNull("have ", config); - data = Util.findElement(config, "data", "urn:test:shared"); + data = XMLUtil.findElement(config, "data", "urn:test:shared"); assertNotNull("have ", data); - Element details = Util.findElement(data, "details", "urn:test:shared"); + Element details = XMLUtil.findElement(data, "details", "urn:test:shared"); assertNotNull("have
", details); } @@ -463,7 +462,7 @@ public void testPutPrimaryConfigurationData() throws Exception { h.addAntProjectListener(l); Element data = h.getPrimaryConfigurationData(true); - assertNotNull(" is there to start", Util.findElement(data, "shared-stuff", "urn:test:shared")); + assertNotNull(" is there to start", XMLUtil.findElement(data, "shared-stuff", "urn:test:shared")); assertTrue("project is not initially modified", !pm.isModified(p)); assertEquals("gPCD fires no events", 0, l.events().length); assertNotNull("config data has an owner document", data.getOwnerDocument()); @@ -471,7 +470,7 @@ data.appendChild(nue); assertTrue("project is not modified after uncommitted change", !pm.isModified(p)); assertEquals("no events fired after uncommitted change", 0, l.events().length); - assertEquals("after uncommitted change gPCD does not yet have new ", null, Util.findElement(h.getPrimaryConfigurationData(true), "misc", "urn:test:shared")); + assertEquals("after uncommitted change gPCD does not yet have new ", null, XMLUtil.findElement(h.getPrimaryConfigurationData(true), "misc", "urn:test:shared")); h.putPrimaryConfigurationData(data, true); assertTrue("project is modified after committed change", pm.isModified(p)); AntProjectEvent[] evs = l.events(); @@ -479,28 +478,28 @@ assertEquals("correct helper", h, evs[0].getHelper()); assertEquals("correct path", AntProjectHelper.PROJECT_XML_PATH, evs[0].getPath()); assertTrue("expected change", evs[0].isExpected()); - nue = Util.findElement(h.getPrimaryConfigurationData(true), "misc", "urn:test:shared"); + nue = XMLUtil.findElement(h.getPrimaryConfigurationData(true), "misc", "urn:test:shared"); assertNotNull("after committed change gPCD has new ", nue); assertEquals("new element name is correct", "misc", nue.getLocalName()); assertEquals("new element namespace is correct", "urn:test:shared", nue.getNamespaceURI()); Document doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); - Element configuration = Util.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); + Element configuration = XMLUtil.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); assertNotNull("still has on disk", configuration); - data = Util.findElement(configuration, "data", "urn:test:shared"); + data = XMLUtil.findElement(configuration, "data", "urn:test:shared"); assertNotNull("still has on disk", data); - nue = Util.findElement(data, "misc", "urn:test:shared"); + nue = XMLUtil.findElement(data, "misc", "urn:test:shared"); assertEquals(" not yet on disk", null, nue); pm.saveProject(p); assertTrue("project is not modified after save", !pm.isModified(p)); assertEquals("saving changes fires no new events", 0, l.events().length); - nue = Util.findElement(h.getPrimaryConfigurationData(true), "misc", "urn:test:shared"); + nue = XMLUtil.findElement(h.getPrimaryConfigurationData(true), "misc", "urn:test:shared"); assertNotNull("after save gPCD still has new ", nue); doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); - configuration = Util.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); + configuration = XMLUtil.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); assertNotNull("still has on disk", configuration); - data = Util.findElement(configuration, "data", "urn:test:shared"); + data = XMLUtil.findElement(configuration, "data", "urn:test:shared"); assertNotNull("still has on disk", data); - nue = Util.findElement(data, "misc", "urn:test:shared"); + nue = XMLUtil.findElement(data, "misc", "urn:test:shared"); assertNotNull(" now on disk", nue); // #42147: changes made on disk should result in firing of an AntProjectEvent ProjectManager.mutex().writeAccess(new Mutex.ExceptionAction() { @@ -516,12 +515,12 @@ assertFalse("unexpected change", evs[0].isExpected()); assertEquals("correct new display name", "Some New Name", ProjectUtils.getInformation(p).getDisplayName()); data = h.getPrimaryConfigurationData(true); - Element stuff = Util.findElement(data, "other-shared-stuff", "urn:test:shared"); + Element stuff = XMLUtil.findElement(data, "other-shared-stuff", "urn:test:shared"); assertNotNull("have now", stuff); AuxiliaryConfiguration aux = p.getLookup().lookup(AuxiliaryConfiguration.class); data = aux.getConfigurationFragment("data", "urn:test:shared-aux", true); assertNotNull("have aux ", data); - stuff = Util.findElement(data, "other-aux-shared-stuff", "urn:test:shared-aux"); + stuff = XMLUtil.findElement(data, "other-aux-shared-stuff", "urn:test:shared-aux"); assertNotNull("have now", stuff); // XXX try private.xml too // XXX try modifying both XML files, or different parts of the same, and saving in a batch @@ -551,7 +550,7 @@ assertNotNull("found shared ", data); assertEquals("correct name", "data", data.getLocalName()); assertEquals("correct namespace", "urn:test:shared-aux", data.getNamespaceURI()); - Element stuff = Util.findElement(data, "aux-shared-stuff", "urn:test:shared-aux"); + Element stuff = XMLUtil.findElement(data, "aux-shared-stuff", "urn:test:shared-aux"); assertNotNull("found ", stuff); assertEquals("gCF fires no changes", 0, l.events().length); // Check write of shared data. @@ -567,11 +566,11 @@ pm.saveProject(p); assertEquals("saving project fires no new changes", 0, l.events().length); Document doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); - Element config = Util.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); + Element config = XMLUtil.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); assertNotNull(" still exists", config); - data = Util.findElement(config, "data", "urn:test:shared-aux"); + data = XMLUtil.findElement(config, "data", "urn:test:shared-aux"); assertNotNull(" still exists", data); - stuff = Util.findElement(data, "aux-shared-stuff", "urn:test:shared-aux"); + stuff = XMLUtil.findElement(data, "aux-shared-stuff", "urn:test:shared-aux"); assertNotNull("still have ", stuff); assertEquals("attr written correctly", "val", stuff.getAttribute("attr")); // Check read of private data. @@ -579,7 +578,7 @@ assertNotNull("found shared ", data); assertEquals("correct name", "data", data.getLocalName()); assertEquals("correct namespace", "urn:test:private-aux", data.getNamespaceURI()); - stuff = Util.findElement(data, "aux-private-stuff", "urn:test:private-aux"); + stuff = XMLUtil.findElement(data, "aux-private-stuff", "urn:test:private-aux"); assertNotNull("found ", stuff); assertEquals("gCF fires no changes", 0, l.events().length); // Check write of private data. @@ -596,9 +595,9 @@ assertEquals("saving project fires no new changes", 0, l.events().length); doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PRIVATE_XML_PATH); config = doc.getDocumentElement(); - data = Util.findElement(config, "data", "urn:test:private-aux"); + data = XMLUtil.findElement(config, "data", "urn:test:private-aux"); assertNotNull(" still exists", data); - stuff = Util.findElement(data, "aux-private-stuff", "urn:test:private-aux"); + stuff = XMLUtil.findElement(data, "aux-private-stuff", "urn:test:private-aux"); assertNotNull("still have ", stuff); assertEquals("attr written correctly", "val", stuff.getAttribute("attr")); // Check that missing fragments are not returned. @@ -625,11 +624,11 @@ data = aux.getConfigurationFragment("hello", "urn:test:whatever", true); assertNotNull("can retrieve new frag", data); doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); - config = Util.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); + config = XMLUtil.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); assertNotNull(" still exists", config); - data = Util.findElement(config, "hello", "urn:test:whatever"); + data = XMLUtil.findElement(config, "hello", "urn:test:whatever"); assertNotNull(" still exists", data); - assertEquals("correct nested contents too", "stuff", Util.findText(data)); + assertEquals("correct nested contents too", "stuff", XMLUtil.findText(data)); // Try removing a fragment. assertFalse("project is unmodified", pm.isModified(p)); assertTrue("can remove new frag", aux.removeConfigurationFragment("hello", "urn:test:whatever", true)); @@ -637,9 +636,9 @@ assertNull("now frag is gone", aux.getConfigurationFragment("hello", "urn:test:whatever", true)); pm.saveProject(p); doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); - config = Util.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); + config = XMLUtil.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); assertNotNull(" still exists", config); - data = Util.findElement(config, "hello", "urn:test:whatever"); + data = XMLUtil.findElement(config, "hello", "urn:test:whatever"); assertNull("now is gone", data); assertFalse("cannot remove a frag that is not there", aux.removeConfigurationFragment("hello", "urn:test:whatever", true)); assertFalse("trying to remove a nonexistent frag does not modify project", pm.isModified(p)); @@ -659,7 +658,7 @@ aux.putConfigurationFragment(data, true); pm.saveProject(p); doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); - config = Util.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); + config = XMLUtil.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); String[] names = new String[]{"aaa-namespace", "aaaa-namespace", "bbb-name-sp", "bbb-namespace", "bbb-namespace-1", "ccc-namespace", "data-urn:test:shared", "data-urn:test:shared-aux"}; int count = 0; NodeList list = config.getChildNodes(); @@ -684,7 +683,7 @@ assertNotNull("AuxiliaryConfiguration present", aux); Element data = aux.getConfigurationFragment("data", "urn:test:private-aux", false); - Element stuff = Util.findElement(data, "aux-private-stuff", "urn:test:private-aux"); + Element stuff = XMLUtil.findElement(data, "aux-private-stuff", "urn:test:private-aux"); assertNotNull("found ", stuff); // Check write of private data. stuff.setAttribute("attr", "val"); @@ -710,9 +709,9 @@ //check the data are written: Document doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PRIVATE_XML_PATH); Element config = doc.getDocumentElement(); - data = Util.findElement(config, "data", "urn:test:private-aux"); + data = XMLUtil.findElement(config, "data", "urn:test:private-aux"); assertNotNull(" still exists", data); - stuff = Util.findElement(data, "aux-private-stuff", "urn:test:private-aux"); + stuff = XMLUtil.findElement(data, "aux-private-stuff", "urn:test:private-aux"); assertNotNull("still have ", stuff); assertEquals("attr written correctly", "val", stuff.getAttribute("attr")); diff --git a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/GeneratedFilesHelperTest.java b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/GeneratedFilesHelperTest.java --- a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/GeneratedFilesHelperTest.java +++ b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/GeneratedFilesHelperTest.java @@ -52,13 +52,13 @@ import org.netbeans.api.project.TestUtil; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.project.ant.AntBuildExtenderAccessor; -import org.netbeans.modules.project.ant.Util; import org.netbeans.spi.project.AuxiliaryConfiguration; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.modules.SpecificationVersion; import org.openide.util.Utilities; import org.openide.util.test.MockLookup; +import org.openide.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -111,7 +111,7 @@ assertNull("No build-impl.xml yet", bi); // Modify shared data in a project. Element primdata = h.getPrimaryConfigurationData(true); - Element oldDisplayName = Util.findElement(primdata, "display-name", "urn:test:shared"); + Element oldDisplayName = XMLUtil.findElement(primdata, "display-name", "urn:test:shared"); assertNotNull("had a before", oldDisplayName); Element displayName = primdata.getOwnerDocument().createElementNS("urn:test:shared", "display-name"); displayName.appendChild(primdata.getOwnerDocument().createTextNode("New Name")); @@ -132,7 +132,7 @@ NodeList l = doc.getElementsByTagName("description"); assertEquals("one in build-impl.xml", 1, l.getLength()); el = (Element)l.item(0); - assertEquals("correct description", "New Name", Util.findText(el)); + assertEquals("correct description", "New Name", XMLUtil.findText(el)); // Clear build-impl.xml to test if it is rewritten. bi.delete(); // Now make some irrelevant change - e.g. to private.xml - and check that there is no modification. diff --git a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ProjectGeneratorTest.java b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ProjectGeneratorTest.java --- a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ProjectGeneratorTest.java +++ b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ProjectGeneratorTest.java @@ -49,13 +49,13 @@ import org.netbeans.api.project.TestUtil; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.project.ant.AntBasedProjectFactorySingleton; -import org.netbeans.modules.project.ant.Util; import org.netbeans.api.project.ProjectInformation; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.util.Mutex; import org.openide.util.MutexException; import org.openide.util.test.MockLookup; +import org.openide.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -142,7 +142,7 @@ NodeList l = doc.getElementsByTagNameNS(AntProjectHelper.PROJECT_NS, "type"); assertEquals("one ", 1, l.getLength()); Element el = (Element)l.item(0); - assertEquals("correct saved type", "test", Util.findText(el)); + assertEquals("correct saved type", "test", XMLUtil.findText(el)); l = doc.getElementsByTagNameNS("urn:test:shared", "shared-stuff"); assertEquals("one ", 1, l.getLength()); doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PRIVATE_XML_PATH); diff --git a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ReferenceHelperTest.java b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ReferenceHelperTest.java --- a/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ReferenceHelperTest.java +++ b/project.ant/test/unit/src/org/netbeans/spi/project/support/ant/ReferenceHelperTest.java @@ -63,7 +63,6 @@ import org.netbeans.api.queries.CollocationQuery; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.project.ant.ProjectLibraryProvider; -import org.netbeans.modules.project.ant.Util; import org.netbeans.spi.project.AuxiliaryConfiguration; import org.netbeans.spi.project.SubprojectProvider; import org.netbeans.spi.queries.CollocationQueryImplementation; @@ -71,6 +70,7 @@ import org.openide.filesystems.FileUtil; import org.openide.util.lookup.Lookups; import org.openide.util.test.MockLookup; +import org.openide.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -342,9 +342,9 @@ assertTrue("Project is still modified", pm.isModified(p)); pm.saveProject(p); Document doc = AntBasedTestUtil.slurpXml(h, AntProjectHelper.PROJECT_XML_PATH); - Element config = Util.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); + Element config = XMLUtil.findElement(doc.getDocumentElement(), "configuration", AntProjectHelper.PROJECT_NS); assertNotNull("have ", config); - Element references = Util.findElement(config, ReferenceHelper.REFS_NAME, ReferenceHelper.REFS_NS); + Element references = XMLUtil.findElement(config, ReferenceHelper.REFS_NAME, ReferenceHelper.REFS_NS); assertNotNull("have ", references); NodeList nl = references.getElementsByTagNameNS(ReferenceHelper.REFS_NS, "reference"); assertEquals("have three s", 3, nl.getLength()); @@ -386,9 +386,9 @@ Element reference = (Element)nl.item(i); for (int j = 0; j < 6; j++) { String elementName = elementNames[j]; - Element element = Util.findElement(reference, elementName, ReferenceHelper.REFS_NS); + Element element = XMLUtil.findElement(reference, elementName, ReferenceHelper.REFS_NS); assertNotNull("had element " + elementName + " in ref #" + i, element); - assertEquals("correct text in " + elementName + " in ref #" + i, values[i][j], Util.findText(element)); + assertEquals("correct text in " + elementName + " in ref #" + i, values[i][j], XMLUtil.findText(element)); } } } @@ -1080,9 +1080,9 @@ Element refs = p.getLookup().lookup(AuxiliaryConfiguration.class).getConfigurationFragment(ReferenceHelper.REFS_NAME, namespace, true); assertNotNull(refs); List actualScriptLocations = new ArrayList(); - for (Element ref : Util.findSubElements(refs)) { - Element script = Util.findElement(ref, "script", namespace); - actualScriptLocations.add(Util.findText(script)); + for (Element ref : XMLUtil.findSubElements(refs)) { + Element script = XMLUtil.findElement(ref, "script", namespace); + actualScriptLocations.add(XMLUtil.findText(script)); } assertEquals(Arrays.asList(scriptLocations), actualScriptLocations); }