1 16 package org.outerj.daisy.linkextraction; 17 18 import org.outerj.daisy.repository.Part; 19 import org.outerj.daisy.xmlutil.LocalSAXParserFactory; 20 import org.xml.sax.InputSource ; 21 import org.xml.sax.ContentHandler ; 22 23 import javax.xml.parsers.SAXParser ; 24 import java.io.InputStream ; 25 26 public abstract class AbstractLinkExtractor implements LinkExtractor { 27 public void extractLinks(Part part, LinkCollector linkCollector, long defaultBranchId, long defaultLanguageId) throws Exception { 28 InputStream is = null; 29 try { 30 SAXParser parser = LocalSAXParserFactory.getSAXParserFactory().newSAXParser(); 31 parser.getXMLReader().setContentHandler(getContentHandler(part, linkCollector, defaultBranchId, defaultLanguageId)); 32 is = part.getDataStream(); 33 parser.getXMLReader().parse(new InputSource (is)); 34 } finally { 35 if (is != null) 36 is.close(); 37 } 38 } 39 40 public abstract ContentHandler getContentHandler(Part part, LinkCollector linkCollector, long defaultBranchId, long defaultLanguageId); 41 } 42 | Popular Tags |