Thanks, Dims! What the heck is the point of getNamespacePrefixes(), anyway? Doesn't seem very useful to me, unless you're trying to figure out a new prefix so it doesn't collide with an already-mapped one. *shrug*
--Glen > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:dims@;apache.org] > Sent: Tuesday, November 05, 2002 10:53 AM > To: [EMAIL PROTECTED] > Subject: cvs commit: xml-axis/java/test/message > TestMessageElement.java > > > dims 2002/11/05 07:53:18 > > Modified: java/src/org/apache/axis/message MessageElement.java > java/test/message TestMessageElement.java > Log: > - Reworking previous Fix for Bug 14140 to prevent object creation. > - Checking in a test case as well. > > Revision Changes Path > 1.135 +16 -14 > xml-axis/java/src/org/apache/axis/message/MessageElement.java > > Index: MessageElement.java > =================================================================== > RCS file: > /home/cvs/xml-axis/java/src/org/apache/axis/message/MessageEle > ment.java,v > retrieving revision 1.134 > retrieving revision 1.135 > diff -u -r1.134 -r1.135 > --- MessageElement.java 5 Nov 2002 14:40:31 -0000 1.134 > +++ MessageElement.java 5 Nov 2002 15:53:17 -0000 1.135 > @@ -143,7 +143,7 @@ > > protected MessageElement parent = null; > > - public ArrayList namespaces = new ArrayList(); > + public ArrayList namespaces = null; > > /** Our encoding style, if any */ > protected String encodingStyle = null; > @@ -301,7 +301,7 @@ > * @return Attributes collection > */ > public Attributes getCompleteAttributes() { > - if (namespaces.size()==0) > + if (namespaces == null) > return attributes; > > AttributesImpl attrs = null; > @@ -447,8 +447,7 @@ > > public void setNSMappings(ArrayList namespaces) > { > - if(namespaces != null) > - this.namespaces = namespaces; > + this.namespaces = namespaces; > } > > public String getPrefix(String namespaceURI) { > @@ -459,7 +458,7 @@ > return getRealElement().getPrefix(namespaceURI); > } > > - for (int i = 0; i < namespaces.size(); i++) { > + for (int i = 0; namespaces != null && i < > namespaces.size(); i++) { > Mapping map = (Mapping)namespaces.get(i); > if (map.getNamespaceURI().equals(namespaceURI)) > return map.getPrefix(); > @@ -479,7 +478,7 @@ > return getRealElement().getNamespaceURI(prefix); > } > > - for (int i = 0; i < namespaces.size(); i++) { > + for (int i = 0; namespaces != null && i < > namespaces.size(); i++) { > Mapping map = (Mapping)namespaces.get(i); > if (map.getPrefix().equals(prefix)) { > return map.getNamespaceURI(); > @@ -780,10 +779,12 @@ > if (prefix != null) > context.registerPrefixForURI(prefix, namespaceURI); > > - for (Iterator i = namespaces.iterator(); i.hasNext();) { > - Mapping mapping = (Mapping) i.next(); > - > context.registerPrefixForURI(mapping.getPrefix(), > mapping.getNamespaceURI()); > - } > + if (namespaces != null) { > + for (Iterator i = namespaces.iterator(); > i.hasNext();) { > + Mapping mapping = (Mapping) i.next(); > + > context.registerPrefixForURI(mapping.getPrefix(), > mapping.getNamespaceURI()); > + } > + } > > if (objectValue != null) { > context.serialize(new QName(namespaceURI, name), > @@ -812,6 +813,8 @@ > } > > public void addMapping(Mapping map) { > + if (namespaces == null) > + namespaces = new ArrayList(); > namespaces.add(map); > } > > @@ -1033,9 +1036,8 @@ > // getNamespaceURI implemented above > > public Iterator getNamespacePrefixes() { > - int num = namespaces.size(); > - Vector prefixes = new Vector(num); > - for (int i = 0; i < num; i++) { > + Vector prefixes = new Vector(); > + for (int i = 0; namespaces != null && i < > namespaces.size(); i++) { > prefixes.add(((Mapping)namespaces.get(i)).getPrefix()); > } > return prefixes.iterator(); > @@ -1063,7 +1065,7 @@ > AttributesImpl attributes = makeAttributesEditable(); > boolean removed = false; > > - for (int i = 0; i < namespaces.size() && !removed; i++) { > + for (int i = 0; namespaces != null && i < > namespaces.size() && !removed; i++) { > if > (((Mapping)namespaces.get(i)).getPrefix().equals(prefix)) { > namespaces.remove(i); > removed = true; > > > > 1.7 +8 -1 > xml-axis/java/test/message/TestMessageElement.java > > Index: TestMessageElement.java > =================================================================== > RCS file: > /home/cvs/xml-axis/java/test/message/TestMessageElement.java,v > retrieving revision 1.6 > retrieving revision 1.7 > diff -u -r1.6 -r1.7 > --- TestMessageElement.java 4 Nov 2002 19:51:20 -0000 1.6 > +++ TestMessageElement.java 5 Nov 2002 15:53:18 -0000 1.7 > @@ -178,8 +178,15 @@ > assertTrue("Did not find namespace declaration > \"pre\"", found); > } > > + public void testGetNamespacePrefixes() throws Exception { > + MessageElement me = > + new MessageElement("http://www.wolfram.com","Test"); > + Iterator it = me.getNamespacePrefixes(); > + assertTrue(it != null); > + } > + > public static void main(String[] args) throws Exception { > TestMessageElement tester = new > TestMessageElement("TestMessageElement"); > - tester.testAddNamespaceDeclaration(); > + tester.testGetNamespacePrefixes(); > } > } > > > >