You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Glen Daniels <gd...@macromedia.com> on 2002/11/05 16:59:11 UTC
RE: cvs commit: xml-axis/java/test/message TestMessageElement.jav
a
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: dims@apache.org [mailto:dims@apache.org]
> Sent: Tuesday, November 05, 2002 10:53 AM
> To: xml-axis-cvs@apache.org
> 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();
> }
> }
>
>
>
>
Re: cvs commit: xml-axis/java/test/message TestMessageElement.jav a
Posted by Sasha Lerner <al...@grandcentral.com>.
its needed in SAAJ API because the only way to get or remove the
additional namespace URIs from SOAPElement is by prefix
http://java.sun.com/webservices/docs/1.0/api/javax/xml/soap/
SOAPElement.html#getNamespaceURI(java.lang.String)
here is javadoc:
/**
* Returns an iterator of namespace prefixes. The iterator can be
used to get the namespace prefixes, which
* can then be passed to the method getNamespaceURI to retrieve the
URI of each namespace.
* @return an iterator over the namespace prefixes in this
SOAPElement object
*/
On Tuesday, November 5, 2002, at 08:14 AM, Davanum Srinivas wrote:
> I don't either....It's there in the SAAJ API so we can't drop it.
> (http://java.sun.com/webservices/docs/1.0/api/javax/xml/soap/
> SOAPElement.html#getNamespacePrefixes())
>
> Thanks,
> dims
>
> --- Glen Daniels <gd...@macromedia.com> wrote:
>>
>> 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: dims@apache.org [mailto:dims@apache.org]
>>> Sent: Tuesday, November 05, 2002 10:53 AM
>>> To: xml-axis-cvs@apache.org
>>> 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();
>>> }
>>> }
>>>
>>>
>>>
>>>
>
>
> =====
> Davanum Srinivas - http://xml.apache.org/~dims/
>
> __________________________________________________
> Do you Yahoo!?
> HotJobs - Search new jobs daily now
> http://hotjobs.yahoo.com/
>
RE: cvs commit: xml-axis/java/test/message TestMessageElement.jav a
Posted by Davanum Srinivas <di...@yahoo.com>.
I don't either....It's there in the SAAJ API so we can't drop it.
(http://java.sun.com/webservices/docs/1.0/api/javax/xml/soap/SOAPElement.html#getNamespacePrefixes())
Thanks,
dims
--- Glen Daniels <gd...@macromedia.com> wrote:
>
> 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: dims@apache.org [mailto:dims@apache.org]
> > Sent: Tuesday, November 05, 2002 10:53 AM
> > To: xml-axis-cvs@apache.org
> > 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();
> > }
> > }
> >
> >
> >
> >
=====
Davanum Srinivas - http://xml.apache.org/~dims/
__________________________________________________
Do you Yahoo!?
HotJobs - Search new jobs daily now
http://hotjobs.yahoo.com/
RE: cvs commit: xml-axis/java/test/message TestMessageElement.java
Posted by Chris Williamson <ch...@wolfram.com>.
That is precisely why I was using it. I was using it only because I had to
keep track of the namespace mappings myself since the MessageElement was
having problems with it. Once everything is fixed, I will not keep track of
the mappings myself. So I will probably no longer use the function.
> -----Original Message-----
> From: Glen Daniels [mailto:gdaniels@macromedia.com]
> Sent: Tuesday, November 05, 2002 9:59 AM
> To: 'axis-dev@xml.apache.org'
> Subject: RE: cvs commit: xml-axis/java/test/message
> TestMessageElement.java
>
>
>
> 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: dims@apache.org [mailto:dims@apache.org]
> > Sent: Tuesday, November 05, 2002 10:53 AM
> > To: xml-axis-cvs@apache.org
> > 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();
> > }
> > }
> >
> >
> >
> >