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 gd...@apache.org on 2002/10/17 06:40:19 UTC

cvs commit: xml-axis/java/test/RPCDispatch TestSerializedRPC.java

gdaniels    2002/10/16 21:40:19

  Modified:    java/src/org/apache/axis/client Call.java
               java/src/org/apache/axis/deployment/wsdd WSDDDeployment.java
                        WSDDService.java
               java/src/org/apache/axis/encoding TypeMappingRegistry.java
                        TypeMappingRegistryImpl.java
               java/test/RPCDispatch TestSerializedRPC.java
  Log:
  Add getOrMakeTypeMapping() method to TypeMappingRegistry.
  
  This allows us to refactor a common block of code into a responsibility
  of the TMR.
  
  Revision  Changes    Path
  1.187     +1 -8      xml-axis/java/src/org/apache/axis/client/Call.java
  
  Index: Call.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/Call.java,v
  retrieving revision 1.186
  retrieving revision 1.187
  diff -u -r1.186 -r1.187
  --- Call.java	14 Oct 2002 16:51:03 -0000	1.186
  +++ Call.java	17 Oct 2002 04:40:19 -0000	1.187
  @@ -1792,14 +1792,7 @@
           TypeMappingRegistry tmr = msgContext.getTypeMappingRegistry();
   
           // If a TypeMapping is not available, add one.
  -        TypeMapping tm = (TypeMapping) tmr.getTypeMapping(getEncodingStyle());
  -        TypeMapping defaultTM = (TypeMapping) tmr.getDefaultTypeMapping();
  -        if (tm == null || tm == defaultTM ) {
  -            tm = (TypeMapping) tmr.createTypeMapping();
  -            tm.setSupportedEncodings(new String[] {getEncodingStyle()});
  -            tmr.register(getEncodingStyle(), tm);
  -        }
  -        return tm;
  +        return tmr.getOrMakeTypeMapping(getEncodingStyle());
       }
   
       /**
  
  
  
  1.52      +1 -7      xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDDeployment.java
  
  Index: WSDDDeployment.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDDeployment.java,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- WSDDDeployment.java	30 Sep 2002 21:38:49 -0000	1.51
  +++ WSDDDeployment.java	17 Oct 2002 04:40:19 -0000	1.52
  @@ -323,13 +323,7 @@
               if (encodingStyle == null) {
                   encodingStyle = Constants.URI_DEFAULT_SOAP_ENC;
               }
  -            TypeMapping tm = (TypeMapping) tmr.getTypeMapping(encodingStyle);
  -            TypeMapping df = (TypeMapping) tmr.getDefaultTypeMapping();
  -            if (tm == null || tm == df) {
  -                tm = (TypeMapping) tmr.createTypeMapping();
  -                tm.setSupportedEncodings(new String[] {encodingStyle});
  -                tmr.register(encodingStyle, tm);
  -            }
  +            TypeMapping tm = tmr.getOrMakeTypeMapping(encodingStyle);
   
               SerializerFactory   ser   = null;
               DeserializerFactory deser = null;
  
  
  
  1.97      +1 -7      xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDService.java
  
  Index: WSDDService.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDService.java,v
  retrieving revision 1.96
  retrieving revision 1.97
  diff -u -r1.96 -r1.97
  --- WSDDService.java	9 Oct 2002 19:06:29 -0000	1.96
  +++ WSDDService.java	17 Oct 2002 04:40:19 -0000	1.97
  @@ -529,13 +529,7 @@
               if (encodingStyle == null) {
                   encodingStyle = use.getEncoding();
               }
  -            TypeMapping tm = (TypeMapping) tmr.getTypeMapping(encodingStyle);
  -            TypeMapping df = (TypeMapping) tmr.getDefaultTypeMapping();
  -            if (tm == null || tm == df) {
  -                tm = (TypeMapping) tmr.createTypeMapping();
  -                tm.setSupportedEncodings(new String[] {encodingStyle});
  -                tmr.register(encodingStyle, tm);
  -            }
  +            TypeMapping tm = tmr.getOrMakeTypeMapping(encodingStyle);
               desc.setTypeMappingRegistry(tmr);
               desc.setTypeMapping(tm);
   
  
  
  
  1.51      +10 -0     xml-axis/java/src/org/apache/axis/encoding/TypeMappingRegistry.java
  
  Index: TypeMappingRegistry.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/TypeMappingRegistry.java,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- TypeMappingRegistry.java	1 Feb 2002 22:08:26 -0000	1.50
  +++ TypeMappingRegistry.java	17 Oct 2002 04:40:19 -0000	1.51
  @@ -68,6 +68,16 @@
        * their corresponding types in the secondary TMR.
        */
       public void delegate(TypeMappingRegistry secondaryTMR);
  +    
  +    /**
  +     * Obtain a type mapping for the given namespaceURI.  If no specific
  +     * mapping exists for this namespaceURI, we will create and register
  +     * one before returning it.
  +     * 
  +     * @param namespaceURI
  +     * @return a registered TypeMapping for the given namespaceURI
  +     */ 
  +    public TypeMapping getOrMakeTypeMapping(String namespaceURI);
   }
   
   
  
  
  
  1.18      +22 -0     xml-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java
  
  Index: TypeMappingRegistryImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- TypeMappingRegistryImpl.java	30 Sep 2002 03:36:06 -0000	1.17
  +++ TypeMappingRegistryImpl.java	17 Oct 2002 04:40:19 -0000	1.18
  @@ -313,6 +313,28 @@
           }
           return tm;
       }
  +    
  +    /**
  +     * Obtain a type mapping for the given namespaceURI.  If no specific
  +     * mapping exists for this namespaceURI, we will create and register
  +     * one before returning it.
  +     * 
  +     * @param namespaceURI
  +     * @return a registered TypeMapping for the given namespaceURI
  +     */ 
  +    public TypeMapping getOrMakeTypeMapping(String namespaceURI) {
  +        TypeMapping del = (TypeMapping) mapTM.get(namespaceURI);
  +        TypeMapping tm = null;
  +        if (del != null) {
  +            tm = del.getDelegate();
  +        }
  +        if (tm == null) {
  +            tm = (TypeMapping)createTypeMapping();
  +            tm.setSupportedEncodings(new String[] {namespaceURI});
  +            register(namespaceURI, tm);
  +        }
  +        return tm;
  +    }
   
       /**
        * Unregisters the TypeMapping for the namespace.
  
  
  
  1.37      +4 -7      xml-axis/java/test/RPCDispatch/TestSerializedRPC.java
  
  Index: TestSerializedRPC.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/RPCDispatch/TestSerializedRPC.java,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- TestSerializedRPC.java	9 Sep 2002 14:50:35 -0000	1.36
  +++ TestSerializedRPC.java	17 Oct 2002 04:40:19 -0000	1.37
  @@ -68,11 +68,8 @@
           BeanDeserializerFactory df = new BeanDeserializerFactory(javaType, xmlType);
   
           TypeMappingRegistry tmr = engine.getTypeMappingRegistry();
  -        TypeMapping tm = (TypeMapping) tmr.getTypeMapping(Constants.URI_DEFAULT_SOAP_ENC);
  -        if (tm == null || tm == tmr.getDefaultTypeMapping()) {
  -            tm = (TypeMapping) tmr.createTypeMapping();
  -            tmr.register(Constants.URI_DEFAULT_SOAP_ENC, tm);
  -        }
  +        TypeMapping tm = 
  +                tmr.getOrMakeTypeMapping(Constants.URI_DEFAULT_SOAP_ENC);
           tm.register(javaType, xmlType, sf, df);
   
           ServiceDesc desc = new ServiceDesc();
  @@ -92,8 +89,8 @@
   
       /**
        * Invoke a given RPC method, and return the result
  -     * @param soapAction action to be performed
  -     * @param request XML body of the request
  +     * @param method action to be performed
  +     * @param bodyStr XML body of the request
        * @return Deserialized result
        */
       private final Object rpc(String method, String bodyStr,