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);
  
  
  


Reply via email to