public final class ConflictMarker extends java.lang.Object implements DependencyGraphTransformer
Map<DependencyNode, Object> where dependency nodes that belong to the same
conflict group will have an equal conflict identifier. This map is stored using the key
TransformationContextKeys.CONFLICT_IDS.| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
ConflictMarker.ConflictGroup |
(package private) static class |
ConflictMarker.Key |
| Constructor and Description |
|---|
ConflictMarker() |
| Modifier and Type | Method and Description |
|---|---|
private void |
analyze(DependencyNode node,
java.util.Map<DependencyNode,java.lang.Object> nodes,
java.util.Map<java.lang.Object,ConflictMarker.ConflictGroup> groups,
int[] counter) |
private java.util.Set<java.lang.Object> |
getKeys(DependencyNode node) |
private java.util.Map<DependencyNode,java.lang.Object> |
mark(java.util.Collection<DependencyNode> nodes,
java.util.Map<java.lang.Object,ConflictMarker.ConflictGroup> groups) |
private java.util.Set<java.lang.Object> |
merge(java.util.Set<java.lang.Object> keys1,
java.util.Set<java.lang.Object> keys2) |
private static java.lang.Object |
toKey(Artifact artifact) |
DependencyNode |
transformGraph(DependencyNode node,
DependencyGraphTransformationContext context)
After the execution of this method, every DependencyNode with an attached dependency is member of one conflict
group.
|
public DependencyNode transformGraph(DependencyNode node, DependencyGraphTransformationContext context) throws RepositoryException
transformGraph in interface DependencyGraphTransformernode - The root node of the (possibly cyclic!) graph to transform, must not be null.context - The graph transformation context, must not be null.null.RepositoryException - If the transformation failed.DependencyGraphTransformer.transformGraph(DependencyNode, DependencyGraphTransformationContext)private void analyze(DependencyNode node, java.util.Map<DependencyNode,java.lang.Object> nodes, java.util.Map<java.lang.Object,ConflictMarker.ConflictGroup> groups, int[] counter)
private java.util.Set<java.lang.Object> merge(java.util.Set<java.lang.Object> keys1,
java.util.Set<java.lang.Object> keys2)
private java.util.Set<java.lang.Object> getKeys(DependencyNode node)
private java.util.Map<DependencyNode,java.lang.Object> mark(java.util.Collection<DependencyNode> nodes, java.util.Map<java.lang.Object,ConflictMarker.ConflictGroup> groups)
private static java.lang.Object toKey(Artifact artifact)