You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2006/11/03 21:16:10 UTC

svn commit: r470973 - in /incubator/abdera/java/trunk: core/src/main/java/org/apache/abdera/filter/ core/src/main/java/org/apache/abdera/parser/ core/src/main/java/org/apache/abdera/util/ core/src/main/java/org/apache/abdera/util/filter/ examples/src/m...

Author: jmsnell
Date: Fri Nov  3 12:16:09 2006
New Revision: 470973

URL: http://svn.apache.org/viewvc?view=rev&rev=470973
Log:
Pull out TextFilter. This is something we can add back in fairly easily later if it becomes useful.

Removed:
    incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/filter/TextFilter.java
    incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/filter/NonOpTextFilter.java
    incubator/abdera/java/trunk/examples/src/main/java/org/apache/abdera/examples/simple/TextFilterExample.java
Modified:
    incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/parser/ParserOptions.java
    incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractParserOptions.java
    incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java
    incubator/abdera/java/trunk/parser/src/test/java/org/apache/abdera/test/parser/stax/FOMTest.java

Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/parser/ParserOptions.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/parser/ParserOptions.java?view=diff&rev=470973&r1=470972&r2=470973
==============================================================================
--- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/parser/ParserOptions.java (original)
+++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/parser/ParserOptions.java Fri Nov  3 12:16:09 2006
@@ -19,8 +19,6 @@
 
 import org.apache.abdera.factory.Factory;
 import org.apache.abdera.filter.ParseFilter;
-import org.apache.abdera.filter.TextFilter;
-
 
 /**
  * Parser options are used to modify the behavior of the parser. 
@@ -64,18 +62,6 @@
    * will only pay attention to elements whose QName's appear in the filter list.
    */
   void setParseFilter(ParseFilter parseFilter);
-  
-  /**
-   * Returns the TextFilter.  The text filter provides filtering for all
-   * character strings encountered during the parse process.
-   */
-  TextFilter getTextFilter();
-
-  /**
-   * Sets the TextFilter.  The text filter provides filtering for all
-   * character strings encountered during the parse process.
-   */
-  void setTextFilter(TextFilter textFilter);
   
   /**
    * Returns true if the parser should attempt to automatically detect the 

Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractParserOptions.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractParserOptions.java?view=diff&rev=470973&r1=470972&r2=470973
==============================================================================
--- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractParserOptions.java (original)
+++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractParserOptions.java Fri Nov  3 12:16:09 2006
@@ -19,7 +19,6 @@
 
 import org.apache.abdera.factory.Factory;
 import org.apache.abdera.filter.ParseFilter;
-import org.apache.abdera.filter.TextFilter;
 import org.apache.abdera.parser.ParserOptions;
 
 /**
@@ -31,7 +30,6 @@
   protected Factory factory = null;
   protected String charset = null;
   protected ParseFilter parseFilter = null;
-  protected TextFilter textFilter = null;
   protected boolean detect = false;
 
   protected abstract void initFactory();
@@ -47,9 +45,6 @@
     if (parseFilter != null)
       copy.parseFilter = (ParseFilter) parseFilter.clone();
     
-    if (textFilter != null)
-      copy.textFilter = (TextFilter) textFilter.clone();
-    
     return copy;
   }
 
@@ -76,14 +71,6 @@
   }
   public void setParseFilter(ParseFilter parseFilter) {
     this.parseFilter = parseFilter;
-  }
-  
-  public TextFilter getTextFilter() {
-    return textFilter;
-  }
-  
-  public void setTextFilter(TextFilter textFilter) {
-    this.textFilter = textFilter;
   }
   
   public boolean getAutodetectCharset() {

Modified: incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java?view=diff&rev=470973&r1=470972&r2=470973
==============================================================================
--- incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java (original)
+++ incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java Fri Nov  3 12:16:09 2006
@@ -23,7 +23,6 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.abdera.filter.ParseFilter;
-import org.apache.abdera.filter.TextFilter;
 import org.apache.abdera.model.Content;
 import org.apache.abdera.model.Document;
 import org.apache.abdera.model.Element;
@@ -139,35 +138,16 @@
   
   private OMNode applyTextFilter(int type) {
     if (parserOptions != null) { 
-      TextFilter filter = parserOptions.getTextFilter();
       ParseFilter parseFilter = parserOptions.getParseFilter();
       if (parseFilter != null) {
-        if (parser.isWhiteSpace() && parseFilter.getIgnoreWhitespace()) return createOMText("",type);
-      }
-      if (filter != null) {
-        String value = parser.getText();
-        if (!lastNode.isComplete())
-          value = filter.applyFilter(
-            parser.getTextCharacters(), 
-            parser.getTextStart(), 
-            parser.getTextLength(), 
-            (Element)lastNode);
-        return createOMText(value, type);
+        if (parser.isWhiteSpace() && 
+            parseFilter.getIgnoreWhitespace()) 
+              return createOMText("",type);
       }
     }
     return createOMText(type);
   }
   
-  private String applyAttributeTextFilter(String value, QName attribute, Element parent) {
-    if (parserOptions != null) { 
-      TextFilter filter = parserOptions.getTextFilter();
-      if (filter != null) {
-        return filter.applyFilter(value, parent, attribute);
-      }
-    }
-    return value;
-  }
-  
   private int getNextElementToParse() 
     throws XMLStreamException{
       int token = parser.next();
@@ -310,9 +290,7 @@
                 namespace = node.declareNamespace(uri, prefix);
             }
         }
-        String value = applyAttributeTextFilter(
-          parser.getAttributeValue(i), 
-          attr, (Element)node);
+        String value = parser.getAttributeValue(i);
         node.addAttribute(parser.getAttributeLocalName(i),
                 value, namespace);
       }

Modified: incubator/abdera/java/trunk/parser/src/test/java/org/apache/abdera/test/parser/stax/FOMTest.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/test/java/org/apache/abdera/test/parser/stax/FOMTest.java?view=diff&rev=470973&r1=470972&r2=470973
==============================================================================
--- incubator/abdera/java/trunk/parser/src/test/java/org/apache/abdera/test/parser/stax/FOMTest.java (original)
+++ incubator/abdera/java/trunk/parser/src/test/java/org/apache/abdera/test/parser/stax/FOMTest.java Fri Nov  3 12:16:09 2006
@@ -35,9 +35,7 @@
 import org.apache.abdera.Abdera;
 import org.apache.abdera.factory.Factory;
 import org.apache.abdera.filter.ListParseFilter;
-import org.apache.abdera.filter.TextFilter;
 import org.apache.abdera.model.AtomDate;
-import org.apache.abdera.model.Base;
 import org.apache.abdera.model.Category;
 import org.apache.abdera.model.Collection;
 import org.apache.abdera.model.Content;
@@ -64,7 +62,6 @@
 import org.apache.abdera.util.URIHelper;
 import org.apache.abdera.util.Version;
 import org.apache.abdera.util.filter.BlackListParseFilter;
-import org.apache.abdera.util.filter.NonOpTextFilter;
 import org.apache.abdera.util.filter.WhiteListParseFilter;
 import org.apache.abdera.writer.Writer;
 import org.apache.abdera.writer.WriterFactory;
@@ -238,50 +235,6 @@
     assertEquals(entry.getSummary(), "Some text.");
     assertEquals(entry.getSummaryType(), Text.Type.TEXT);
 
-  }
-  
-  public void testTextFilter() throws Exception {
-    
-    TextFilter filter = new NonOpTextFilter() {
-      @Override
-      public String applyFilter(char[] c, int start, int len, Element parent) {
-        QName qname = parent.getQName();
-        Base elparent = parent.getParentElement();
-        String text = new String(c,start,len);
-        if (Constants.NAME.equals(qname)) {
-          text = "Jane Doe";
-        } else if (Constants.TITLE.equals(qname) && elparent instanceof Entry) {
-          text = text.replaceAll("Amok", "Crazy");
-        }
-        return text;
-      }
-    };
-    
-    ParserOptions options = getParser().getDefaultParserOptions();
-    options.setTextFilter(filter);
-    
-    URL url = FOMTest.class.getResource("/simple.xml");
-    InputStream in = url.openStream();
-    Document<Feed> doc = getParser().parse(in, url.toString(), options);
-    Feed feed = doc.getRoot();
-    
-    assertEquals(feed.getTitle(),"Example Feed");
-    assertEquals(feed.getTitleType(), Text.Type.TEXT);
-    assertEquals(feed.getAlternateLink().getResolvedHref().toString(), "http://example.org/");
-    assertNotNull(feed.getUpdated());
-    assertEquals(feed.getAuthor().getName(), "Jane 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 Crazy");
-    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");
-    assertNotNull(entry.getUpdated());
-    assertEquals(entry.getSummary(), "Some text.");
-    assertEquals(entry.getSummaryType(), Text.Type.TEXT);
-    
   }
   
   public void testXPath() throws Exception {