Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
Version 1
-
None
-
None
Description
I've attached a simple example of an issue I am seeing. This is in the v1 codebase...Have not check v2 (assuming the same)
Basically I cannot get the value of a child element via the generated getter:
StateInformation resourceState = resState.getResourceState();
//should return a string...
String state = resourceState.getState();
System.out.println("State: " + state);//null!
What I see in the debugger is:
Root.fetch ( ...)
...
(line 3314)case BEGIN :
if (nameHit( name, set, s.getName() ))
//This is the issue in this context...In this case it should continue in the loop, not set to "finish"
s = s.getFinishSplay();
break;
...
So when we get the BEGIN case, the s.getName() is ResourceState and "name" is "State". The name I am looking for is State (child of ResourceState). Since the names do not match the call to "s = s.getFinishSplay()" sets the Splay to the end of the element. Then the loop moves on past that element....Maybe it thinks it's the child element and not the root??
Had "s = s.getFinishSplay()" not been called, then the next time through the loop (Splay s = parent.nextSplay()) would get the Splay named "State" and the names would match and everything would be happy.....
The example code and generated types can be used to produce the problem....