[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Converting a org.ozoneDB.xml.dom.DocumentImpl to a String



I have a problem using the apache serialization stuff on
org.ozoneDB.xml.dom.DocumentImpl. The following fails:

    private String toString(Document document) throws Exception{
        StringWriter writer = new StringWriter();
        XMLSerializer serializer = new XMLSerializer(writer, new
OutputFormat("xml", "UTF-8", true));
        serializer.serialize(document);
        writer.flush();
        return writer.toString();
    }

Using SAX from the XMLContainer works fine:
    private String toString(XMLContainer container) throws Exception {
        int depth = -1;
        ExternalTransaction tx = database.newTransaction();
        tx.begin();
        try {
            StringWriter writer = new StringWriter();
            XMLSerializer serializer = new XMLSerializer( writer, new
OutputFormat("xml", "UTF-8", true) );
            ContentHandler handler = serializer.asContentHandler();
            container.extractSAX( handler, null, depth );
            writer.flush();
            tx.commit();
            return writer.toString();
        }
        catch (Exception e) {
            if (tx.getStatus() == tx.STATUS_ACTIVE)
                tx.rollback();
            throw e;
        }
    }

I do not have access to the XMLContainer from where i am so I cannot use the
second option. Does anyone have an idea what to do to convert the content of
a Document to a String?

Here the stack trace:
java.lang.AbstractMethodError
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:537)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:500)
        at org.ozoneDB.ExternalDatabase.invoke(ExternalDatabase.java:771)
        at
org.ozoneDB.xml.dom.ElementImpl_Proxy.item(ElementImpl_Proxy.java:127)
        at
org.apache.xml.serialize.XMLSerializer.serializeElement(XMLSerializer.java:6
05)
        at
org.apache.xml.serialize.BaseMarkupSerializer.serializeNode(BaseMarkupSerial
izer.java:931)
        at
org.apache.xml.serialize.XMLSerializer.serializeElement(XMLSerializer.java:6
39)
        at
org.apache.xml.serialize.BaseMarkupSerializer.serializeNode(BaseMarkupSerial
izer.java:931)
        at
org.apache.xml.serialize.BaseMarkupSerializer.serializeNode(BaseMarkupSerial
izer.java:995)
        at
org.apache.xml.serialize.BaseMarkupSerializer.serialize(BaseMarkupSerializer
.java:431)
        at LevelZeroTest.toString(LevelZeroTest.java:369)
        at LevelZeroTest.updateDOMDocument(LevelZeroTest.java:250)
        at LevelZeroTest.testDOM(LevelZeroTest.java:157)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.InflatableMethodAccessorImpl.invoke(Unknown Source)
        at XMLDBTestSuite.main(XMLDBTestSuite.java:60)

Best regards,
Per

----------------------------------------------------------------------
Post a message:         mailto:ozone-dev@ozone-db.org
Unsubscribe:            mailto:ozone-dev-request@ozone-db.org?body=unsubscribe
Contact adminstrator:   mailto:ozone-dev-owner@ozone-db.org
Read archived messages: http://www.ozone-db.org/
----------------------------------------------------------------------