nodeFactory.getNoNamespace() returns null
Evert Hoff <[email protected]>
| Newsgroups | gmane.comp.java.ozone.user |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I am trying to run the DocumentHelperTest example, but am getting a
NullPointerException. It has to do with creating attributes. I have
tried to track down the problem, but don't know what can be done to fix
it...
Here is the client output:
========================================
D:\Eclipse\eclipse\workspace\ozone\modules\xml\dom4j\build\classes>java
-classpa
th
.;..\..\..\..\..\server\build\lib\junit.jar;..\..\..\..\..\server\build\lib\o
zoneServer-1.2-post_alpha.jar;..\dist\jaxen-core.jar
test.ozoneDB.xml.dom4j.Docu
mentHelperTest
looking for OzoneDocumentFactory instance (DocumentFactory) for database
RemoteD
atabase: localhost, 3333
returning factory class
org.ozoneDB.xml.dom4j.o3impl.OzoneDocumentFactoryImpl_Pr
oxy remoteID:104
[DocumentHelperTest] - Refetching
[DocumentHelperTest] - doc is class
org.ozoneDB.xml.dom4j.o3impl.OzoneDocumentIm
pl_Proxy remoteID:108
[DocumentHelperTest] - Here's the content:
<?xml version="1.0" encoding="UTF-8"?>
[DocumentHelperTest] - Created test element class
org.ozoneDB.xml.dom4j.o3impl.O
zoneElementImpl_Proxy remoteID:30114
[DocumentHelperTest] - adding content to element
[DocumentHelperTest] - testElem.getName() test
[DocumentHelperTest] - testElem test associated with document!
[DocumentHelperTest] - getNamespace =
org.dom4j.tree.AbstractNamespace@babe [Abs
tractNamespace: prefix mapped to URI ""]
[DocumentHelperTest] - Here's the content:
<?xml version="1.0" encoding="UTF-8"?>
<test>some text</test>
Comment added to testElem
[DocumentHelperTest] - Here's the content:
<?xml version="1.0" encoding="UTF-8"?>
<test>some text<!--Comment text...--></test>
Comment added to Document
========================================
It hangs after "Comment added to Document", so the problem occurs during
this line in DocumentHelperTest:
QName name = O3DocumentHelper.createQName("name");
System.out.println("Created qname");
Here is the server output:
========================================
(Ctrl-C or 'q' to shutdown without admin tool)
class org.ozoneDB.xml.dom4j.o3impl.O3QNameCache O3QNameCache constructor
invoked
class org.ozoneDB.xml.dom4j.o3impl.O3QNameCache O3QNameCache constructor
invoked
[OzoneElementImpl] Creating new object
class org.ozoneDB.xml.dom4j.o3impl.O3QNameCache O3QNameCache constructor
invoked
class org.ozoneDB.xml.dom4j.o3impl.O3QNameCache O3QNameCache constructor
invoked
createQName(name)
looking for OzoneDocumentFactory instance (DocumentFactory) for database
org.ozo
neDB.Database@170888e
returning factory class
org.ozoneDB.xml.dom4j.o3impl.OzoneDocumentFactoryImpl_Pr
oxy remoteID:104
In cache: org.ozoneDB.xml.dom4j.o3impl.O3QName@337a8b [name: name
namespace: "nu
ll"]
WARN [Thread-4] InvokeServer - handleClientEvent():
java.lang.NullPointerExcep
tion
java.lang.NullPointerException
at
org.ozoneDB.xml.dom4j.o3impl.DefaultQName.writeObject(DefaultQName.ja
va:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at org.ozoneDB.DxLib.net.DxClient.send(Unknown Source)
at org.ozoneDB.core.InvokeServer.handleClientEvent(Unknown Source)
at org.ozoneDB.DxLib.net.DxMultiServerClient.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
========================================
The reason is the namespace is null in
DefaultQName.writeObject(ObjectOutputStream out).
That is null because nodeFactory.getNoNamespace() returns null.
That is null because NamespaceCacheImpl.createNamespace(String prefix,
String uri) has not yet been implemented:
/** A factory method to create {@link AbstractNamespace} instance
* @return a newly created {@link Namespace} instance.
*/
protected Namespace createNamespace(String prefix, String uri) {
throw new RuntimeException("FIXME - should NamespaceCacheImpl
become a real OzoneObject or whould db be passed?");
//return O3Namespace.create(db, prefix, uri);
}
What can I do to fix this?
Thanks in advance,
Evert
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click