[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] alph org/nongnu/alph/xml/SpanReader.java org/no...
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] alph org/nongnu/alph/xml/SpanReader.java org/no... |
Date: |
Sun, 06 Apr 2003 01:56:08 -0500 |
CVSROOT: /cvsroot/alph
Module name: alph
Changes by: Tuomas J. Lukka <address@hidden> 03/04/06 01:56:08
Modified files:
org/nongnu/alph/xml: SpanReader.java SpanSerializer.java
serialization.test
Added files:
. : TODO
Log message:
Make span serialization work a little better, for fenfire content
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/alph/alph/TODO?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/alph/alph/org/nongnu/alph/xml/SpanReader.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/alph/alph/org/nongnu/alph/xml/SpanSerializer.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/alph/alph/org/nongnu/alph/xml/serialization.test.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: alph/org/nongnu/alph/xml/SpanReader.java
diff -u alph/org/nongnu/alph/xml/SpanReader.java:1.2
alph/org/nongnu/alph/xml/SpanReader.java:1.3
--- alph/org/nongnu/alph/xml/SpanReader.java:1.2 Wed Mar 26 05:17:54 2003
+++ alph/org/nongnu/alph/xml/SpanReader.java Sun Apr 6 01:56:08 2003
@@ -8,6 +8,7 @@
/** A simple span serializer / deserializer.
* Just takes a sequence of spans and adds them to a list.
+ * To clear the list between readings, call clear().
*/
public class SpanReader extends org.xml.sax.helpers.DefaultHandler {
@@ -22,11 +23,17 @@
private ArrayList spans = new ArrayList();
+ /** Empty this SpanReader for another read operation.
+ */
+ public void clear() { spans.clear(); }
+
public List getSpans() { return spans; }
public void startElement(String uri, String localName, String qName,
org.xml.sax.Attributes attributes) {
if(dbg) pa("Se: '"+uri+"' '"+localName+"' '"+qName+"'");
+ // Wrapper element
+ if(qName.equals("alph")) return;
if(qName.equals("ts")) {
String b = attributes.getValue("b");
int s = Integer.parseInt(attributes.getValue("s"));
Index: alph/org/nongnu/alph/xml/SpanSerializer.java
diff -u alph/org/nongnu/alph/xml/SpanSerializer.java:1.2
alph/org/nongnu/alph/xml/SpanSerializer.java:1.3
--- alph/org/nongnu/alph/xml/SpanSerializer.java:1.2 Wed Mar 26 05:17:54 2003
+++ alph/org/nongnu/alph/xml/SpanSerializer.java Sun Apr 6 01:56:08 2003
@@ -2,6 +2,8 @@
package org.nongnu.alph.xml;
import org.nongnu.alph.*;
+import java.util.List;
+import java.util.Iterator;
/** A simple span serializer / deserializer.
*/
@@ -30,7 +32,16 @@
}
public String get() {
- return b.toString();
+ return "<alph>"+b.toString()+"</alph>";
+ }
+
+ static public String serialize(Enfilade1D enf) {
+ List l = enf.getList();
+ SpanSerializer ser = new SpanSerializer();
+ for(Iterator i = l.iterator(); i.hasNext(); ) {
+ ser.addSpan((Span)i.next());
+ }
+ return ser.get();
}
}
Index: alph/org/nongnu/alph/xml/serialization.test
diff -u alph/org/nongnu/alph/xml/serialization.test:1.3
alph/org/nongnu/alph/xml/serialization.test:1.4
--- alph/org/nongnu/alph/xml/serialization.test:1.3 Wed Mar 26 05:21:11 2003
+++ alph/org/nongnu/alph/xml/serialization.test Sun Apr 6 01:56:08 2003
@@ -56,3 +56,32 @@
failUnlessEqual(sp.e, 10)
failUnlessEqual(SpanSerializer().span2xml(sp), str)
+
+def testMultiple():
+ """See that multiple span readings work right.
+ """
+ r = SpanReader()
+ r.scrollBlockFactory = Fact()
+ str = """<alph><ts b="X" s="5" e="10"/><ts b="Y" s="7" e="8"/></alph>"""
+ parseString(str, r)
+ list = r.getSpans()
+ failUnlessEqual(list.size(), 2)
+
+ failUnlessEqual(
+ SpanSerializer.serialize(
+ alph.impl.Enfilade1DImpl.Enfilade1DImplMaker().makeEnfilade(list)),
+ str
+ )
+
+
+ parseString(str, r)
+ list = r.getSpans()
+ failUnlessEqual(list.size(), 4)
+ r.clear()
+ list = r.getSpans()
+ failUnlessEqual(list.size(), 0)
+ parseString(str, r)
+ list = r.getSpans()
+ failUnlessEqual(list.size(), 2)
+
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] alph org/nongnu/alph/xml/SpanReader.java org/no...,
Tuomas J. Lukka <=