private void recursiveLinkCollector()

in commons-transfer/commons-transfer-http/src/main/java/org/apache/archiva/commons/transfer/http/links/LinkParser.java [138:166]


    private void recursiveLinkCollector( Node node, URI baseURI, Set<String> links, TransferFileFilter filter )
    {
        if ( node.getNodeType() == Node.ELEMENT_NODE )
        {
            //            System.out.println("Element <" + node.getNodeName() + dumpAttributes((Element) node) + ">");
            if ( "A".equals( node.getNodeName() ) )
            {
                Element anchor = (Element) node;
                NamedNodeMap nodemap = anchor.getAttributes();
                Node href = nodemap.getNamedItem( "HREF" );
                if ( href != null )
                {
                    String link = cleanLink( baseURI, href.getNodeValue() );
                    //                    System.out.println("HREF (" + href.getNodeValue() + " => " + link + ")");
                    if ( isAcceptableLink( link, filter ) )
                    {
                        links.add( link );
                    }
                }
            }
        }

        Node child = node.getFirstChild();
        while ( child != null )
        {
            recursiveLinkCollector( child, baseURI, links, filter );
            child = child.getNextSibling();
        }
    }