Yeah, I've seen this at times as well - it seemed like it was happening once each time 
I cleaned out the build directory and then reran the tests from scratch, then it was 
fine after that.  I haven't done solid research on it yet, though.

David, perhaps you and I can work together to nail down the shape of this problem into 
a reproducible case.

--Glen

> -----Original Message-----
> From: Russell Butek [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, February 19, 2002 8:29 AM
> To: [EMAIL PROTECTED]
> Subject: RE: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava
> Sch emaUtils.java
> 
> 
> Ouch.  No, I'm afraid I haven't seen this problem.  Hopefully 
> someone else
> can help?  What platform are you on?
> 
> Russell Butek
> [EMAIL PROTECTED]
> 
> 
> David Altenburg <[EMAIL PROTECTED]> on 02/18/2002 
> 06:03:33 PM
> 
> Please respond to [EMAIL PROTECTED]
> 
> To:   "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
> cc:
> Subject:  RE: cvs commit: 
> xml-axis/java/src/org/apache/axis/wsdl/toJava Sch
>           emaUtils.java
> 
> 
> 
> 
> 
> Thanks.� Saw that, and I'd like to write one.
> However, I'm having some problems running the test suite with 
> Ant.� I get a
> ClassNotFoundException on 
> samples.userguide.example6.WidgetPrice (and after
> commenting that out, I see that I get a ClassNotFound on 
> every one of the
> samples classes).� That class is getting built, however, and 
> it is in my
> classpath (xml-axis/java/build/classes).� This question is 
> probably better
> suited for the Ant list, but I was wondering if anyone here 
> had had the
> same problem.
> 
> Thanks,
> 
> David Altenburg
> [EMAIL PROTECTED]
> 
> >-----Original Message-----
> >From: Russell Butek [mailto:[EMAIL PROTECTED]]
> >Sent: Monday, February 18, 2002 9:59 AM
> >To: [EMAIL PROTECTED]
> >Subject: RE: cvs commit:
> >xml-axis/java/src/org/apache/axis/wsdl/toJava Sch emaUtils.java
> >
> >
> >David, in his commit comment, Rich said, "Need a testcase..."
> >
> >Hint hint!
> >
> >Russell Butek
> >[EMAIL PROTECTED]
> >
> >
> >David Altenburg <[EMAIL PROTECTED]> on 02/18/2002
> >09:42:37 AM
> >
> >Please respond to [EMAIL PROTECTED]
> >
> >To:�� "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
> >cc:
> >Subject:� RE: cvs commit:
> >xml-axis/java/src/org/apache/axis/wsdl/toJava Sch
> >����� emaUtils.java
> >
> >
> >
> >
> >
> >Excellent.� Thanks!
> >
> >David Altenburg
> >[EMAIL PROTECTED]
> >
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> >>Sent: Friday, February 15, 2002 5:02 PM
> >>To: [EMAIL PROTECTED]
> >>Subject: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava
> >>SchemaUtils.java
> >>
> >>
> >>scheu������ 02/02/15 15:02:19
> >>
> >>� Modified:��� java/src/org/apache/axis/wsdl/toJava SchemaUtils.java
> >>� Log:
> >>� Changes per axis-dev request from David Altenburg.
> >>
> >>� The WSDL2Java emitter now parses choice and group elements
> >underneath
> >>� complexType elements.
> >>
> >>� Need a testcase...
> >>
> >>� Revision� Changes��� Path
> >>� 1.9������ +132 -21
> >>xml-axis/java/src/org/apache/axis/wsdl/toJava/SchemaUtils.java
> >>
> >>� Index: SchemaUtils.java
> >>� 
> ===================================================================
> >>� RCS file:
> >>/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/SchemaU
> >>tils.java,v
> >>� retrieving revision 1.8
> >>� retrieving revision 1.9
> >>� diff -u -r1.8 -r1.9
> >>� --- SchemaUtils.java 15 Feb 2002 19:41:17 -0000����� 1.8
> >>� +++ SchemaUtils.java 15 Feb 2002 23:02:19 -0000����� 1.9
> >>� @@ -163,33 +163,18 @@
> >>�������������� }
> >>�������������� if (groupNode != null) {
> >>
> >>� -��������������� // Process each of the element nodes under
> >the group
> >>node
> >>� +��������������� // Process each of the choice or element
> >nodes under
> >>the sequence/all node
> >>������������������ Vector v = new Vector();
> >>������������������ NodeList elements = groupNode.getChildNodes();
> >>������������������ for (int i=0; i < elements.getLength(); i++) {
> >>���������������������� QName elementKind =
> >>Utils.getNodeQName(elements.item(i));
> >>���������������������� if (elementKind != null &&
> >>� -
> >>elementKind.getLocalPart().equals("element") &&
> >>
> >>Constants.isSchemaXSD(elementKind.getNamespaceURI())) {
> >>� -
> >>� -����������������������� // Get the name and type qnames.
> >>� -����������������������� // The name of the element is the
> >local part
> >>of the name's qname.
> >>� -����������������������� // The type qname is used to locate the
> >>TypeEntry, which is then
> >>� -����������������������� // used to retrieve the proper
> >java name of
> >>the type.
> >>� -����������������������� Node elementNode = elements.item(i);
> >>� -����������������������� QName nodeName =
> >>Utils.getNodeNameQName(elementNode);
> >>� -����������������������� BooleanHolder forElement = new
> >>BooleanHolder();
> >>� -����������������������� QName nodeType =
> >>Utils.getNodeTypeRefQName(elementNode, forElement);
> >>� -����������������������� if (nodeType == null) { // The 
> element may
> >>use an anonymous type
> >>� -��������������������������� nodeType = nodeName;
> >>� -��������������������������� forElement.value = false;
> >>� -����������������������� }
> >>� -
> >>� -����������������������� TypeEntry type = (TypeEntry)
> >>symbolTable.getTypeEntry(nodeType,
> >>� -
> >>����������������� forElement.value);
> >>� -����������������������� if (type != null) {
> >>� -��������������������������� v.add(type);
> >>� -��������������������������� v.add(nodeName.getLocalPart());
> >>� +����������������������� if (
> >>elementKind.getLocalPart().equals("element")) {
> >>� +
> >>v.addAll(processChildElementNode(elements.item(i), symbolTable));
> >>� +����������������������� } else if
> >>(elementKind.getLocalPart().equals("choice")) {
> >>� +��������������������������� Vector choiceElems =
> >>processChoiceNode(elements.item(i), symbolTable);
> >>� +��������������������������� v.addAll(choiceElems);
> >>�������������������������� }
> >>���������������������� }
> >>������������������ }
> >>� @@ -197,6 +182,132 @@
> >>�������������� }
> >>���������� }
> >>���������� return null;
> >>� +��� }
> >>� +
> >>� +��� /**
> >>� +���� * Invoked by getComplexElementTypesAndNames to get the child
> >>element types
> >>� +���� * and child element names underneath a Choice Node
> >>� +���� */
> >>� +��� private static Vector processChoiceNode(Node choiceNode,
> >>SymbolTable symbolTable) {
> >>� +������� Vector v = new Vector();
> >>� +������� NodeList children = choiceNode.getChildNodes();
> >>� +������� for (int j = 0; j < children.getLength(); j++) {
> >>� +����������� QName subNodeKind =
> >>Utils.getNodeQName(children.item(j));
> >>� +����������� if (subNodeKind != null &&
> >>� +
> >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) {
> >>� +��������������� if 
> (subNodeKind.getLocalPart().equals("choice")) {
> >>� +
> >>v.addAll(processChoiceNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("sequence")) {
> >>� +
> >>v.addAll(processSequenceNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("group")) {
> >>� +
> >>v.addAll(processGroupNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("element")) {
> >>� +
> >>v.addAll(processChildElementNode(children.item(j), symbolTable));
> >>� +��������������� }
> >>� +����������� }
> >>� +������� }
> >>� +������� return v;
> >>� +��� }
> >>� +
> >>� +��� /**
> >>� +���� * Invoked by getComplexElementTypesAndNames to get the child
> >>element types
> >>� +���� * and child element names underneath a Sequence Node
> >>� +���� */
> >>� +��� private static Vector processSequenceNode(Node sequenceNode,
> >>SymbolTable symbolTable) {
> >>� +������� Vector v = new Vector();
> >>� +������� NodeList children = sequenceNode.getChildNodes();
> >>� +������� for (int j = 0; j < children.getLength(); j++) {
> >>� +����������� QName subNodeKind =
> >>Utils.getNodeQName(children.item(j));
> >>� +����������� if (subNodeKind != null &&
> >>� +
> >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) {
> >>� +��������������� if 
> (subNodeKind.getLocalPart().equals("choice")) {
> >>� +
> >>v.addAll(processChoiceNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("sequence")) {
> >>� +
> >>v.addAll(processSequenceNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("group")) {
> >>� +
> >>v.addAll(processGroupNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("element")) {
> >>� +
> >>v.addAll(processChildElementNode(children.item(j), symbolTable));
> >>� +��������������� }
> >>� +����������� }
> >>� +������� }
> >>� +������� return v;
> >>� +��� }
> >>� +
> >>� +��� /**
> >>� +���� * Invoked by getComplexElementTypesAndNames to get the child
> >>element types
> >>� +���� * and child element names underneath a group node.
> >>� +���� * (Currently the code only supports a defined group
> >it does not
> >>� +���� * support a group that references a previously 
> defined group)
> >>� +���� */
> >>� +��� private static Vector processGroupNode(Node groupNode,
> >>SymbolTable symbolTable) {
> >>� +������� Vector v = new Vector();
> >>� +������� NodeList children = groupNode.getChildNodes();
> >>� +������� for (int j = 0; j < children.getLength(); j++) {
> >>� +����������� QName subNodeKind =
> >>Utils.getNodeQName(children.item(j));
> >>� +����������� if (subNodeKind != null &&
> >>� +
> >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) {
> >>� +��������������� if 
> (subNodeKind.getLocalPart().equals("choice")) {
> >>� +
> >>v.addAll(processChoiceNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("sequence")) {
> >>� +
> >>v.addAll(processSequenceNode(children.item(j), symbolTable));
> >>� +��������������� } else if
> >>(subNodeKind.getLocalPart().equals("all")) {
> >>� +
> >>v.addAll(processAllNode(children.item(j), symbolTable));
> >>� +��������������� }
> >>� +����������� }
> >>� +������� }
> >>� +������� return v;
> >>� +��� }
> >>� +
> >>� +��� /**
> >>� +���� * Invoked by getComplexElementTypesAndNames to get the child
> >>element types
> >>� +���� * and child element names underneath an all node.
> >>� +���� */
> >>� +��� private static Vector processAllNode(Node allNode, 
> SymbolTable
> >>symbolTable) {
> >>� +������� Vector v = new Vector();
> >>� +������� NodeList children = allNode.getChildNodes();
> >>� +������� for (int j = 0; j < children.getLength(); j++) {
> >>� +����������� QName subNodeKind =
> >>Utils.getNodeQName(children.item(j));
> >>� +����������� if (subNodeKind != null &&
> >>� +
> >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) {
> >>� +��������������� if 
> (subNodeKind.getLocalPart().equals("element")) {
> >>� +
> >>v.addAll(processChildElementNode(children.item(j), symbolTable));
> >>� +��������������� }
> >>� +����������� }
> >>� +������� }
> >>� +������� return v;
> >>� +��� }
> >>� +
> >>� +
> >>� +��� /**
> >>� +���� * Invoked by getComplexElementTypesAndNames to get the child
> >>element type
> >>� +���� * and child element name for a child element node.
> >>� +���� *
> >>� +���� * If the specified node represents a supported JAX-RPC child
> >>element,
> >>� +���� * a Vector is returned which contains the child element type
> >>and
> >>� +���� * child element name.� The 0th index is the element types
> >>(TypeEntry) and
> >>� +���� * the 1st index is the corresponding name (Strings).
> >>� +���� */
> >>� +��� private static Vector processChildElementNode(Node
> >elementNode,
> >>SymbolTable symbolTable) {
> >>� +������� Vector v = new Vector();
> >>� +������� // Get the name and type qnames.
> >>� +������� // The name of the element is the local part of 
> the name's
> >>qname.
> >>� +������� // The type qname is used to locate the TypeEntry,
> >which is
> >>then
> >>� +������� // used to retrieve the proper java name of the type.
> >>� +������� QName nodeName = Utils.getNodeNameQName(elementNode);
> >>� +������� BooleanHolder forElement = new BooleanHolder();
> >>� +������� QName nodeType = Utils.getNodeTypeRefQName(elementNode,
> >>forElement);
> >>� +������� if (nodeType == null) { // The element may use an
> >anonymous
> >>type
> >>� +������������ nodeType = nodeName;
> >>� +������������ forElement.value = false;
> >>� +������� }
> >>� +
> >>� +������� TypeEntry type = (TypeEntry)
> >>symbolTable.getTypeEntry(nodeType, forElement.value);
> >>� +������� if (type != null) {
> >>� +����������� v.add(type);
> >>� +����������� v.add(nodeName.getLocalPart());
> >>� +������� }
> >>� +������� return v;
> >>������ }
> >>
> >>������ /**
> >>
> >>
> >>
> >>
> >
> >
> >
> 
> 
> 

Reply via email to