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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists