dims 2002/06/29 12:19:17
Modified: java/test/saaj PackageTests.java
java/src/org/apache/axis/message PrefixedQName.java
Added: java/test/saaj TestEnvelope.java
Log:
Cleanup PrefixedQName's equals method and added a test case.
Revision Changes Path
1.3 +1 -0 xml-axis/java/test/saaj/PackageTests.java
Index: PackageTests.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/saaj/PackageTests.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PackageTests.java 24 Jun 2002 10:43:40 -0000 1.2
+++ PackageTests.java 29 Jun 2002 19:19:16 -0000 1.3
@@ -17,6 +17,7 @@
suite.addTestSuite(test.saaj.TestAttachment.class);
}
}catch( Throwable t){;}
+ suite.addTestSuite(test.saaj.TestEnvelope.class);
return suite;
}
}
1.1 xml-axis/java/test/saaj/TestEnvelope.java
Index: TestEnvelope.java
===================================================================
package test.saaj;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPMessage;
public class TestEnvelope extends junit.framework.TestCase {
public TestEnvelope(String name) {
super(name);
}
public void testAttributes() throws Exception {
SOAPConnectionFactory scFactory = SOAPConnectionFactory.newInstance();
SOAPConnection con = scFactory.createConnection();
MessageFactory factory = MessageFactory.newInstance();
SOAPMessage message = factory.createMessage();
SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
SOAPBody body = envelope.getBody();
Name name1 = envelope.createName("MyAttr1");
String value1 = "MyValue1";
Name name2 = envelope.createName("MyAttr2");
String value2 = "MyValue2";
Name name3 = envelope.createName("MyAttr3");
String value3 = "MyValue3";
body.addAttribute(name1, value1);
body.addAttribute(name2, value2);
body.addAttribute(name3, value3);
java.util.Iterator iterator = body.getAllAttributes();
assertTrue(getIteratorCount(iterator) == 3);
iterator = body.getAllAttributes();
boolean foundName1 = false;
boolean foundName2 = false;
boolean foundName3 = false;
while (iterator.hasNext()) {
Name name = (Name) iterator.next();
if (name.equals(name1))
foundName1 = true;
else if (name.equals(name2))
foundName2 = true;
else if (name.equals(name3))
foundName3 = true;
}
assertTrue(foundName1 && foundName2 && foundName3);
}
private int getIteratorCount(java.util.Iterator i) {
int count = 0;
while (i.hasNext()) {
count++;
i.next();
}
return count;
}
public static void main(String[] args) throws Exception {
test.saaj.TestEnvelope tester = new test.saaj.TestEnvelope("TestEnvelope");
tester.testAttributes();
}
}
1.4 +7 -3 xml-axis/java/src/org/apache/axis/message/PrefixedQName.java
Index: PrefixedQName.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/PrefixedQName.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PrefixedQName.java 11 Jun 2002 14:53:58 -0000 1.3
+++ PrefixedQName.java 29 Jun 2002 19:19:17 -0000 1.4
@@ -60,12 +60,17 @@
import javax.xml.namespace.QName;
public class PrefixedQName implements Name {
+ /** comment/shared empty string */
+ private static final String emptyString = "".intern();
+
private String prefix;
private QName qName;
public PrefixedQName(String uri, String localName, String pre) {
qName = new QName(uri, localName);
- prefix = pre;
+ prefix = (pre == null)
+ ? emptyString
+ : pre.intern();
}
public String getLocalName() {
@@ -93,8 +98,7 @@
if (!qName.equals(((PrefixedQName)obj).qName)) {
return false;
}
- if ((prefix == null && ((PrefixedQName) obj).prefix == null) ||
- prefix.equals(((PrefixedQName)obj).prefix)) {
+ if (prefix == ((PrefixedQName) obj).prefix) {
return true;
}
return false;