scheu 02/02/12 08:50:20
Modified: java/src/org/apache/axis/encoding
DefaultTypeMappingImpl.java
java/test/wsdl/marrays MArrayTestsSOAPBindingImpl.java
MArrayTestsServiceTestCase.java
Log:
Minor changes to enhance mapping of map.
A javaType that implements Map should be serialized to SOAP_MAP.
A SOAP_MAP should be deserialized as a HashMap...(can't deserialize
into a Map because it is an interface).
WSDL2Java should emit Map types in the argument lists for parts that are SOAP_MAP.
Revision Changes Path
1.10 +7 -13
xml-axis/java/src/org/apache/axis/encoding/DefaultTypeMappingImpl.java
Index: DefaultTypeMappingImpl.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/DefaultTypeMappingImpl.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DefaultTypeMappingImpl.java 11 Feb 2002 19:02:53 -0000 1.9
+++ DefaultTypeMappingImpl.java 12 Feb 2002 16:50:20 -0000 1.10
@@ -271,25 +271,19 @@
Constants.XSD_DATE),
true);
- // Use the Map Serialization for Hashtables, Map and HashMap
- // The SOAP_MAP will be deserialized into a HashMap
- myRegister(Constants.SOAP_MAP, java.util.Hashtable.class,
- new MapSerializerFactory(java.util.Hashtable.class,
+ // Serialize all extensions of Map to SOAP_MAP
+ // The SOAP_MAP will be deserialized into a HashMap by default.
+ myRegister(Constants.SOAP_MAP, java.util.HashMap.class,
+ new MapSerializerFactory(java.util.Map.class,
Constants.SOAP_MAP),
- new MapDeserializerFactory(java.util.Hashtable.class,
- Constants.SOAP_MAP),
+ new MapDeserializerFactory(java.util.HashMap.class,
+ Constants.SOAP_MAP),
false);
myRegister(Constants.SOAP_MAP, java.util.Map.class,
new MapSerializerFactory(java.util.Map.class,
Constants.SOAP_MAP),
- new MapDeserializerFactory(java.util.Map.class,
- Constants.SOAP_MAP),
- false);
- myRegister(Constants.SOAP_MAP, java.util.HashMap.class,
- new MapSerializerFactory(java.util.HashMap.class,
- Constants.SOAP_MAP),
new MapDeserializerFactory(java.util.HashMap.class,
- Constants.SOAP_MAP),
+ Constants.SOAP_MAP),
false);
// Use the Element Serializeration for elements
1.3 +1 -1 xml-axis/java/test/wsdl/marrays/MArrayTestsSOAPBindingImpl.java
Index: MArrayTestsSOAPBindingImpl.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/wsdl/marrays/MArrayTestsSOAPBindingImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- MArrayTestsSOAPBindingImpl.java 11 Feb 2002 19:02:53 -0000 1.2
+++ MArrayTestsSOAPBindingImpl.java 12 Feb 2002 16:50:20 -0000 1.3
@@ -42,7 +42,7 @@
}
return in;
}
- public java.util.HashMap testMapFooArray(java.util.HashMap map)
+ public java.util.Map testMapFooArray(java.util.Map map)
throws java.rmi.RemoteException {
return map;
}
1.6 +2 -2 xml-axis/java/test/wsdl/marrays/MArrayTestsServiceTestCase.java
Index: MArrayTestsServiceTestCase.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/wsdl/marrays/MArrayTestsServiceTestCase.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MArrayTestsServiceTestCase.java 11 Feb 2002 19:02:53 -0000 1.5
+++ MArrayTestsServiceTestCase.java 12 Feb 2002 16:50:20 -0000 1.6
@@ -131,13 +131,13 @@
try {
// Test 3F: Some of the Foo elements are multi-referenced.
- HashMap map = new HashMap();
+ Map map = new HashMap();
Foo[] array = new Foo[1];
array[0] = new Foo();
array[0].setValue(123);
map.put("hello", array);
- HashMap rc;
+ Map rc;
rc = binding.testMapFooArray(map);
assertTrue("Test Map Failed (a)", rc != null);