This is an automated email from the ASF dual-hosted git repository. matthiasblaesing pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push: new cc6a2cb29e UnsupportedOperationException in maven dependency graph "Exclude dependency" and "Fix Version Conflict" actions new 379a0ab42b Merge pull request #5431 from matthiasblaesing/github-5402 cc6a2cb29e is described below commit cc6a2cb29e346b1db601a573c8cd7473907a28f7 Author: Matthias Bläsing <mblaes...@doppel-helix.eu> AuthorDate: Sat Feb 4 22:02:31 2023 +0100 UnsupportedOperationException in maven dependency graph "Exclude dependency" and "Fix Version Conflict" actions The two actions: org.netbeans.modules.maven.graph.FixVersionConflictAction org.netbeans.modules.maven.graph.ExcludeDepAction need to manipulate the duplicate or conflict list. The returned set is read-only, so a companion method to addDuplicateOrConflict removeDuplicateOrConflict is added to remove a node from the list. Closes: #5402 --- java/java.graph/manifest.mf | 2 +- .../src/org/netbeans/modules/java/graph/DependencyGraphScene.java | 3 +-- java/java.graph/src/org/netbeans/modules/java/graph/GraphNode.java | 6 +++++- java/maven.graph/nbproject/project.xml | 2 +- .../src/org/netbeans/modules/maven/graph/MavenAction.java | 6 ++++-- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/java/java.graph/manifest.mf b/java/java.graph/manifest.mf index 56a77455f1..0fa9c9b458 100644 --- a/java/java.graph/manifest.mf +++ b/java/java.graph/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.graph/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/graph/Bundle.properties -OpenIDE-Module-Specification-Version: 1.20 +OpenIDE-Module-Specification-Version: 1.21 diff --git a/java/java.graph/src/org/netbeans/modules/java/graph/DependencyGraphScene.java b/java/java.graph/src/org/netbeans/modules/java/graph/DependencyGraphScene.java index 893cb98d67..846e311cd4 100644 --- a/java/java.graph/src/org/netbeans/modules/java/graph/DependencyGraphScene.java +++ b/java/java.graph/src/org/netbeans/modules/java/graph/DependencyGraphScene.java @@ -482,8 +482,7 @@ public class DependencyGraphScene<I extends GraphNodeImplementation> extends Gra if(supportsVersions()) { // other important paths - ArrayList<I> representants = new ArrayList<>(node.getDuplicatesOrConflicts()); - for (GraphNodeImplementation curRep : representants) { + for (GraphNodeImplementation curRep : node.getDuplicatesOrConflicts()) { addPathToRoot(curRep, curRep.getParent(), otherPathsEdges, importantNodes); } } diff --git a/java/java.graph/src/org/netbeans/modules/java/graph/GraphNode.java b/java/java.graph/src/org/netbeans/modules/java/graph/GraphNode.java index 0e6445d085..9f0e52634d 100644 --- a/java/java.graph/src/org/netbeans/modules/java/graph/GraphNode.java +++ b/java/java.graph/src/org/netbeans/modules/java/graph/GraphNode.java @@ -42,7 +42,7 @@ public final class GraphNode<I extends GraphNodeImplementation> { private I impl, parentAfterFix; - private final HashSet<I> duplicates; + private final Set<I> duplicates; private int level; private int managedState = UNMANAGED; @@ -72,6 +72,10 @@ public final class GraphNode<I extends GraphNodeImplementation> { duplicates.add(i); } + public void removeDuplicateOrConflict(I i) { + duplicates.remove(i); + } + public Set<I> getDuplicatesOrConflicts() { return Collections.unmodifiableSet(duplicates); } diff --git a/java/maven.graph/nbproject/project.xml b/java/maven.graph/nbproject/project.xml index 010dacdbcf..823d736d32 100644 --- a/java/maven.graph/nbproject/project.xml +++ b/java/maven.graph/nbproject/project.xml @@ -57,7 +57,7 @@ <compile-dependency/> <run-dependency> <release-version>1</release-version> - <specification-version>1.1</specification-version> + <specification-version>1.21</specification-version> </run-dependency> </dependency> <dependency> diff --git a/java/maven.graph/src/org/netbeans/modules/maven/graph/MavenAction.java b/java/maven.graph/src/org/netbeans/modules/maven/graph/MavenAction.java index bdaf401ab3..e36a6a2487 100644 --- a/java/maven.graph/src/org/netbeans/modules/maven/graph/MavenAction.java +++ b/java/maven.graph/src/org/netbeans/modules/maven/graph/MavenAction.java @@ -164,7 +164,9 @@ public abstract class MavenAction extends AbstractAction { } } // note, must be called before node removing edges to work correctly - node.getDuplicatesOrConflicts().removeAll(toExclude); + for(MavenDependencyNode mdn: toExclude) { + node.removeDuplicateOrConflict(mdn); + } for (GraphEdge<MavenDependencyNode> age : edges2Exclude) { scene.removeEdge(age); age.getSource().removeChild(age.getTarget()); @@ -210,7 +212,7 @@ public abstract class MavenAction extends AbstractAction { children.add(childNode); scene.removeEdge(age); age.getSource().removeChild(dn); - childNode.getDuplicatesOrConflicts().remove(dn); + childNode.removeDuplicateOrConflict(dn); } // recurse to children for (GraphNode age : children) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists