Ok, so I let the app run for a few days and now I'm getting errors while
trying to basically instantiate Transfer objects. I've made some changes
to public/private packaging so I can get at the Transfer configuration and
here's what's happening:
<cfset orm = application.cs.getBean("ormService") />
<cfset t = orm.getTransfer() />
<cfset objMgr = t.getObjectManager() />
<cfset to = objMgr.getObject("event.event") />
<cfdump var="#t.getObjectManager().getObjectGateway().listClasses()#"
label="array of classes in definitions" />
<cfset objDAO = objMgr.getObjectDAO() />
<cfset empty = objMgr.createEmptyObject() />
<cfset objDAO.getObject(empty, "event.event") />
<cfset xmlFileReader = objDAO.getConfigReader() />
<cfset xml = xmlFileReader.getXMLCollection() />
<cfdump var="#xml#" label="shows the XML in memory read by transfer"
top="1" />
I can get up to the point where I getXMLCollection(). As soon as I try to
navigate it with cfdump or anything else, I get a very terse "err" with a
stack overflow:
Stack Trace java.lang.StackOverflowError at
net.sf.saxon.serialize.XMLEmitter.writeCharSequence(XMLEmitter.java:652) at
net.sf.saxon.serialize.XMLEmitter.writeEscape(XMLEmitter.java:745) at
net.sf.saxon.serialize.XMLEmitter.characters(XMLEmitter.java:591) at
net.sf.saxon.serialize.UncommittedSerializer.characters(UncommittedSerializer.java:67)
at net.sf.saxon.event.ProxyReceiver.characters(ProxyReceiver.java:186) at
net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:172) at
net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:235) at
net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:150) at
net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:235) at
net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:150) at
net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:235) at
net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:150) at
net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:235) at
net.sf.saxon.dom.DOMSender.walkNode(DOMSender.java:150) at
And the walkNode just repeats to infinity and the request fails.
Interestingly I can do <cfdump
var="#xmlFileReader.search("/transfer/objectDefinitions/package[@name='event']/object[@name='event']")#"
label="Searching for event.event in the config reader" />
which works and behind the scenes that uses getXMLCollection(), but
something is borked. Interestingly if I try changing that search, all of
these fail with the same stackoverflow error:
xmlFileReader.search("/transfer/objectDefinitions/package")
xmlFileReader.search("/transfer/objectDefinitions")
xmlFileReader.search("//objectDefinitions/package")
xmlFileReader.search("//objectDefinitions")
These all failed with a slightly different but XML-related error:
java.lang.StackOverflowError at
org.apache.xerces.dom.ParentNode.item(Unknown Source) at
net.sf.saxon.dom.NodeWrapper$ChildEnumeration.skipFollowingTextNodes(NodeWrapper.java:1166)
at
net.sf.saxon.dom.NodeWrapper$ChildEnumeration.next(NodeWrapper.java:1194)
at
net.sf.saxon.tree.util.Navigator$EmptyTextFilter.next(Navigator.java:918)
at
net.sf.saxon.tree.util.Navigator$DescendantEnumeration.advance(Navigator.java:1052)
at
net.sf.saxon.tree.util.Navigator$DescendantEnumeration.advance(Navigator.java:1111)
at
net.sf.saxon.tree.util.Navigator$BaseEnumeration.next(Navigator.java:949)
at
net.sf.saxon.tree.util.Navigator$DescendantEnumeration.advance(Navigator.java:1043)
at (which repeats until the end)
I've gotten to the point where I can access a messed up XMLCollection. Any
suggestions on how to traverse the collection looking for what appears to
be a recursive problem?
(thinking about it, maybe I'm not supposed to be able to dump it because of
links and m2o, o2m, etc?)
Brian
--
--
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer
Try out the new Transfer ORM Custom Google Search:
http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8
You received this message because you are subscribed to the Google Groups
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/transfer-dev?hl=en
---
You received this message because you are subscribed to the Google Groups
"transfer-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.