diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/Actions.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/Actions.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/Actions.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/Actions.java @@ -64,7 +64,6 @@ import javax.swing.AbstractAction; import javax.swing.Action; import org.apache.tools.ant.module.api.support.ActionUtils; -import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.modules.ant.freeform.ui.TargetMappingPanel; import org.netbeans.modules.ant.freeform.ui.UnboundTargetAlert; import org.netbeans.spi.project.ActionProvider; @@ -83,6 +82,7 @@ import org.openide.util.NbBundle; import org.openide.util.Utilities; import org.openide.util.actions.SystemAction; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -135,13 +135,13 @@ public String[] getSupportedActions() { Element genldata = project.getPrimaryConfigurationData(); - Element actionsEl = Util.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N + Element actionsEl = XMLUtil.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N if (actionsEl == null) { return new String[0]; } // Use a set, not a list, since when using context you can define one action several times: Set names = new LinkedHashSet(); - for (Element actionEl : Util.findSubElements(actionsEl)) { + for (Element actionEl : XMLUtil.findSubElements(actionsEl)) { names.add(actionEl.getAttribute("name")); // NOI18N } // #46886: also always enable all common global actions, in case they should be selected: @@ -168,16 +168,16 @@ } Element genldata = project.getPrimaryConfigurationData(); - Element actionsEl = Util.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N + Element actionsEl = XMLUtil.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N if (actionsEl == null) { throw new IllegalArgumentException("No commands supported"); // NOI18N } boolean foundAction = false; - for (Element actionEl : Util.findSubElements(actionsEl)) { + for (Element actionEl : XMLUtil.findSubElements(actionsEl)) { if (actionEl.getAttribute("name").equals(command)) { // NOI18N foundAction = true; // XXX perhaps check also existence of script - Element contextEl = Util.findElement(actionEl, "context", FreeformProjectType.NS_GENERAL); // NOI18N + Element contextEl = XMLUtil.findElement(actionEl, "context", FreeformProjectType.NS_GENERAL); // NOI18N if (contextEl != null) { // Check whether the context contains files all in this folder, // matching the pattern if any, and matching the arity (single/multiple). @@ -188,9 +188,9 @@ return true; } else if (!selection.isEmpty()) { // Multiple selection; check arity. - Element arityEl = Util.findElement(contextEl, "arity", FreeformProjectType.NS_GENERAL); // NOI18N + Element arityEl = XMLUtil.findElement(contextEl, "arity", FreeformProjectType.NS_GENERAL); // NOI18N assert arityEl != null : "No in for " + command; - if (Util.findElement(arityEl, "separated-files", FreeformProjectType.NS_GENERAL) != null) { // NOI18N + if (XMLUtil.findElement(arityEl, "separated-files", FreeformProjectType.NS_GENERAL) != null) { // NOI18N // Supports multiple selection, take it. return true; } @@ -232,12 +232,12 @@ } Element genldata = project.getPrimaryConfigurationData(); - Element actionsEl = Util.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N + Element actionsEl = XMLUtil.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N if (actionsEl == null) { throw new IllegalArgumentException("No commands supported"); // NOI18N } boolean foundAction = false; - for (Element actionEl : Util.findSubElements(actionsEl)) { + for (Element actionEl : XMLUtil.findSubElements(actionsEl)) { if (actionEl.getAttribute("name").equals(command)) { // NOI18N foundAction = true; runConfiguredAction(project, actionEl, context); @@ -272,9 +272,9 @@ _files.add(d.getPrimaryFile()); } Collection files = _files; - Element folderEl = Util.findElement(contextEl, "folder", FreeformProjectType.NS_GENERAL); // NOI18N + Element folderEl = XMLUtil.findElement(contextEl, "folder", FreeformProjectType.NS_GENERAL); // NOI18N assert folderEl != null : "Must have in "; - String rawtext = Util.findText(folderEl); + String rawtext = XMLUtil.findText(folderEl); assert rawtext != null : "Must have text contents in "; String evaltext = project.evaluator().evaluate(rawtext); if (evaltext == null) { @@ -285,9 +285,9 @@ return Collections.emptyMap(); } Pattern pattern = null; - Element patternEl = Util.findElement(contextEl, "pattern", FreeformProjectType.NS_GENERAL); // NOI18N + Element patternEl = XMLUtil.findElement(contextEl, "pattern", FreeformProjectType.NS_GENERAL); // NOI18N if (patternEl != null) { - String text = Util.findText(patternEl); + String text = XMLUtil.findText(patternEl); assert text != null : "Must have text contents in "; try { pattern = Pattern.compile(text); @@ -316,9 +316,9 @@ */ private static void runConfiguredAction(FreeformProject project, Element actionEl, Lookup context) { String script; - Element scriptEl = Util.findElement(actionEl, "script", FreeformProjectType.NS_GENERAL); // NOI18N + Element scriptEl = XMLUtil.findElement(actionEl, "script", FreeformProjectType.NS_GENERAL); // NOI18N if (scriptEl != null) { - script = Util.findText(scriptEl); + script = XMLUtil.findText(scriptEl); } else { script = "build.xml"; // NOI18N } @@ -334,13 +334,13 @@ DialogDisplayer.getDefault().notify(nd); return; } - List targets = Util.findSubElements(actionEl); + List targets = XMLUtil.findSubElements(actionEl); List targetNames = new ArrayList(targets.size()); for (Element targetEl : targets) { if (!targetEl.getLocalName().equals("target")) { // NOI18N continue; } - targetNames.add(Util.findText(targetEl)); + targetNames.add(XMLUtil.findText(targetEl)); } String[] targetNameArray; if (!targetNames.isEmpty()) { @@ -350,7 +350,7 @@ targetNameArray = null; } Properties props = new Properties(); - Element contextEl = Util.findElement(actionEl, "context", FreeformProjectType.NS_GENERAL); // NOI18N + Element contextEl = XMLUtil.findElement(actionEl, "context", FreeformProjectType.NS_GENERAL); // NOI18N if (contextEl != null) { Map selection = findSelection(contextEl, context, project); if (selection.isEmpty()) { @@ -359,18 +359,18 @@ String separator = null; if (selection.size() > 1) { // Find the right separator. - Element arityEl = Util.findElement(contextEl, "arity", FreeformProjectType.NS_GENERAL); // NOI18N + Element arityEl = XMLUtil.findElement(contextEl, "arity", FreeformProjectType.NS_GENERAL); // NOI18N assert arityEl != null : "No in for " + actionEl.getAttribute("name"); - Element sepFilesEl = Util.findElement(arityEl, "separated-files", FreeformProjectType.NS_GENERAL); // NOI18N + Element sepFilesEl = XMLUtil.findElement(arityEl, "separated-files", FreeformProjectType.NS_GENERAL); // NOI18N if (sepFilesEl == null) { // Only handles single files -> skip it. return; } - separator = Util.findText(sepFilesEl); + separator = XMLUtil.findText(sepFilesEl); } - Element formatEl = Util.findElement(contextEl, "format", FreeformProjectType.NS_GENERAL); // NOI18N + Element formatEl = XMLUtil.findElement(contextEl, "format", FreeformProjectType.NS_GENERAL); // NOI18N assert formatEl != null : "No in for " + actionEl.getAttribute("name"); - String format = Util.findText(formatEl); + String format = XMLUtil.findText(formatEl); StringBuffer buf = new StringBuffer(); Iterator> it = selection.entrySet().iterator(); while (it.hasNext()) { @@ -421,9 +421,9 @@ buf.append(separator); } } - Element propEl = Util.findElement(contextEl, "property", FreeformProjectType.NS_GENERAL); // NOI18N + Element propEl = XMLUtil.findElement(contextEl, "property", FreeformProjectType.NS_GENERAL); // NOI18N assert propEl != null : "No in for " + actionEl.getAttribute("name"); - String prop = Util.findText(propEl); + String prop = XMLUtil.findText(propEl); assert prop != null : "Must have text contents in "; props.setProperty(prop, buf.toString()); } @@ -431,7 +431,7 @@ if (!propEl.getLocalName().equals("property")) { // NOI18N continue; } - String rawtext = Util.findText(propEl); + String rawtext = XMLUtil.findText(propEl); if (rawtext == null) { // Legal to have e.g. rawtext = ""; // NOI18N @@ -454,12 +454,12 @@ actions.add(CommonProjectActions.newFileAction()); // Requested actions. Element genldata = p.getPrimaryConfigurationData(); - Element viewEl = Util.findElement(genldata, "view", FreeformProjectType.NS_GENERAL); // NOI18N + Element viewEl = XMLUtil.findElement(genldata, "view", FreeformProjectType.NS_GENERAL); // NOI18N if (viewEl != null) { - Element contextMenuEl = Util.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N + Element contextMenuEl = XMLUtil.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N if (contextMenuEl != null) { actions.add(null); - for (Element actionEl : Util.findSubElements(contextMenuEl)) { + for (Element actionEl : XMLUtil.findSubElements(contextMenuEl)) { if (actionEl.getLocalName().equals("ide-action")) { // NOI18N String cmd = actionEl.getAttribute("name"); String displayName; @@ -517,9 +517,9 @@ public boolean isEnabled() { String script; - Element scriptEl = Util.findElement(actionEl, "script", FreeformProjectType.NS_GENERAL); // NOI18N + Element scriptEl = XMLUtil.findElement(actionEl, "script", FreeformProjectType.NS_GENERAL); // NOI18N if (scriptEl != null) { - script = Util.findText(scriptEl); + script = XMLUtil.findText(scriptEl); } else { script = "build.xml"; // NOI18N } @@ -529,8 +529,8 @@ public Object getValue(String key) { if (key.equals(Action.NAME)) { - Element labelEl = Util.findElement(actionEl, "label", FreeformProjectType.NS_GENERAL); // NOI18N - return Util.findText(labelEl); + Element labelEl = XMLUtil.findElement(actionEl, "label", FreeformProjectType.NS_GENERAL); // NOI18N + return XMLUtil.findText(labelEl); } else { return super.getValue(key); } diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/ArtifactProvider.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/ArtifactProvider.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/ArtifactProvider.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/ArtifactProvider.java @@ -47,16 +47,15 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import org.netbeans.api.project.Project; import org.netbeans.api.project.ant.AntArtifact; -import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.spi.project.ant.AntArtifactProvider; import org.netbeans.spi.project.support.ant.PropertyEvaluator; import org.openide.ErrorManager; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -76,7 +75,7 @@ List artifacts = new ArrayList(); Set ids = new HashSet(); HashMap uniqueArtifacts = new HashMap(); - for (Element export : Util.findSubElements(data)) { + for (Element export : XMLUtil.findSubElements(data)) { if (!export.getLocalName().equals("export")) { // NOI18N continue; } @@ -112,9 +111,9 @@ } public static URI readArtifactLocation(Element export, PropertyEvaluator eval) { - Element locEl = Util.findElement(export, "location", FreeformProjectType.NS_GENERAL); // NOI18N + Element locEl = XMLUtil.findElement(export, "location", FreeformProjectType.NS_GENERAL); // NOI18N assert locEl != null; - String loc = Util.findText(locEl); + String loc = XMLUtil.findText(locEl); assert loc != null; String locationResolved = eval.evaluate(loc); if (locationResolved == null) { @@ -154,40 +153,40 @@ } public String getType() { - Element typeEl = Util.findElement(export, "type", FreeformProjectType.NS_GENERAL); // NOI18N + Element typeEl = XMLUtil.findElement(export, "type", FreeformProjectType.NS_GENERAL); // NOI18N assert typeEl != null; - String type = Util.findText(typeEl); + String type = XMLUtil.findText(typeEl); assert type != null; return type; } public String getTargetName() { - Element targetEl = Util.findElement(export, "build-target", FreeformProjectType.NS_GENERAL); // NOI18N + Element targetEl = XMLUtil.findElement(export, "build-target", FreeformProjectType.NS_GENERAL); // NOI18N assert targetEl != null; - String target = Util.findText(targetEl); + String target = XMLUtil.findText(targetEl); assert target != null; return target; } public String getCleanTargetName() { - Element targetEl = Util.findElement(export, "clean-target", FreeformProjectType.NS_GENERAL); // NOI18N + Element targetEl = XMLUtil.findElement(export, "clean-target", FreeformProjectType.NS_GENERAL); // NOI18N if (targetEl != null) { - String target = Util.findText(targetEl); + String target = XMLUtil.findText(targetEl); assert target != null; return target; } else { // Guess based on configured target for 'clean' command, if any. String target = null; Element genldata = project.getPrimaryConfigurationData(); - Element actionsEl = Util.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N + Element actionsEl = XMLUtil.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N if (actionsEl != null) { - for (Element actionEl : Util.findSubElements(actionsEl)) { + for (Element actionEl : XMLUtil.findSubElements(actionsEl)) { if (actionEl.getAttribute("name").equals("clean")) { // NOI18N - for (Element actionTargetEl : Util.findSubElements(actionEl)) { + for (Element actionTargetEl : XMLUtil.findSubElements(actionEl)) { if (!actionTargetEl.getLocalName().equals("target")) { // NOI18N continue; } - String possibleTarget = Util.findText(actionTargetEl); + String possibleTarget = XMLUtil.findText(actionTargetEl); assert possibleTarget != null; if (target == null) { // OK, probably use it (unless there is another target for this command). @@ -213,9 +212,9 @@ public File getScriptLocation() { String loc = null; - Element scriptEl = Util.findElement(export, "script", FreeformProjectType.NS_GENERAL); // NOI18N + Element scriptEl = XMLUtil.findElement(export, "script", FreeformProjectType.NS_GENERAL); // NOI18N if (scriptEl != null) { - String script = Util.findText(scriptEl); + String script = XMLUtil.findText(scriptEl); assert script != null; loc = project.evaluator().evaluate(script); } diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformEvaluator.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformEvaluator.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformEvaluator.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformEvaluator.java @@ -52,7 +52,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.spi.project.support.ant.AntProjectEvent; import org.netbeans.spi.project.support.ant.AntProjectListener; import org.netbeans.spi.project.support.ant.PropertyEvaluator; @@ -60,6 +59,7 @@ import org.netbeans.spi.project.support.ant.PropertyUtils; import org.openide.ErrorManager; import org.openide.util.Parameters; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -105,18 +105,18 @@ PropertyProvider preprovider = project.helper().getStockPropertyPreprovider(); List defs = new ArrayList(); Element genldata = project.getPrimaryConfigurationData(); - Element properties = Util.findElement(genldata, "properties", FreeformProjectType.NS_GENERAL); // NOI18N + Element properties = XMLUtil.findElement(genldata, "properties", FreeformProjectType.NS_GENERAL); // NOI18N if (properties != null) { - for (Element e : Util.findSubElements(properties)) { + for (Element e : XMLUtil.findSubElements(properties)) { if (e.getLocalName().equals("property")) { // NOI18N - String val = Util.findText(e); + String val = XMLUtil.findText(e); if (val == null) { val = ""; } defs.add(PropertyUtils.fixedPropertyProvider(Collections.singletonMap(e.getAttribute("name"), val))); // NOI18N } else { assert e.getLocalName().equals("property-file") : e; - String fname = Util.findText(e); + String fname = XMLUtil.findText(e); if (fname.contains("${")) { // NOI18N // Tricky (#48230): need to listen to changes in the location of the file as well as its contents. PropertyEvaluator intermediate = PropertyUtils.sequentialPropertyEvaluator(preprovider, defs.toArray(new PropertyProvider[defs.size()])); diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformFileEncodingQueryImpl.java @@ -60,6 +60,7 @@ import org.netbeans.spi.project.support.ant.PropertyEvaluator; import org.openide.util.Exceptions; import org.openide.util.Mutex; +import org.openide.xml.XMLUtil; /** * Implementation of FileEncodingQuery for Freeform project, its instance can be @@ -114,23 +115,23 @@ private void computeEncodingsCache() { Map cache = new HashMap(3); Element data = Util.getPrimaryConfigurationData(helper); - Element foldersEl = Util.findElement(data, "folders", Util.NAMESPACE); // NOI18N + Element foldersEl = XMLUtil.findElement(data, "folders", Util.NAMESPACE); // NOI18N if (foldersEl != null) { - for (Element sourceFolderEl : Util.findSubElements(foldersEl)) { + for (Element sourceFolderEl : XMLUtil.findSubElements(foldersEl)) { if (!sourceFolderEl.getLocalName().equals("source-folder")) { // NOI18N continue; } FileObject srcRoot = null; - Element locationEl = Util.findElement(sourceFolderEl, "location", Util.NAMESPACE); // NOI18N + Element locationEl = XMLUtil.findElement(sourceFolderEl, "location", Util.NAMESPACE); // NOI18N if (locationEl != null) { - String location = evaluator.evaluate(Util.findText(locationEl)); + String location = evaluator.evaluate(XMLUtil.findText(locationEl)); if (location != null) { srcRoot = helper.resolveFileObject(location); } } - Element encodingEl = Util.findElement(sourceFolderEl, "encoding", Util.NAMESPACE); // NOI18N + Element encodingEl = XMLUtil.findElement(sourceFolderEl, "encoding", Util.NAMESPACE); // NOI18N if (encodingEl != null && srcRoot != null) { - String encoding = evaluator.evaluate(Util.findText(encodingEl)); + String encoding = evaluator.evaluate(XMLUtil.findText(encodingEl)); Charset charset = null; if (encoding != null) { try { diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProject.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProject.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProject.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProject.java @@ -46,7 +46,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.Icon; -import javax.swing.ImageIcon; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectInformation; import org.netbeans.api.project.ProjectManager; @@ -66,6 +65,7 @@ import org.openide.util.Lookup; import org.openide.util.Mutex; import org.openide.util.lookup.Lookups; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -196,12 +196,12 @@ return ProjectManager.mutex().readAccess(new Mutex.Action() { public String run() { Element genldata = getPrimaryConfigurationData(); - Element nameEl = Util.findElement(genldata, "name", FreeformProjectType.NS_GENERAL); // NOI18N + Element nameEl = XMLUtil.findElement(genldata, "name", FreeformProjectType.NS_GENERAL); // NOI18N if (nameEl == null) { // Corrupt. Cf. #48267 (cause unknown). return "???"; // NOI18N } - return Util.findText(nameEl); + return XMLUtil.findText(nameEl); } }); } diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectGenerator.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectGenerator.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectGenerator.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectGenerator.java @@ -63,6 +63,7 @@ import org.openide.filesystems.FileStateInvalidException; import org.openide.filesystems.FileUtil; import org.openide.util.NbBundle; +import org.openide.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -196,47 +197,47 @@ //assert ProjectManager.mutex().isReadAccess() || ProjectManager.mutex().isWriteAccess(); List list = new ArrayList(); Element genldata = Util.getPrimaryConfigurationData(helper); - Element actionsEl = Util.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N + Element actionsEl = XMLUtil.findElement(genldata, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N if (actionsEl == null) { return list; } - for (Element actionEl : Util.findSubElements(actionsEl)) { + for (Element actionEl : XMLUtil.findSubElements(actionsEl)) { TargetMapping tm = new TargetMapping(); tm.name = actionEl.getAttribute("name"); // NOI18N List targetNames = new ArrayList(); EditableProperties props = new EditableProperties(false); - for (Element subEl : Util.findSubElements(actionEl)) { + for (Element subEl : XMLUtil.findSubElements(actionEl)) { if (subEl.getLocalName().equals("target")) { // NOI18N - targetNames.add(Util.findText(subEl)); + targetNames.add(XMLUtil.findText(subEl)); continue; } if (subEl.getLocalName().equals("script")) { // NOI18N - tm.script = Util.findText(subEl); + tm.script = XMLUtil.findText(subEl); continue; } if (subEl.getLocalName().equals("context")) { // NOI18N TargetMapping.Context ctx = new TargetMapping.Context(); - for (Element contextSubEl : Util.findSubElements(subEl)) { + for (Element contextSubEl : XMLUtil.findSubElements(subEl)) { if (contextSubEl.getLocalName().equals("property")) { // NOI18N - ctx.property = Util.findText(contextSubEl); + ctx.property = XMLUtil.findText(contextSubEl); continue; } if (contextSubEl.getLocalName().equals("format")) { // NOI18N - ctx.format = Util.findText(contextSubEl); + ctx.format = XMLUtil.findText(contextSubEl); continue; } if (contextSubEl.getLocalName().equals("folder")) { // NOI18N - ctx.folder = Util.findText(contextSubEl); + ctx.folder = XMLUtil.findText(contextSubEl); continue; } if (contextSubEl.getLocalName().equals("pattern")) { // NOI18N - ctx.pattern = Util.findText(contextSubEl); + ctx.pattern = XMLUtil.findText(contextSubEl); continue; } if (contextSubEl.getLocalName().equals("arity")) { // NOI18N - Element sepFilesEl = Util.findElement(contextSubEl, "separated-files", FreeformProjectType.NS_GENERAL); // NOI18N + Element sepFilesEl = XMLUtil.findElement(contextSubEl, "separated-files", FreeformProjectType.NS_GENERAL); // NOI18N if (sepFilesEl != null) { - ctx.separator = Util.findText(sepFilesEl); + ctx.separator = XMLUtil.findText(sepFilesEl); } continue; } @@ -259,7 +260,7 @@ private static void readProperty(Element propertyElement, EditableProperties props) { String key = propertyElement.getAttribute("name"); // NOI18N - String value = Util.findText(propertyElement); + String value = XMLUtil.findText(propertyElement); props.setProperty(key, value); } @@ -273,7 +274,7 @@ //assert ProjectManager.mutex().isWriteAccess(); Element data = Util.getPrimaryConfigurationData(helper); Document doc = data.getOwnerDocument(); - Element actions = Util.findElement(data, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N + Element actions = XMLUtil.findElement(data, "ide-actions", FreeformProjectType.NS_GENERAL); // NOI18N if (actions != null) { data.removeChild(actions); } @@ -331,7 +332,7 @@ } actions.appendChild(action); } - Util.appendChildElement(data, actions, rootElementsOrder); + XMLUtil.appendChildElement(data, actions, rootElementsOrder); Util.putPrimaryConfigurationData(helper, data); } @@ -357,17 +358,17 @@ //assert ProjectManager.mutex().isWriteAccess(); Element data = Util.getPrimaryConfigurationData(helper); Document doc = data.getOwnerDocument(); - Element viewEl = Util.findElement(data, "view", FreeformProjectType.NS_GENERAL); // NOI18N + Element viewEl = XMLUtil.findElement(data, "view", FreeformProjectType.NS_GENERAL); // NOI18N if (viewEl == null) { viewEl = doc.createElementNS(FreeformProjectType.NS_GENERAL, "view"); // NOI18N - Util.appendChildElement(data, viewEl, rootElementsOrder); + XMLUtil.appendChildElement(data, viewEl, rootElementsOrder); } - Element contextMenuEl = Util.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N + Element contextMenuEl = XMLUtil.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N if (contextMenuEl == null) { contextMenuEl = doc.createElementNS(FreeformProjectType.NS_GENERAL, "context-menu"); // NOI18N - Util.appendChildElement(viewEl, contextMenuEl, viewElementsOrder); + XMLUtil.appendChildElement(viewEl, contextMenuEl, viewElementsOrder); } - for (Element ideActionEl : Util.findSubElements(contextMenuEl)) { + for (Element ideActionEl : XMLUtil.findSubElements(contextMenuEl)) { if (!ideActionEl.getLocalName().equals("ide-action")) { // NOI18N continue; } @@ -380,7 +381,7 @@ } Element ideAction = doc.createElementNS(FreeformProjectType.NS_GENERAL, "ide-action"); //NOI18N ideAction.setAttribute("name", tm.name); // NOI18N - Util.appendChildElement(contextMenuEl, ideAction, contextMenuElementsOrder); + XMLUtil.appendChildElement(contextMenuEl, ideAction, contextMenuElementsOrder); } Util.putPrimaryConfigurationData(helper, data); } @@ -394,32 +395,32 @@ //assert ProjectManager.mutex().isReadAccess() || ProjectManager.mutex().isWriteAccess(); List list = new ArrayList(); Element genldata = Util.getPrimaryConfigurationData(helper); - Element viewEl = Util.findElement(genldata, "view", FreeformProjectType.NS_GENERAL); // NOI18N + Element viewEl = XMLUtil.findElement(genldata, "view", FreeformProjectType.NS_GENERAL); // NOI18N if (viewEl == null) { return list; } - Element contextMenuEl = Util.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N + Element contextMenuEl = XMLUtil.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N if (contextMenuEl == null) { return list; } - for (Element actionEl : Util.findSubElements(contextMenuEl)) { + for (Element actionEl : XMLUtil.findSubElements(contextMenuEl)) { if (!actionEl.getLocalName().equals("action")) { // NOI18N continue; } CustomTarget ct = new CustomTarget(); List targetNames = new ArrayList(); EditableProperties props = new EditableProperties(false); - for (Element subEl : Util.findSubElements(actionEl)) { + for (Element subEl : XMLUtil.findSubElements(actionEl)) { if (subEl.getLocalName().equals("target")) { // NOI18N - targetNames.add(Util.findText(subEl)); + targetNames.add(XMLUtil.findText(subEl)); continue; } if (subEl.getLocalName().equals("script")) { // NOI18N - ct.script = Util.findText(subEl); + ct.script = XMLUtil.findText(subEl); continue; } if (subEl.getLocalName().equals("label")) { // NOI18N - ct.label = Util.findText(subEl); + ct.label = XMLUtil.findText(subEl); continue; } if (subEl.getLocalName().equals("property")) { // NOI18N @@ -448,17 +449,17 @@ //assert ProjectManager.mutex().isWriteAccess(); Element data = Util.getPrimaryConfigurationData(helper); Document doc = data.getOwnerDocument(); - Element viewEl = Util.findElement(data, "view", FreeformProjectType.NS_GENERAL); // NOI18N + Element viewEl = XMLUtil.findElement(data, "view", FreeformProjectType.NS_GENERAL); // NOI18N if (viewEl == null) { viewEl = doc.createElementNS(FreeformProjectType.NS_GENERAL, "view"); // NOI18N - Util.appendChildElement(data, viewEl, rootElementsOrder); + XMLUtil.appendChildElement(data, viewEl, rootElementsOrder); } - Element contextMenuEl = Util.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N + Element contextMenuEl = XMLUtil.findElement(viewEl, "context-menu", FreeformProjectType.NS_GENERAL); // NOI18N if (contextMenuEl == null) { contextMenuEl = doc.createElementNS(FreeformProjectType.NS_GENERAL, "context-menu"); // NOI18N - Util.appendChildElement(viewEl, contextMenuEl, viewElementsOrder); + XMLUtil.appendChildElement(viewEl, contextMenuEl, viewElementsOrder); } - for (Element actionEl : Util.findSubElements(contextMenuEl)) { + for (Element actionEl : XMLUtil.findSubElements(contextMenuEl)) { if (!actionEl.getLocalName().equals("action")) { // NOI18N continue; } @@ -484,7 +485,7 @@ if (ct.properties != null) { writeProperties(ct.properties, doc, action); } - Util.appendChildElement(contextMenuEl, action, contextMenuElementsOrder); + XMLUtil.appendChildElement(contextMenuEl, action, contextMenuElementsOrder); } Util.putPrimaryConfigurationData(helper, data); } @@ -523,21 +524,21 @@ private static void putBuildXMLSourceFile(AntProjectHelper helper, String antPath) { Element data = Util.getPrimaryConfigurationData(helper); Document doc = data.getOwnerDocument(); - Element viewEl = Util.findElement(data, "view", FreeformProjectType.NS_GENERAL); // NOI18N + Element viewEl = XMLUtil.findElement(data, "view", FreeformProjectType.NS_GENERAL); // NOI18N if (viewEl == null) { viewEl = doc.createElementNS(FreeformProjectType.NS_GENERAL, "view"); // NOI18N - Util.appendChildElement(data, viewEl, rootElementsOrder); + XMLUtil.appendChildElement(data, viewEl, rootElementsOrder); } - Element itemsEl = Util.findElement(viewEl, "items", FreeformProjectType.NS_GENERAL); // NOI18N + Element itemsEl = XMLUtil.findElement(viewEl, "items", FreeformProjectType.NS_GENERAL); // NOI18N if (itemsEl == null) { itemsEl = doc.createElementNS(FreeformProjectType.NS_GENERAL, "items"); // NOI18N - Util.appendChildElement(viewEl, itemsEl, viewElementsOrder); + XMLUtil.appendChildElement(viewEl, itemsEl, viewElementsOrder); } Element fileEl = doc.createElementNS(FreeformProjectType.NS_GENERAL, "source-file"); // NOI18N Element el = doc.createElementNS(FreeformProjectType.NS_GENERAL, "location"); // NOI18N el.appendChild(doc.createTextNode(antPath)); // NOI18N fileEl.appendChild(el); - Util.appendChildElement(itemsEl, fileEl, viewItemElementsOrder); + XMLUtil.appendChildElement(itemsEl, fileEl, viewItemElementsOrder); Util.putPrimaryConfigurationData(helper, data); } diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectOperations.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectOperations.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectOperations.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProjectOperations.java @@ -45,18 +45,15 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.List; import org.netbeans.api.project.Project; -import org.netbeans.api.project.ProjectManager; -import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.spi.project.CopyOperationImplementation; import org.netbeans.spi.project.DeleteOperationImplementation; import org.netbeans.spi.project.MoveOperationImplementation; import org.netbeans.spi.project.support.ant.PropertyEvaluator; -import org.openide.ErrorManager; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -90,8 +87,8 @@ public List getDataFiles() { Element genldata = project.getPrimaryConfigurationData(); - Element foldersEl = Util.findElement(genldata, "folders", FreeformProjectType.NS_GENERAL); // NOI18N - List folders = foldersEl != null ? Util.findSubElements(foldersEl) : Collections.emptyList(); + Element foldersEl = XMLUtil.findElement(genldata, "folders", FreeformProjectType.NS_GENERAL); // NOI18N + List folders = foldersEl != null ? XMLUtil.findSubElements(foldersEl) : Collections.emptyList(); List result = new ArrayList(); for (Element el : folders) { @@ -106,14 +103,14 @@ } private void addFile(Element folder, List result) { - Element location = Util.findElement(folder, "location", FreeformProjectType.NS_GENERAL); // NOI18N + Element location = XMLUtil.findElement(folder, "location", FreeformProjectType.NS_GENERAL); // NOI18N if (location == null) { return ; } PropertyEvaluator evaluator = project.evaluator(); - String val = evaluator.evaluate(Util.findText(location)); + String val = evaluator.evaluate(XMLUtil.findText(location)); if (val == null) { return ; diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSharabilityQuery.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSharabilityQuery.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSharabilityQuery.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSharabilityQuery.java @@ -54,9 +54,7 @@ import org.openide.filesystems.FileUtil; import org.openide.xml.XMLUtil; import org.w3c.dom.Element; -import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import org.w3c.dom.Text; /** * @@ -117,9 +115,9 @@ final NodeList exports = root.getElementsByTagNameNS(FreeformProjectType.NS_GENERAL, "export"); //NOI18N for (int i=0; i< exports.getLength(); i++) { final Element export = (Element) exports.item(i); - final Element location = Util.findElement(export, "location", FreeformProjectType.NS_GENERAL); //NOI18N + final Element location = XMLUtil.findElement(export, "location", FreeformProjectType.NS_GENERAL); //NOI18N if (location != null) { - final String path = Util.findText(location); + final String path = XMLUtil.findText(location); if (path != null) { final File exportedFile = Util.resolveFile(project.evaluator(), FileUtil.toFile(project.getProjectDirectory()), path); if (exportedFile != null) { diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSources.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSources.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSources.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSources.java @@ -46,12 +46,12 @@ import org.netbeans.api.project.ProjectManager; import org.netbeans.api.project.SourceGroup; import org.netbeans.api.project.Sources; -import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.spi.project.support.ant.AntProjectEvent; import org.netbeans.spi.project.support.ant.AntProjectListener; import org.netbeans.spi.project.support.ant.SourcesHelper; import org.openide.util.ChangeSupport; import org.openide.util.Mutex; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -86,32 +86,32 @@ private Sources initSources() { SourcesHelper h = new SourcesHelper(project, project.helper(), project.evaluator()); Element genldata = project.getPrimaryConfigurationData(); - Element foldersE = Util.findElement(genldata, "folders", FreeformProjectType.NS_GENERAL); // NOI18N + Element foldersE = XMLUtil.findElement(genldata, "folders", FreeformProjectType.NS_GENERAL); // NOI18N if (foldersE != null) { - for (Element folderE : Util.findSubElements(foldersE)) { - Element locationE = Util.findElement(folderE, "location", FreeformProjectType.NS_GENERAL); // NOI18N - String location = Util.findText(locationE); + for (Element folderE : XMLUtil.findSubElements(foldersE)) { + Element locationE = XMLUtil.findElement(folderE, "location", FreeformProjectType.NS_GENERAL); // NOI18N + String location = XMLUtil.findText(locationE); if (folderE.getLocalName().equals("build-folder")) { // NOI18N h.addNonSourceRoot(location); } else if (folderE.getLocalName().equals("build-file")) { // NOI18N h.addOwnedFile(location); } else { assert folderE.getLocalName().equals("source-folder") : folderE; - Element nameE = Util.findElement(folderE, "label", FreeformProjectType.NS_GENERAL); // NOI18N - String name = Util.findText(nameE); - Element typeE = Util.findElement(folderE, "type", FreeformProjectType.NS_GENERAL); // NOI18N + Element nameE = XMLUtil.findElement(folderE, "label", FreeformProjectType.NS_GENERAL); // NOI18N + String name = XMLUtil.findText(nameE); + Element typeE = XMLUtil.findElement(folderE, "type", FreeformProjectType.NS_GENERAL); // NOI18N String includes = null; - Element includesE = Util.findElement(folderE, "includes", FreeformProjectType.NS_GENERAL); // NOI18N + Element includesE = XMLUtil.findElement(folderE, "includes", FreeformProjectType.NS_GENERAL); // NOI18N if (includesE != null) { - includes = Util.findText(includesE); + includes = XMLUtil.findText(includesE); } String excludes = null; - Element excludesE = Util.findElement(folderE, "excludes", FreeformProjectType.NS_GENERAL); // NOI18N + Element excludesE = XMLUtil.findElement(folderE, "excludes", FreeformProjectType.NS_GENERAL); // NOI18N if (excludesE != null) { - excludes = Util.findText(excludesE); + excludes = XMLUtil.findText(excludesE); } if (typeE != null) { - String type = Util.findText(typeE); + String type =XMLUtil.findText(typeE); h.addTypedSourceRoot(location, includes, excludes, type, name, null, null); } else { h.addPrincipalSourceRoot(location, includes, excludes, name, null, null); diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformTemplateAttributesProvider.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformTemplateAttributesProvider.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformTemplateAttributesProvider.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformTemplateAttributesProvider.java @@ -51,6 +51,7 @@ import org.openide.loaders.CreateFromTemplateAttributesProvider; import org.openide.loaders.DataFolder; import org.openide.loaders.DataObject; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -77,14 +78,14 @@ public Map attributesFor(DataObject template, DataFolder target, String name) { Element primData = Util.getPrimaryConfigurationData(helper); - Element licenseEl = Util.findElement(primData, "project-license", Util.NAMESPACE); // NOI18N + Element licenseEl = XMLUtil.findElement(primData, "project-license", Util.NAMESPACE); // NOI18N Charset charset = encodingQuery.getEncoding(target.getPrimaryFile()); if (licenseEl == null && charset == null) { return null; } else { Map values = new HashMap(); if (licenseEl != null) { - values.put("license", evaluator.evaluate(Util.findText(licenseEl))); // NOI18N + values.put("license", evaluator.evaluate(XMLUtil.findText(licenseEl))); // NOI18N } if (charset != null) { values.put("encoding", charset.name()); // NOI18N diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/Subprojects.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/Subprojects.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/Subprojects.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/Subprojects.java @@ -46,15 +46,14 @@ import java.util.Collections; import java.util.HashSet; import java.util.Iterator; -import java.util.List; import java.util.Set; import javax.swing.event.ChangeListener; import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectManager; -import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.spi.project.SubprojectProvider; import org.openide.ErrorManager; import org.openide.filesystems.FileObject; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -88,11 +87,11 @@ */ private Set createSubprojects(Set subprojects) { Element config = project.getPrimaryConfigurationData(); - Element subprjsEl = Util.findElement(config, "subprojects", FreeformProjectType.NS_GENERAL); // NOI18N + Element subprjsEl = XMLUtil.findElement(config, "subprojects", FreeformProjectType.NS_GENERAL); // NOI18N if (subprjsEl != null) { - for (Element prjEl : Util.findSubElements(subprjsEl)) { + for (Element prjEl : XMLUtil.findSubElements(subprjsEl)) { assert prjEl.getLocalName().equals("project") : "Bad element " + prjEl + " in for " + project; - String rawtext = Util.findText(prjEl); + String rawtext = XMLUtil.findText(prjEl); assert rawtext != null : "Need text content for in " + project; String evaltext = project.evaluator().evaluate(rawtext); if (evaltext == null) { diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/spi/support/Util.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/spi/support/Util.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/spi/support/Util.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/spi/support/Util.java @@ -43,10 +43,6 @@ import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; import javax.xml.XMLConstants; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; @@ -74,7 +70,6 @@ import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import org.w3c.dom.Text; import org.w3c.dom.ls.DOMImplementationLS; import org.w3c.dom.ls.LSSerializer; import org.xml.sax.SAXException; @@ -88,83 +83,7 @@ private Util() {} // XXX XML methods copied from ant/project... make a general API of these instead? - - /** - * 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(); - for (int i = 0; i < l.getLength(); i++) { - if (l.item(i).getNodeType() == Node.ELEMENT_NODE) { - Element el = (Element)l.item(i); - if (name.equals(el.getLocalName()) && namespace.equals(el.getNamespaceURI())) { - 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; - } - + /** * Finds AuxiliaryConfiguration for the given project helper. The method * finds project associated with the helper and searches @@ -240,31 +159,6 @@ return FileUtil.toFile(helper.getProjectDirectory()); } } - - /** - * Append child element to the correct position according to given - * order. - * @param parent parent to which the child will be added - * @param el element to be added - * @param order order of the elements which must be followed - */ - public static void appendChildElement(Element parent, Element el, String[] order) { - Element insertBefore = null; - List l = Arrays.asList(order); - int index = l.indexOf(el.getLocalName()); - assert index != -1 : el.getLocalName()+" was not found in "+l; // NOI18N - Iterator it = Util.findSubElements(parent).iterator(); - while (it.hasNext()) { - Element e = (Element)it.next(); - int index2 = l.indexOf(e.getLocalName()); - assert index2 != -1 : e.getLocalName()+" was not found in "+l; // NOI18N - if (index2 > index) { - insertBefore = e; - break; - } - } - parent.insertBefore(el, insertBefore); - } /**Get the "default" (user-specified) ant script for the given freeform project. * Please note that this method may return null if there is no such script. @@ -390,7 +284,7 @@ Element dummy1 = doc.createElementNS(FreeformProjectType.NS_GENERAL_1, FreeformProjectType.NAME_SHARED); // Make sure it is not invalid. dummy1.appendChild(doc.createElementNS(FreeformProjectType.NS_GENERAL_1, "name")). // NOI18N - appendChild(doc.createTextNode(findText(findElement(data, "name", NAMESPACE)))); // NOI18N + appendChild(doc.createTextNode(XMLUtil.findText(XMLUtil.findElement(data, "name", NAMESPACE)))); // NOI18N helper.putPrimaryConfigurationData(dummy1, true); helper.createAuxiliaryConfiguration().putConfigurationFragment(data, true); } diff --git a/ant.freeform/src/org/netbeans/modules/ant/freeform/ui/FolderNodeFactory.java b/ant.freeform/src/org/netbeans/modules/ant/freeform/ui/FolderNodeFactory.java --- a/ant.freeform/src/org/netbeans/modules/ant/freeform/ui/FolderNodeFactory.java +++ b/ant.freeform/src/org/netbeans/modules/ant/freeform/ui/FolderNodeFactory.java @@ -64,7 +64,6 @@ import org.netbeans.api.queries.VisibilityQuery; import org.netbeans.modules.ant.freeform.FreeformProject; import org.netbeans.modules.ant.freeform.FreeformProjectType; -import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.modules.ant.freeform.spi.ProjectNature; import org.netbeans.spi.project.support.ant.AntProjectEvent; import org.netbeans.spi.project.support.ant.AntProjectListener; @@ -91,6 +90,7 @@ import org.openide.util.RequestProcessor; import org.openide.util.actions.SystemAction; import org.openide.util.lookup.Lookups; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -136,10 +136,10 @@ private void updateKeys(boolean fromListener) { Element genldata = p.getPrimaryConfigurationData(); - Element viewEl = Util.findElement(genldata, "view", FreeformProjectType.NS_GENERAL); // NOI18N + Element viewEl = XMLUtil.findElement(genldata, "view", FreeformProjectType.NS_GENERAL); // NOI18N if (viewEl != null) { - Element itemsEl = Util.findElement(viewEl, "items", FreeformProjectType.NS_GENERAL); // NOI18N - keys = Util.findSubElements(itemsEl); + Element itemsEl = XMLUtil.findElement(viewEl, "items", FreeformProjectType.NS_GENERAL); // NOI18N + keys = XMLUtil.findSubElements(itemsEl); } else { keys = Collections.emptyList(); } @@ -182,8 +182,8 @@ public Node node(Element itemEl) { - Element locationEl = Util.findElement(itemEl, "location", FreeformProjectType.NS_GENERAL); // NOI18N - String location = Util.findText(locationEl); + Element locationEl = XMLUtil.findElement(itemEl, "location", FreeformProjectType.NS_GENERAL); // NOI18N + String location = XMLUtil.findText(locationEl); String locationEval = p.evaluator().evaluate(location); if (locationEval == null) { return null; @@ -194,9 +194,9 @@ return null; } String label; - Element labelEl = Util.findElement(itemEl, "label", FreeformProjectType.NS_GENERAL); // NOI18N + Element labelEl = XMLUtil.findElement(itemEl, "label", FreeformProjectType.NS_GENERAL); // NOI18N if (labelEl != null) { - label = Util.findText(labelEl); + label = XMLUtil.findText(labelEl); } else { label = null; } @@ -206,18 +206,18 @@ return null; } String includes = null; - Element includesEl = Util.findElement(itemEl, "includes", FreeformProjectType.NS_GENERAL); // NOI18N + Element includesEl = XMLUtil.findElement(itemEl, "includes", FreeformProjectType.NS_GENERAL); // NOI18N if (includesEl != null) { - includes = p.evaluator().evaluate(Util.findText(includesEl)); + includes = p.evaluator().evaluate(XMLUtil.findText(includesEl)); if (includes.matches("\\$\\{[^}]+\\}")) { // NOI18N // Clearly intended to mean "include everything". includes = null; } } String excludes = null; - Element excludesEl = Util.findElement(itemEl, "excludes", FreeformProjectType.NS_GENERAL); // NOI18N + Element excludesEl = XMLUtil.findElement(itemEl, "excludes", FreeformProjectType.NS_GENERAL); // NOI18N if (excludesEl != null) { - excludes = p.evaluator().evaluate(Util.findText(excludesEl)); + excludes = p.evaluator().evaluate(XMLUtil.findText(excludesEl)); } String style = itemEl.getAttribute("style"); // NOI18N for (ProjectNature nature : Lookup.getDefault().lookupAll(ProjectNature.class)) { diff --git a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ArtifactProviderTest.java b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ArtifactProviderTest.java --- a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ArtifactProviderTest.java +++ b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ArtifactProviderTest.java @@ -49,6 +49,7 @@ import org.netbeans.api.project.ant.AntArtifactQuery; import org.netbeans.modules.ant.freeform.spi.support.Util; import org.netbeans.spi.project.support.ant.AntProjectHelper; +import org.openide.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -137,7 +138,7 @@ //assert ProjectManager.mutex().isWriteAccess(); Element data = Util.getPrimaryConfigurationData(helper); Document doc = data.getOwnerDocument(); - for (Element exportEl : Util.findSubElements(data)) { + for (Element exportEl : XMLUtil.findSubElements(data)) { if (!exportEl.getLocalName().equals("export")) { // NOI18N continue; } @@ -165,9 +166,9 @@ el.appendChild(doc.createTextNode(export.cleanTarget)); // NOI18N exportEl.appendChild(el); } - Element later = Util.findElement(data, "view", FreeformProjectType.NS_GENERAL); + Element later = XMLUtil.findElement(data, "view", FreeformProjectType.NS_GENERAL); if (later == null) { - later = Util.findElement(data, "subprojects", FreeformProjectType.NS_GENERAL); + later = XMLUtil.findElement(data, "subprojects", FreeformProjectType.NS_GENERAL); } data.insertBefore(exportEl, later); } diff --git a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformProjectGeneratorTest.java b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformProjectGeneratorTest.java --- a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformProjectGeneratorTest.java +++ b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformProjectGeneratorTest.java @@ -62,6 +62,7 @@ import org.openide.filesystems.FileObject; import org.openide.modules.ModuleInfo; import org.openide.util.Lookup; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -227,14 +228,14 @@ FreeformProjectGenerator.putTargetMappings(helper, mappings); // ProjectManager.getDefault().saveAllProjects(); Element el = Util.getPrimaryConfigurationData(helper); - el = Util.findElement(el, "ide-actions", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "ide-actions", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - List subElements = Util.findSubElements(el); + List subElements = XMLUtil.findSubElements(el); assertEquals(2, subElements.size()); // compare first target mapping Element el2 = subElements.get(0); assertElement(el2, "action", null, "name", "first-targetName"); - List l1 = Util.findSubElements(el2); + List l1 = XMLUtil.findSubElements(el2); assertEquals(7, l1.size()); assertElementArray(l1, new String[]{"script", "target", "target", "target", "property", "property", "context"}, @@ -244,16 +245,16 @@ el2 = l1.get(5); assertElement(el2, "property", "v2", "name", "k2"); el2 = l1.get(6); - List l2 = Util.findSubElements(el2); + List l2 = XMLUtil.findSubElements(el2); assertEquals(5, l2.size()); assertElementArray(l2, new String[]{"property", "folder", "pattern", "format", "arity"}, new String[]{"someProperty1", "someFolder1", "somePattern1", "relative-path", null}); - assertNotNull("have ", Util.findElement(l2.get(4), "one-file-only", FreeformProjectType.NS_GENERAL)); + assertNotNull("have ", XMLUtil.findElement(l2.get(4), "one-file-only", FreeformProjectType.NS_GENERAL)); // compare second target mapping el2 = subElements.get(1); assertElement(el2, "action", null, "name", "second-targetName"); - l1 = Util.findSubElements(el2); + l1 = XMLUtil.findSubElements(el2); assertEquals(7, l1.size()); assertElementArray(l1, new String[]{"script", "target", "target", "target", "property", "property", "context"}, @@ -263,14 +264,14 @@ el2 = l1.get(5); assertElement(el2, "property", "second-v2", "name", "second-k2"); el2 = l1.get(6); - l2 = Util.findSubElements(el2); + l2 = XMLUtil.findSubElements(el2); assertEquals(4, l2.size()); assertElementArray(l2, new String[]{"property", "folder", "format", "arity"}, new String[]{"second-someProperty1", "second-someFolder1", "java-name", null}); - Element sepFilesEl = Util.findElement(l2.get(3), "separated-files", FreeformProjectType.NS_GENERAL); + Element sepFilesEl = XMLUtil.findElement(l2.get(3), "separated-files", FreeformProjectType.NS_GENERAL); assertNotNull("have ", sepFilesEl); - assertEquals("right separator", "someSeparator1", Util.findText(sepFilesEl)); + assertEquals("right separator", "someSeparator1", XMLUtil.findText(sepFilesEl)); ProjectManager.getDefault().saveAllProjects(); // test updating @@ -289,14 +290,14 @@ FreeformProjectGenerator.putTargetMappings(helper, mappings); // ProjectManager.getDefault().saveAllProjects(); el = Util.getPrimaryConfigurationData(helper); - el = Util.findElement(el, "ide-actions", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "ide-actions", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - subElements = Util.findSubElements(el); + subElements = XMLUtil.findSubElements(el); assertEquals(1, subElements.size()); // compare first target mapping el2 = subElements.get(0); assertElement(el2, "action", null, "name", "foo"); - l1 = Util.findSubElements(el2); + l1 = XMLUtil.findSubElements(el2); assertEquals(5, l1.size()); assertElementArray(l1, new String[]{"script", "target", "target", "property", "property"}, @@ -319,14 +320,14 @@ FreeformProjectGenerator.putTargetMappings(helper, mappings); // ProjectManager.getDefault().saveAllProjects(); el = Util.getPrimaryConfigurationData(helper); - el = Util.findElement(el, "ide-actions", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "ide-actions", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - subElements = Util.findSubElements(el); + subElements = XMLUtil.findSubElements(el); assertEquals(1, subElements.size()); // compare first target mapping el2 = subElements.get(0); assertElement(el2, "action", null, "name", "foo"); - l1 = Util.findSubElements(el2); + l1 = XMLUtil.findSubElements(el2); assertEquals(5, l1.size()); assertElementArray(l1, new String[]{"script", "target", "target", "property", "property"}, @@ -361,11 +362,11 @@ FreeformProjectGenerator.putContextMenuAction(helper, mappings); // ProjectManager.getDefault().saveAllProjects(); Element el = Util.getPrimaryConfigurationData(helper); - el = Util.findElement(el, "view", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "view", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - el = Util.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - List subElements = Util.findSubElements(el); + List subElements = XMLUtil.findSubElements(el); assertEquals(2, subElements.size()); assertElementArray(subElements, new String[]{"ide-action", "ide-action"}, @@ -386,11 +387,11 @@ FreeformProjectGenerator.putContextMenuAction(helper, mappings); // ProjectManager.getDefault().saveAllProjects(); el = Util.getPrimaryConfigurationData(helper); - el = Util.findElement(el, "view", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "view", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - el = Util.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - subElements = Util.findSubElements(el); + subElements = XMLUtil.findSubElements(el); assertEquals(4, subElements.size()); assertElementArray(subElements, new String[]{"ide-action", "ide-action", "ide-action", "ide-action"}, @@ -437,18 +438,18 @@ FreeformProjectGenerator.putCustomContextMenuActions(helper, customActions); // ProjectManager.getDefault().saveAllProjects(); Element el = Util.getPrimaryConfigurationData(helper); - el = Util.findElement(el, "view", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "view", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - el = Util.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - List subElements = Util.findSubElements(el); + List subElements = XMLUtil.findSubElements(el); assertEquals(2, subElements.size()); assertElementArray(subElements, new String[]{"action", "action"}, new String[]{null, null}); // compare first custom action Element el2 = subElements.get(0); - List l1 = Util.findSubElements(el2); + List l1 = XMLUtil.findSubElements(el2); assertEquals(6, l1.size()); assertElementArray(l1, new String[]{"script", "label", "target", "target", "property", "property"}, @@ -459,7 +460,7 @@ assertElement(el2, "property", "v2", "name", "k2"); // compare second custom action el2 = subElements.get(1); - l1 = Util.findSubElements(el2); + l1 = XMLUtil.findSubElements(el2); assertEquals(6, l1.size()); assertElementArray(l1, new String[]{"script", "label", "target", "target", "property", "property"}, @@ -482,25 +483,25 @@ FreeformProjectGenerator.putCustomContextMenuActions(helper, customActions); // ProjectManager.getDefault().saveAllProjects(); el = Util.getPrimaryConfigurationData(helper); - el = Util.findElement(el, "view", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "view", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - el = Util.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); + el = XMLUtil.findElement(el, "context-menu", FreeformProjectType.NS_GENERAL); assertNotNull("Target mapping were not saved correctly", el); - subElements = Util.findSubElements(el); + subElements = XMLUtil.findSubElements(el); assertEquals(2, subElements.size()); assertElementArray(subElements, new String[]{"action", "action"}, new String[]{null, null}); // compare first custom action el2 = subElements.get(0); - l1 = Util.findSubElements(el2); + l1 = XMLUtil.findSubElements(el2); assertEquals(1, l1.size()); assertElementArray(l1, new String[]{"label"}, new String[]{"fooLabel"}); // compare second custom action el2 = subElements.get(1); - l1 = Util.findSubElements(el2); + l1 = XMLUtil.findSubElements(el2); assertEquals(1, l1.size()); assertElementArray(l1, new String[]{"label"}, @@ -518,7 +519,7 @@ String message = "Element "+element+" does not match [name="+expectedName+",value="+expectedValue+"]"; // NOI18N assertEquals(message, expectedName, element.getLocalName()); if (expectedValue != null) { - assertEquals(message, expectedValue, Util.findText(element)); + assertEquals(message, expectedValue, XMLUtil.findText(element)); } } @@ -546,7 +547,7 @@ expectedValue+", attr="+expectedAttrName+", attrvalue="+expectedAttrValue+"]"; // NOI18N assertEquals(message, expectedName, element.getLocalName()); if (expectedValue != null) { - assertEquals(message, expectedValue, Util.findText(element)); + assertEquals(message, expectedValue, XMLUtil.findText(element)); } String val = element.getAttribute(expectedAttrName); assertEquals(expectedAttrValue, val); diff --git a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformSourcesTest.java b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformSourcesTest.java --- a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformSourcesTest.java +++ b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/FreeformSourcesTest.java @@ -58,6 +58,7 @@ import org.netbeans.spi.project.support.ant.EditableProperties; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; +import org.openide.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -110,12 +111,12 @@ TestCL l = new TestCL(); s.addChangeListener(l); Element data = extsrcroot.getPrimaryConfigurationData(); - Element folders = Util.findElement(data, "folders", FreeformProjectType.NS_GENERAL); + Element folders = XMLUtil.findElement(data, "folders", FreeformProjectType.NS_GENERAL); assertNotNull("have ", folders); - List/**/ sourceFolders = Util.findSubElements(folders); + List/**/ sourceFolders = XMLUtil.findSubElements(folders); assertEquals("have 2 s", 2, sourceFolders.size()); Element sourceFolder = (Element) sourceFolders.get(1); - Element location = Util.findElement(sourceFolder, "location", FreeformProjectType.NS_GENERAL); + Element location = XMLUtil.findElement(sourceFolder, "location", FreeformProjectType.NS_GENERAL); assertNotNull("have ", location); NodeList nl = location.getChildNodes(); assertEquals("one child (text)", 1, nl.getLength()); @@ -146,7 +147,7 @@ FileUtil.createData(new File(d, "s/ignored/file")); Element data = Util.getPrimaryConfigurationData(helper); Document doc = data.getOwnerDocument(); - Element sf = (Element) data.insertBefore(doc.createElementNS(Util.NAMESPACE, "folders"), Util.findElement(data, "view", Util.NAMESPACE)). + Element sf = (Element) data.insertBefore(doc.createElementNS(Util.NAMESPACE, "folders"), XMLUtil.findElement(data, "view", Util.NAMESPACE)). appendChild(doc.createElementNS(Util.NAMESPACE, "source-folder")); sf.appendChild(doc.createElementNS(Util.NAMESPACE, "label")).appendChild(doc.createTextNode("Sources")); sf.appendChild(doc.createElementNS(Util.NAMESPACE, "type")).appendChild(doc.createTextNode("stuff")); diff --git a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/UnboundTargetAlertTest.java b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/UnboundTargetAlertTest.java --- a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/UnboundTargetAlertTest.java +++ b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/UnboundTargetAlertTest.java @@ -43,7 +43,6 @@ import java.util.Arrays; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -51,7 +50,7 @@ import org.netbeans.modules.ant.freeform.FreeformProjectGenerator; import org.netbeans.modules.ant.freeform.FreeformProjectType; import org.netbeans.modules.ant.freeform.TestBase; -import org.netbeans.modules.ant.freeform.spi.support.Util; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; /** @@ -98,12 +97,12 @@ assertEquals(null, lastMapping.context); // Also check the context menu. Element data = prj.getPrimaryConfigurationData(); - Element view = Util.findElement(data, "view", FreeformProjectType.NS_GENERAL); + Element view = XMLUtil.findElement(data, "view", FreeformProjectType.NS_GENERAL); assertNotNull(view); - Element contextMenu = Util.findElement(view, "context-menu", FreeformProjectType.NS_GENERAL); + Element contextMenu = XMLUtil.findElement(view, "context-menu", FreeformProjectType.NS_GENERAL); assertNotNull(contextMenu); Set actionNames = new TreeSet(); - for (Element action : Util.findSubElements(contextMenu)) { + for (Element action : XMLUtil.findSubElements(contextMenu)) { if (action.getLocalName().equals("ide-action")) { actionNames.add(action.getAttribute("name")); } diff --git a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/ViewTest.java b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/ViewTest.java --- a/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/ViewTest.java +++ b/ant.freeform/test/unit/src/org/netbeans/modules/ant/freeform/ui/ViewTest.java @@ -70,6 +70,7 @@ import org.openide.nodes.NodeReorderEvent; import org.w3c.dom.Document; import org.openide.util.Lookup; +import org.openide.xml.XMLUtil; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -120,19 +121,19 @@ TestNL l = new TestNL(); root.addNodeListener(l); Element data = extsrcroot.getPrimaryConfigurationData(); - Element view = Util.findElement(data, "view", FreeformProjectType.NS_GENERAL); + Element view = XMLUtil.findElement(data, "view", FreeformProjectType.NS_GENERAL); assertNotNull("have ", view); - Element items = Util.findElement(view, "items", FreeformProjectType.NS_GENERAL); + Element items = XMLUtil.findElement(view, "items", FreeformProjectType.NS_GENERAL); assertNotNull("have ", items); - Element sourceFolder = Util.findElement(items, "source-folder", FreeformProjectType.NS_GENERAL); + Element sourceFolder = XMLUtil.findElement(items, "source-folder", FreeformProjectType.NS_GENERAL); assertNotNull("have ", sourceFolder); - Element location = Util.findElement(sourceFolder, "location", FreeformProjectType.NS_GENERAL); + Element location = XMLUtil.findElement(sourceFolder, "location", FreeformProjectType.NS_GENERAL); assertNotNull("have ", location); NodeList nl = location.getChildNodes(); assertEquals("one child", 1, nl.getLength()); location.removeChild(nl.item(0)); location.appendChild(location.getOwnerDocument().createTextNode("../src2")); - Element sourceFile = Util.findElement(items, "source-file", FreeformProjectType.NS_GENERAL); + Element sourceFile = XMLUtil.findElement(items, "source-file", FreeformProjectType.NS_GENERAL); assertNotNull("have ", sourceFile); items.removeChild(sourceFile); extsrcroot.putPrimaryConfigurationData(data);