Author: veithen
Date: Mon Dec  3 18:34:15 2012
New Revision: 1416630

URL: http://svn.apache.org/viewvc?rev=1416630&view=rev
Log:
Duplicate code reduction.

Modified:
    
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDArrayMapping.java
    
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java
    
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDService.java
    
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTypeMapping.java

Modified: 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDArrayMapping.java
URL: 
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDArrayMapping.java?rev=1416630&r1=1416629&r2=1416630&view=diff
==============================================================================
--- 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDArrayMapping.java
 (original)
+++ 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDArrayMapping.java
 Mon Dec  3 18:34:15 2012
@@ -21,6 +21,8 @@ import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.xml.sax.helpers.AttributesImpl;
 import org.apache.axis.encoding.SerializationContext;
+import org.apache.axis.encoding.SerializerFactory;
+import org.apache.axis.encoding.ser.ArraySerializerFactory;
 import org.apache.axis.utils.XMLUtils;
 
 
@@ -82,6 +84,12 @@ public class WSDDArrayMapping extends WS
         context.startElement(QNAME_ARRAYMAPPING, attrs);
         context.endElement();
     }
+
+    void setupSerializer(SerializerFactory ser) {
+        if (ser instanceof ArraySerializerFactory) {
+            ((ArraySerializerFactory)ser).setComponentType(getInnerType());
+        }
+    }
 }
 
 

Modified: 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java
URL: 
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java?rev=1416630&r1=1416629&r2=1416630&view=diff
==============================================================================
--- 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java
 (original)
+++ 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java
 Mon Dec  3 18:34:15 2012
@@ -21,15 +21,10 @@ import org.apache.axis.Constants;
 import org.apache.axis.Handler;
 import org.apache.axis.WSDDEngineConfiguration;
 import org.apache.axis.components.logger.LogFactory;
-import org.apache.axis.encoding.DeserializerFactory;
 import org.apache.axis.encoding.SerializationContext;
-import org.apache.axis.encoding.SerializerFactory;
 import org.apache.axis.encoding.TypeMapping;
 import org.apache.axis.encoding.TypeMappingRegistry;
 import org.apache.axis.encoding.TypeMappingRegistryImpl;
-import org.apache.axis.encoding.ser.ArraySerializerFactory;
-import org.apache.axis.encoding.ser.BaseDeserializerFactory;
-import org.apache.axis.encoding.ser.BaseSerializerFactory;
 import org.apache.axis.handlers.soap.SOAPService;
 import org.apache.axis.utils.Messages;
 import org.apache.commons.logging.Log;
@@ -264,53 +259,11 @@ public class WSDDDeployment
 
     private void deployMapping(WSDDTypeMapping mapping)
             throws WSDDException {
-        try {
-            String encodingStyle = mapping.getEncodingStyle();
-            if (encodingStyle == null) {
-                encodingStyle = Constants.URI_DEFAULT_SOAP_ENC;
-            }
-            TypeMapping tm = tmr.getOrMakeTypeMapping(encodingStyle);
-            SerializerFactory   ser = null;
-            DeserializerFactory deser = null;
-            // Try to construct a serializerFactory by introspecting for the
-            // following:
-            // public static create(Class javaType, QName xmlType)
-            // public <constructor>(Class javaType, QName xmlType)
-            // public <constructor>()
-            //
-            // The BaseSerializerFactory createFactory() method is a utility
-            // that does this for us.
-            //log.debug("start creating sf and df");
-            if (mapping.getSerializerName() != null &&
-                    !mapping.getSerializerName().equals("")) {
-                ser = 
BaseSerializerFactory.createFactory(mapping.getSerializer(),
-                        mapping.getLanguageSpecificType(),
-                        mapping.getQName());
-            }
-
-            if ((mapping instanceof WSDDArrayMapping) && (ser instanceof 
ArraySerializerFactory)) {
-                WSDDArrayMapping am = (WSDDArrayMapping) mapping;
-                ArraySerializerFactory factory = (ArraySerializerFactory) ser;
-                factory.setComponentType(am.getInnerType());
-            }
-
-            //log.debug("set ser factory");
-
-            if (mapping.getDeserializerName() != null &&
-                    !mapping.getDeserializerName().equals("")) {
-                deser = 
BaseDeserializerFactory.createFactory(mapping.getDeserializer(),
-                        mapping.getLanguageSpecificType(),
-                        mapping.getQName());
-            }
-            //log.debug("set dser factory");
-            tm.register(mapping.getLanguageSpecificType(), mapping.getQName(), 
ser, deser);
-            //log.debug("registered");
-        } catch (ClassNotFoundException e) {
-            log.error(Messages.getMessage("unabletoDeployTypemapping00", 
mapping.getQName().toString()), e);
-            throw new WSDDNonFatalException(e);
-        } catch (Exception e) {
-            throw new WSDDException(e);
+        String encodingStyle = mapping.getEncodingStyle();
+        if (encodingStyle == null) {
+            encodingStyle = Constants.URI_DEFAULT_SOAP_ENC;
         }
+        mapping.registerTo(tmr.getOrMakeTypeMapping(encodingStyle));
     }
 
     public void writeToContext(SerializationContext context)

Modified: 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDService.java
URL: 
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDService.java?rev=1416630&r1=1416629&r2=1416630&view=diff
==============================================================================
--- 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDService.java
 (original)
+++ 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDService.java
 Mon Dec  3 18:34:15 2012
@@ -29,15 +29,10 @@ import org.apache.axis.constants.Style;
 import org.apache.axis.constants.Use;
 import org.apache.axis.description.JavaServiceDesc;
 import org.apache.axis.description.ServiceDesc;
-import org.apache.axis.encoding.DeserializerFactory;
 import org.apache.axis.encoding.SerializationContext;
-import org.apache.axis.encoding.SerializerFactory;
 import org.apache.axis.encoding.TypeMapping;
 import org.apache.axis.encoding.TypeMappingRegistry;
 import org.apache.axis.encoding.TypeMappingRegistryImpl;
-import org.apache.axis.encoding.ser.ArraySerializerFactory;
-import org.apache.axis.encoding.ser.BaseDeserializerFactory;
-import org.apache.axis.encoding.ser.BaseSerializerFactory;
 import org.apache.axis.handlers.HandlerInfoChainFactory;
 import org.apache.axis.handlers.soap.SOAPService;
 import org.apache.axis.providers.java.JavaProvider;
@@ -515,53 +510,16 @@ public class WSDDService
         if (tmr == null) {
             createTMR();
         }
-        try {
-            // Get the encoding style from the mapping, if it isn't set
-            // use the use of the service to map doc/lit or rpc/enc
-            String encodingStyle = mapping.getEncodingStyle();
-            if (encodingStyle == null) {
-                encodingStyle = use.getEncoding();
-            }
-            TypeMapping tm = tmr.getOrMakeTypeMapping(encodingStyle);
-            desc.setTypeMappingRegistry(tmr);
-            desc.setTypeMapping(tm);
-
-            SerializerFactory   ser   = null;
-            DeserializerFactory deser = null;
-
-            // Try to construct a serializerFactory by introspecting for the
-            // following:
-            // public static create(Class javaType, QName xmlType)
-            // public <constructor>(Class javaType, QName xmlType)
-            // public <constructor>()
-            //
-            // The BaseSerializerFactory createFactory() method is a utility
-            // that does this for us.
-            if (mapping.getSerializerName() != null &&
-                !mapping.getSerializerName().equals("")) {
-                ser = 
BaseSerializerFactory.createFactory(mapping.getSerializer(),
-                                                          
mapping.getLanguageSpecificType(),
-                                                          mapping.getQName());
-            }
-            if (mapping instanceof WSDDArrayMapping && ser instanceof 
ArraySerializerFactory) {
-                WSDDArrayMapping am = (WSDDArrayMapping) mapping;
-                ArraySerializerFactory factory = (ArraySerializerFactory) ser;
-                factory.setComponentType(am.getInnerType());
-            }
-
-            if (mapping.getDeserializerName() != null &&
-                !mapping.getDeserializerName().equals("")) {
-                deser = 
BaseDeserializerFactory.createFactory(mapping.getDeserializer(),
-                                                          
mapping.getLanguageSpecificType(),
-                                                          mapping.getQName());
-            }
-            tm.register( mapping.getLanguageSpecificType(), 
mapping.getQName(), ser, deser);
-        } catch (ClassNotFoundException e) {
-            log.error(Messages.getMessage("unabletoDeployTypemapping00", 
mapping.getQName().toString()), e);
-            throw new WSDDNonFatalException(e);
-        } catch (Exception e) {
-            throw new WSDDException(e);
+        // Get the encoding style from the mapping, if it isn't set
+        // use the use of the service to map doc/lit or rpc/enc
+        String encodingStyle = mapping.getEncodingStyle();
+        if (encodingStyle == null) {
+            encodingStyle = use.getEncoding();
         }
+        TypeMapping tm = tmr.getOrMakeTypeMapping(encodingStyle);
+        desc.setTypeMappingRegistry(tmr);
+        desc.setTypeMapping(tm);
+        mapping.registerTo(tm);
     }
 
     /**

Modified: 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTypeMapping.java
URL: 
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTypeMapping.java?rev=1416630&r1=1416629&r2=1416630&view=diff
==============================================================================
--- 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTypeMapping.java
 (original)
+++ 
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTypeMapping.java
 Mon Dec  3 18:34:15 2012
@@ -16,11 +16,18 @@
 package org.apache.axis.deployment.wsdd;
 
 import org.apache.axis.Constants;
+import org.apache.axis.components.logger.LogFactory;
+import org.apache.axis.encoding.DeserializerFactory;
 import org.apache.axis.encoding.SerializationContext;
+import org.apache.axis.encoding.SerializerFactory;
+import org.apache.axis.encoding.TypeMapping;
+import org.apache.axis.encoding.ser.BaseDeserializerFactory;
+import org.apache.axis.encoding.ser.BaseSerializerFactory;
 import org.apache.axis.utils.ClassUtils;
 import org.apache.axis.utils.JavaUtils;
 import org.apache.axis.utils.Messages;
 import org.apache.axis.utils.XMLUtils;
+import org.apache.commons.logging.Log;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.xml.sax.helpers.AttributesImpl;
@@ -28,13 +35,14 @@ import org.xml.sax.helpers.AttributesImp
 import javax.xml.namespace.QName;
 import java.io.IOException;
 
-
 /**
  *
  */
 public class WSDDTypeMapping
     extends WSDDElement
 {
+    private static final Log log = 
LogFactory.getLog(WSDDTypeMapping.class.getName());
+    
     protected QName qname = null;
     protected String serializer = null;
     protected String deserializer = null;
@@ -280,6 +288,46 @@ public class WSDDTypeMapping
     {
         deserializer = deser;
     }
+    
+    void registerTo(TypeMapping tm) throws WSDDException {
+        try {
+            SerializerFactory   ser   = null;
+            DeserializerFactory deser = null;
+
+            // Try to construct a serializerFactory by introspecting for the
+            // following:
+            // public static create(Class javaType, QName xmlType)
+            // public <constructor>(Class javaType, QName xmlType)
+            // public <constructor>()
+            //
+            // The BaseSerializerFactory createFactory() method is a utility
+            // that does this for us.
+            if (getSerializerName() != null &&
+                !getSerializerName().equals("")) {
+                ser = BaseSerializerFactory.createFactory(getSerializer(),
+                                                          
getLanguageSpecificType(),
+                                                          getQName());
+            }
+            
+            setupSerializer(ser);
+
+            if (getDeserializerName() != null &&
+                !getDeserializerName().equals("")) {
+                deser = 
BaseDeserializerFactory.createFactory(getDeserializer(),
+                                                              
getLanguageSpecificType(),
+                                                              getQName());
+            }
+            tm.register(getLanguageSpecificType(), getQName(), ser, deser);
+        } catch (ClassNotFoundException e) {
+            log.error(Messages.getMessage("unabletoDeployTypemapping00", 
getQName().toString()), e);
+            throw new WSDDNonFatalException(e);
+        } catch (Exception e) {
+            throw new WSDDException(e);
+        }
+    }
+    
+    void setupSerializer(SerializerFactory ser) {
+    }
 }
 
 


Reply via email to