Hi Glen,
Looks like you've put the namespace stack problem back in by restoring
the original order of operations (call to clearFrame() before
decrementing top). Am I missing something here? The problem I saw was
that namespaces were pushed on the stack before the null value, so the
null value had to be removed before calling clearFrame(). If you can
tell me what went wrong when the order was changed perhaps I can suggest
an alternative fix. Sorry I didn't try this out with the whole test
suite myself, I'm hoping to get set up for full build this next weekend.
This whole business of pushing nulls on the stack as markers leaves me
uncomfortable. I'd prefer using two stacks, one for the actual
namespaces and one for the frames (as top of stack values for the
namespace stack). It's a substantial change to make without a good
reason, though.
- Dennis
gdaniels@apache.org wrote:
>gdaniels 2002/12/11 08:12:30
>
> Modified: java/src/org/apache/axis/providers/java RPCProvider.java
> java/src/org/apache/axis/utils NSStack.java
> Log:
> Tweak NSStack fix, and throw the unwrapped exception if deserializing
> from within RPCProvider.
>
>
>
> 1.35 +3 -6 xml-axis/java/src/org/apache/axis/utils/NSStack.java
>
> Index: NSStack.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/NSStack.java,v
> retrieving revision 1.34
> retrieving revision 1.35
> diff -u -r1.34 -r1.35
> --- NSStack.java 10 Dec 2002 17:22:03 -0000 1.34
> +++ NSStack.java 11 Dec 2002 16:12:30 -0000 1.35
> @@ -58,9 +58,6 @@
> import org.apache.commons.logging.Log;
>
> import java.util.ArrayList;
> -import java.util.Enumeration;
> -import java.util.Stack;
> -import java.util.Iterator;
>
> /**
> * The abstraction this class provides is a push down stack of variable
> @@ -79,7 +76,7 @@
> * Accordingly, this stack is implemented as a single array, will null
> * values used to indicate frame boundaries.
> *
> - * @author: James Snell
> + * @author James Snell
> * @author Glen Daniels (gdaniels@macromedia.com)
> * @author Sam Ruby (rubys@us.ibm.com)
> */
> @@ -118,9 +115,9 @@
> * Remove the top frame from the stack.
> */
> public void pop() {
> - top--;
> -
> clearFrame();
> +
> + top--;
>
> if (top == 0) {
> if (log.isTraceEnabled())
>
>
>
>
>
>
|