Search in sources :

Example 1 with FilteringDependencyNodeVisitor

use of org.apache.maven.shared.dependency.graph.traversal.FilteringDependencyNodeVisitor in project maven-plugins by apache.

the class TreeMojo method serializeDependencyTree.

/**
     * Serializes the specified dependency tree to a string.
     *
     * @param rootNode the dependency tree root node to serialize
     * @return the serialized dependency tree
     */
private String serializeDependencyTree(DependencyNode rootNode) {
    StringWriter writer = new StringWriter();
    DependencyNodeVisitor visitor = getSerializingDependencyNodeVisitor(writer);
    // TODO: remove the need for this when the serializer can calculate last nodes from visitor calls only
    visitor = new BuildingDependencyNodeVisitor(visitor);
    DependencyNodeFilter filter = createDependencyNodeFilter();
    if (filter != null) {
        CollectingDependencyNodeVisitor collectingVisitor = new CollectingDependencyNodeVisitor();
        DependencyNodeVisitor firstPassVisitor = new FilteringDependencyNodeVisitor(collectingVisitor, filter);
        rootNode.accept(firstPassVisitor);
        DependencyNodeFilter secondPassFilter = new AncestorOrSelfDependencyNodeFilter(collectingVisitor.getNodes());
        visitor = new FilteringDependencyNodeVisitor(visitor, secondPassFilter);
    }
    rootNode.accept(visitor);
    return writer.toString();
}
Also used : FilteringDependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.FilteringDependencyNodeVisitor) CollectingDependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.CollectingDependencyNodeVisitor) BuildingDependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.BuildingDependencyNodeVisitor) StringWriter(java.io.StringWriter) AncestorOrSelfDependencyNodeFilter(org.apache.maven.shared.dependency.graph.filter.AncestorOrSelfDependencyNodeFilter) ArtifactDependencyNodeFilter(org.apache.maven.shared.dependency.graph.filter.ArtifactDependencyNodeFilter) DependencyNodeFilter(org.apache.maven.shared.dependency.graph.filter.DependencyNodeFilter) AndDependencyNodeFilter(org.apache.maven.shared.dependency.graph.filter.AndDependencyNodeFilter) AncestorOrSelfDependencyNodeFilter(org.apache.maven.shared.dependency.graph.filter.AncestorOrSelfDependencyNodeFilter) FilteringDependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.FilteringDependencyNodeVisitor) DependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor) BuildingDependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.BuildingDependencyNodeVisitor) CollectingDependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.CollectingDependencyNodeVisitor) SerializingDependencyNodeVisitor(org.apache.maven.shared.dependency.graph.traversal.SerializingDependencyNodeVisitor)

Aggregations

StringWriter (java.io.StringWriter)1 AncestorOrSelfDependencyNodeFilter (org.apache.maven.shared.dependency.graph.filter.AncestorOrSelfDependencyNodeFilter)1 AndDependencyNodeFilter (org.apache.maven.shared.dependency.graph.filter.AndDependencyNodeFilter)1 ArtifactDependencyNodeFilter (org.apache.maven.shared.dependency.graph.filter.ArtifactDependencyNodeFilter)1 DependencyNodeFilter (org.apache.maven.shared.dependency.graph.filter.DependencyNodeFilter)1 BuildingDependencyNodeVisitor (org.apache.maven.shared.dependency.graph.traversal.BuildingDependencyNodeVisitor)1 CollectingDependencyNodeVisitor (org.apache.maven.shared.dependency.graph.traversal.CollectingDependencyNodeVisitor)1 DependencyNodeVisitor (org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor)1 FilteringDependencyNodeVisitor (org.apache.maven.shared.dependency.graph.traversal.FilteringDependencyNodeVisitor)1 SerializingDependencyNodeVisitor (org.apache.maven.shared.dependency.graph.traversal.SerializingDependencyNodeVisitor)1