@Component(role=GraphConflictResolver.class) public class DefaultGraphConflictResolver extends java.lang.Object implements GraphConflictResolver
| Modifier and Type | Field and Description |
|---|---|
protected GraphConflictResolutionPolicy |
policy
artifact, closer to the entry point, is selected
|
ROLE| Constructor and Description |
|---|
DefaultGraphConflictResolver() |
| Modifier and Type | Method and Description |
|---|---|
private MetadataGraphEdge |
cleanEdges(MetadataGraphVertex v,
java.util.List<MetadataGraphEdge> edges,
ArtifactScopeEnum scope) |
private MetadataGraph |
findLinkedSubgraph(MetadataGraph g) |
MetadataGraph |
resolveConflicts(MetadataGraph graph,
ArtifactScopeEnum scope)
Cleanses the supplied graph by leaving only one directed versioned edge\
between any two nodes, if multiple exists.
|
private void |
visit(MetadataGraphVertex from,
java.util.List<MetadataGraphVertex> visited,
MetadataGraph graph) |
@Requirement(role=GraphConflictResolutionPolicy.class) protected GraphConflictResolutionPolicy policy
public MetadataGraph resolveConflicts(MetadataGraph graph, ArtifactScopeEnum scope) throws GraphConflictResolutionException
GraphConflictResolverArtifactScopeEnumresolveConflicts in interface GraphConflictResolvergraph - the "dirty" graph to be simplified via conflict resolutionscope - scope for which the graph should be resolvedGraphConflictResolutionExceptionprivate MetadataGraph findLinkedSubgraph(MetadataGraph g)
private void visit(MetadataGraphVertex from, java.util.List<MetadataGraphVertex> visited, MetadataGraph graph)
private MetadataGraphEdge cleanEdges(MetadataGraphVertex v, java.util.List<MetadataGraphEdge> edges, ArtifactScopeEnum scope)