Skip to content

Commit

Permalink
Merge pull request #6478 from lahodaj/upgrade-to-jdom2
Browse files Browse the repository at this point in the history
Upgrading the JDOM library in maven.embedder from version 1.0 to 2.0.6.1
  • Loading branch information
mbien authored Oct 5, 2023
2 parents e8bcbc6 + 223c298 commit 65b00e7
Show file tree
Hide file tree
Showing 24 changed files with 238 additions and 265 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.openide.util.Exceptions;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
Expand Down
2 changes: 1 addition & 1 deletion java/maven.embedder/external/binaries-list
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
A2AC1CD690AB4C80DEFE7F9BCE14D35934C35CEC jdom:jdom:1.0
DC15DFF8F701B227EE523EEB7A17F77C10EAFE2F org.jdom:jdom2:2.0.6.1
5D9CE6ADD7B714B8095F0E3E396C5E9F8C5DCFEF org.apache.maven.shared:maven-dependency-tree:2.2
5501C83302757A1407C0546E68EEDBE78EF4C802 org.apache.maven:apache-maven:3.9.4:bin@zip
55 changes: 0 additions & 55 deletions java/maven.embedder/external/jdom-1.0-license.txt

This file was deleted.

59 changes: 59 additions & 0 deletions java/maven.embedder/external/jdom2-2.0.6.1-license.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
Name: JDOM
Version: 2.0.6.1
Description: Java API for XML manipulation.
License: BSD-JDOM
Origin: http://www.jdom.org/dist/binary/jdom-1.0.tar.gz

/*--

Copyright (C) 2000-2012 Jason Hunter & Brett McLaughlin.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions, and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the disclaimer that follows
these conditions in the documentation and/or other materials
provided with the distribution.

3. The name "JDOM" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact <request_AT_jdom_DOT_org>.

4. Products derived from this software may not be called "JDOM", nor
may "JDOM" appear in their name, without prior written permission
from the JDOM Project Management <request_AT_jdom_DOT_org>.

In addition, we request (but do not require) that you include in the
end-user documentation provided with the redistribution and/or in the
software itself an acknowledgement equivalent to the following:
"This product includes software developed by the
JDOM Project (http://www.jdom.org/)."
Alternatively, the acknowledgment may be graphical using the logos
available at http://www.jdom.org/images/logos.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

This software consists of voluntary contributions made by many
individuals on behalf of the JDOM Project and was originally
created by Jason Hunter <jhunter_AT_jdom_DOT_org> and
Brett McLaughlin <brett_AT_jdom_DOT_org>. For more information
on the JDOM Project, please see <http://www.jdom.org/>.

*/
2 changes: 1 addition & 1 deletion java/maven.embedder/nbproject/project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
is.autoload=true
javac.source=1.8
javac.compilerargs=-Xlint -Xlint:-serial
release.external/jdom-1.0.jar=modules/ext/maven/jdom-1.0.jar
release.external/jdom2-2.0.6.1.jar=modules/ext/maven/jdom2-2.0.6.1.jar
release.external/maven-dependency-tree-2.2.jar=modules/ext/maven/maven-dependency-tree-2.2.jar
bundled.maven=apache-maven-3.9.4
extra.module.files=maven/
Expand Down
14 changes: 8 additions & 6 deletions java/maven.embedder/nbproject/project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -256,10 +256,12 @@
<package>org.codehaus.plexus.util.introspection</package>
<package>org.codehaus.plexus.util.xml</package>
<package>org.codehaus.plexus.util.xml.pull</package>
<package>org.jdom</package>
<package>org.jdom.filter</package>
<package>org.jdom.input</package>
<package>org.jdom.output</package>
<package>org.jdom2</package>
<package>org.jdom2.filter</package>
<package>org.jdom2.input</package>
<package>org.jdom2.input.sax</package>
<package>org.jdom2.output</package>
<package>org.jdom2.util</package>
<package>org.netbeans.modules.maven.embedder</package>
<package>org.netbeans.modules.maven.embedder.exec</package>
<package>org.eclipse.aether</package>
Expand All @@ -283,8 +285,8 @@
<binary-origin>external/maven-dependency-tree-2.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/maven/jdom-1.0.jar</runtime-relative-path>
<binary-origin>external/jdom-1.0.jar</binary-origin>
<runtime-relative-path>ext/maven/jdom2-2.0.6.1.jar</runtime-relative-path>
<binary-origin>external/jdom2-2.0.6.1.jar</binary-origin>
</class-path-extension>
<!-- zipinfo -1 .../apache-maven-*-bin.zip | sort | perl -n -e 'if (m!^apache-maven-.+/((lib|boot)/.+.jar)$!) {print " <class-path-extension>\n <runtime-relative-path>../maven/$1</runtime-relative-path>\n </class-path-extension>\n"}' -->
<class-path-extension>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#Signature file v4.1
#Version 1.68.0
#Version 1.69.0

CLSS public java.lang.Object
cons public init()
Expand Down Expand Up @@ -27,13 +27,13 @@ intf org.netbeans.modules.xml.api.model.GrammarQuery
meth protected abstract java.io.InputStream getSchemaStream()
meth protected final java.util.Enumeration<org.netbeans.modules.xml.api.model.GrammarResult> createTextValueList(java.lang.String[],org.netbeans.modules.xml.api.model.HintContext)
meth protected final org.apache.maven.project.MavenProject getMavenProject()
meth protected final org.jdom.Element findElement(org.jdom.Element,java.lang.String)
meth protected final org.jdom.Element findNonTypedContent(org.jdom.Element)
meth protected final org.jdom.Element findTypeContent(java.lang.String,org.jdom.Element)
meth protected final org.jdom2.Element findElement(org.jdom2.Element,java.lang.String)
meth protected final org.jdom2.Element findNonTypedContent(org.jdom2.Element)
meth protected final org.jdom2.Element findTypeContent(java.lang.String,org.jdom2.Element)
meth protected final org.netbeans.modules.xml.api.model.GrammarEnvironment getEnvironment()
meth protected final void processSequence(java.lang.String,org.jdom.Element,java.util.Vector<org.netbeans.modules.xml.api.model.GrammarResult>)
meth protected java.util.Enumeration<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicValueCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom.Element)
meth protected java.util.List<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom.Element)
meth protected final void processSequence(java.lang.String,org.jdom2.Element,java.util.Vector<org.netbeans.modules.xml.api.model.GrammarResult>)
meth protected java.util.Enumeration<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicValueCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom2.Element)
meth protected java.util.List<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom2.Element)
meth public boolean hasCustomizer(org.netbeans.modules.xml.api.model.HintContext)
meth public boolean isAllowed(java.util.Enumeration)
meth public java.awt.Component getCustomizer(org.netbeans.modules.xml.api.model.HintContext)
Expand All @@ -46,7 +46,6 @@ meth public org.netbeans.modules.xml.api.model.GrammarResult queryDefault(org.ne
meth public org.openide.nodes.Node$Property[] getProperties(org.netbeans.modules.xml.api.model.HintContext)
supr java.lang.Object
hfds environment,schemaDoc
hcls DefinitionContentElementFilter

CLSS protected abstract static org.netbeans.modules.maven.grammar.spi.AbstractSchemaBasedGrammar$AbstractResultNode
outer org.netbeans.modules.maven.grammar.spi.AbstractSchemaBasedGrammar
Expand Down Expand Up @@ -119,8 +118,8 @@ meth public short getNodeType()
supr org.netbeans.modules.maven.grammar.spi.AbstractSchemaBasedGrammar$AbstractResultNode

CLSS public abstract interface org.netbeans.modules.maven.grammar.spi.GrammarExtensionProvider
meth public abstract java.util.Enumeration<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicValueCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom.Element)
meth public abstract java.util.List<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom.Element)
meth public abstract java.util.Enumeration<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicValueCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom2.Element)
meth public abstract java.util.List<org.netbeans.modules.xml.api.model.GrammarResult> getDynamicCompletion(java.lang.String,org.netbeans.modules.xml.api.model.HintContext,org.jdom2.Element)
anno 0 org.netbeans.api.annotations.common.NonNull()

CLSS public abstract interface org.netbeans.modules.xml.api.model.GrammarQuery
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import java.io.InputStream;
import java.util.Collections;
import java.util.List;
import org.jdom.Element;
import org.jdom2.Element;
import org.netbeans.modules.maven.grammar.spi.AbstractSchemaBasedGrammar;
import org.netbeans.modules.xml.api.model.GrammarEnvironment;
import org.netbeans.modules.xml.api.model.GrammarResult;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import java.util.List;
import org.apache.maven.model.Dependency;
import org.apache.maven.project.MavenProject;
import org.jdom.Element;
import org.jdom2.Element;
import org.netbeans.modules.maven.grammar.spi.AbstractSchemaBasedGrammar;
import org.netbeans.modules.xml.api.model.GrammarEnvironment;
import org.netbeans.modules.xml.api.model.GrammarResult;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import java.util.List;
import org.apache.maven.model.Dependency;
import org.apache.maven.project.MavenProject;
import org.jdom.Element;
import org.jdom2.Element;
import org.netbeans.modules.maven.grammar.spi.AbstractSchemaBasedGrammar;
import org.netbeans.modules.xml.api.model.GrammarEnvironment;
import org.netbeans.modules.xml.api.model.GrammarResult;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,13 @@
import org.apache.maven.model.Plugin;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.filter.Filter;
import org.jdom.input.SAXBuilder;
import org.jdom2.Content;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.filter.AbstractFilter;
import org.jdom2.filter.Filter;
import org.jdom2.input.SAXBuilder;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectManager;
import org.netbeans.modules.maven.api.Constants;
Expand Down Expand Up @@ -120,7 +122,7 @@ private List<GrammarResult> hardwiredProperty(HintContext hintCtx, String name,
}

@Override
protected List<GrammarResult> getDynamicCompletion(String path, HintContext hintCtx, org.jdom.Element parent) {
protected List<GrammarResult> getDynamicCompletion(String path, HintContext hintCtx, org.jdom2.Element parent) {
List<GrammarResult> result = new ArrayList<GrammarResult>();
if (path.endsWith("plugins/plugin/configuration") || //NOI18N
path.endsWith("plugins/plugin/executions/execution/configuration")) { //NOI18N
Expand Down Expand Up @@ -293,26 +295,21 @@ private ArtifactInfoHolder findPluginInfo(Node previous, MavenEmbedder embedder,
}

private List<GrammarResult> collectPluginParams(Document pluginDoc, HintContext hintCtx) {
Iterator<Element> it = pluginDoc.getRootElement().getDescendants(new Filter() {
@Override
public boolean matches(Object object) {
if (object instanceof Element) {
Element el = (Element)object;
if ("parameter".equals(el.getName()) && //NOI18N
el.getParentElement() != null && "parameters".equals(el.getParentElement().getName()) && //NOI18N
el.getParentElement().getParentElement() != null && "mojo".equals(el.getParentElement().getParentElement().getName())) { //NOI18N
return true;
}
}
return false;
}
});

Iterator<Content> it = pluginDoc.getRootElement().getDescendants();
List<GrammarResult> toReturn = new ArrayList<GrammarResult>();
Collection<String> params = new HashSet<String>();

while (it.hasNext()) {
Element el = it.next();
Content c = it.next();
if (!(c instanceof Element)) {
continue;
}
Element el = (Element) c;
if (!("parameter".equals(el.getName()) && //NOI18N
el.getParentElement() != null && "parameters".equals(el.getParentElement().getName()) && //NOI18N
el.getParentElement().getParentElement() != null && "mojo".equals(el.getParentElement().getParentElement().getName()))) { //NOI18N
continue;
}
String editable = el.getChildText("editable"); //NOI18N
if ("true".equalsIgnoreCase(editable)) { //NOI18N
String name = el.getChildText("name"); //NOI18N
Expand Down Expand Up @@ -793,23 +790,18 @@ private void collectArtifacts(String artifactTag, Node parent, String decoratedP
}

private Enumeration<GrammarResult> collectGoals(Document pluginDoc, HintContext virtualTextCtx) {
@SuppressWarnings("unchecked")
Iterator<Element> it = pluginDoc.getRootElement().getDescendants(new Filter() {
@Override
public boolean matches(Object object) {
if (object instanceof Element) {
Element el = (Element)object;
if ("goal".equals(el.getName()) && //NOI18N
el.getParentElement() != null && "mojo".equals(el.getParentElement().getName())) { //NOI18N
return true;
}
}
return false;
}
});
Iterator<Content> it = pluginDoc.getRootElement().getDescendants();
Collection<GrammarResult> toReturn = new ArrayList<GrammarResult>();
while (it.hasNext()) {
Element el = it.next();
Content c = it.next();
if (!(c instanceof Element)) {
continue;
}
Element el = (Element) c;
if (!("goal".equals(el.getName()) && //NOI18N
el.getParentElement() != null && "mojo".equals(el.getParentElement().getName()))) { //NOI18N
continue;
}
String name = el.getText();
if (name.startsWith(virtualTextCtx.getCurrentPrefix())) {
toReturn.add(new MyTextElement(name, virtualTextCtx.getCurrentPrefix()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import org.jdom.Element;
import org.jdom2.Element;
import org.netbeans.modules.maven.grammar.catalog.MavenCatalog;
import org.netbeans.modules.maven.grammar.spi.AbstractSchemaBasedGrammar;
import org.netbeans.modules.maven.indexer.api.RepositoryInfo;
Expand Down
Loading

0 comments on commit 65b00e7

Please sign in to comment.