org.apache.abdera.filter.ParseFilter

Here are the examples of the java api class org.apache.abdera.filter.ParseFilter taken from open source projects.

1. FOMTest#testWhiteListParseFilter()

Project: abdera
File: FOMTest.java
public void testWhiteListParseFilter() throws Exception {
    ParseFilter filter = new WhiteListParseFilter();
    filter.add(Constants.FEED);
    filter.add(Constants.ENTRY);
    filter.add(Constants.TITLE);
    filter.add(Constants.ID);
    ParserOptions options = Parser.INSTANCE.getDefaultParserOptions();
    options.setParseFilter(filter);
    URL url = FOMTest.class.getResource("/simple.xml");
    InputStream in = url.openStream();
    Document<Feed> doc = Parser.INSTANCE.parse(in, url.toURI(), options);
    Feed feed = doc.getRoot();
    assertEquals(feed.getTitle(), "Example Feed");
    assertEquals(feed.getTitleType(), Text.Type.TEXT);
    assertNull(feed.getAlternateLink());
    assertNull(feed.getUpdated());
    assertNull(feed.getAuthor());
    assertEquals(feed.getId().toString(), "urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6");
    Entry entry = feed.getEntries().get(0);
    assertEquals(entry.getTitle(), "Atom-Powered Robots Run Amok");
    assertEquals(entry.getTitleType(), Text.Type.TEXT);
    assertNull(entry.getAlternateLink());
    assertEquals(entry.getId().toString(), "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a");
    assertNull(entry.getUpdated());
    assertNull(entry.getSummary());
    assertNull(entry.getSummaryType());
}

2. PrintTitles#main()

Project: abdera
File: PrintTitles.java
public static void main(String args[]) {
    InputStream input;
    try {
        input = new URL(args[0]).openStream();
    } catch (Exception e) {
        e.printStackTrace();
        return;
    }
    ParserOptions opts = Parser.INSTANCE.getDefaultParserOptions();
    ParseFilter filter = new WhiteListParseFilter();
    filter.add(Constants.FEED);
    filter.add(Constants.ENTRY);
    filter.add(Constants.TITLE);
    opts.setParseFilter(filter);
    Document<Feed> doc;
    try {
        doc = Parser.INSTANCE.parse(input, "", opts);
    } catch (Exception e) {
        e.printStackTrace();
        return;
    }
    Feed feed = doc.getRoot();
    List<Entry> entries = feed.getEntries();
    for (Entry e : entries) {
        System.out.println(e.getTitle());
    }
}

3. FOMTest#testBlackListParseFilter()

Project: abdera
File: FOMTest.java
public void testBlackListParseFilter() throws Exception {
    ParseFilter filter = new BlackListParseFilter();
    filter.add(Constants.UPDATED);
    ParserOptions options = Parser.INSTANCE.getDefaultParserOptions();
    options.setParseFilter(filter);
    URL url = FOMTest.class.getResource("/simple.xml");
    InputStream in = url.openStream();
    Document<Feed> doc = Parser.INSTANCE.parse(in, url.toURI(), options);
    Feed feed = doc.getRoot();
    assertEquals(feed.getTitle(), "Example Feed");
    assertEquals(feed.getTitleType(), Text.Type.TEXT);
    assertEquals(feed.getAlternateLink().getResolvedHref().toString(), "http://example.org/");
    assertNull(feed.getUpdated());
    assertEquals(feed.getAuthor().getName(), "John Doe");
    assertEquals(feed.getId().toString(), "urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6");
    Entry entry = feed.getEntries().get(0);
    assertEquals(entry.getTitle(), "Atom-Powered Robots Run Amok");
    assertEquals(entry.getTitleType(), Text.Type.TEXT);
    assertEquals(entry.getAlternateLink().getResolvedHref().toString(), "http://example.org/2003/12/13/atom03");
    assertEquals(entry.getId().toString(), "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a");
    assertNull(entry.getUpdated());
    assertEquals(entry.getSummary(), "Some text.");
    assertEquals(entry.getSummaryType(), Text.Type.TEXT);
}

4. UnacceptableElementsExample#main()

Project: abdera
File: UnacceptableElementsExample.java
public static void main(String[] args) throws Exception {
    /**
     * By subclassing BlackListParseFilter, we can throw an error 
     * when the parsed XML contains any content we don't want
     */
    ParseFilter exceptionFilter = new BlackListParseFilter() {

        @Override
        public boolean acceptable(QName qname) {
            boolean answer = super.acceptable(qname);
            if (!(answer)) {
                throw new FOMException("Unacceptable element ::" + qname);
            }
            return answer;
        }

        @Override
        public boolean acceptableAttribute(QName qname, QName attribute) {
            return true;
        }
    };
    exceptionFilter.add(new QName("http://example.org", "a"));
    ParserOptions options = Parser.INSTANCE.getDefaultParserOptions();
    options.setParseFilter(exceptionFilter);
    Document<Feed> doc = Parser.INSTANCE.parse(UnacceptableElementsExample.class.getResourceAsStream("/xmlcontent.xml"), (URI) null, options);
    // this will throw a FOMException
    doc.writeTo(System.out);
}

5. FOMBuilder#isAcceptableToParse()

Project: abdera
File: FOMBuilder.java
private boolean isAcceptableToParse(QName qname, boolean attribute) {
    if (parserOptions == null)
        return true;
    ParseFilter filter = parserOptions.getParseFilter();
    return (filter != null) ? (!attribute) ? filter.acceptable(qname) : filter.acceptableAttribute(parser.getName(), qname) : true;
}