You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by da...@apache.org on 2007/01/05 03:28:20 UTC

svn commit: r492865 - /webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/

Author: danj
Date: Thu Jan  4 18:28:19 2007
New Revision: 492865

URL: http://svn.apache.org/viewvc?view=rev&rev=492865
Log:
Fix for MUSE-169 - unobtrusive addition of setter methods and XmlSerializable implementation to *Descriptor types.

Modified:
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DeploymentDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/InitParamDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/PersistenceDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/ResourceDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SerializerDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleDeploymentDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleInitParamDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimplePersistenceDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleResourceDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java
    webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleSerializerDescriptor.java

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDescriptor.java Thu Jan  4 18:28:19 2007
@@ -19,6 +19,7 @@
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
+import org.apache.muse.util.xml.XmlSerializable;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -27,10 +28,12 @@
  *
  */
 
-public interface CapabilityDescriptor
+public interface CapabilityDescriptor extends XmlSerializable
 {
     CapabilityDefinition getCapabilityDefinition();
     
     void load(Element capabilityXML, Environment environment)
         throws SoapFault;
+    
+    void setCapabilityDefinition(CapabilityDefinition definition);
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DeploymentDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DeploymentDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DeploymentDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DeploymentDescriptor.java Thu Jan  4 18:28:19 2007
@@ -21,6 +21,7 @@
 import org.w3c.dom.Document;
 
 import org.apache.muse.core.Environment;
+import org.apache.muse.util.xml.XmlSerializable;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -29,8 +30,8 @@
  * 
  */
 
-public interface DeploymentDescriptor
-{    
+public interface DeploymentDescriptor extends XmlSerializable
+{
     Collection getResourceDefinitions();
     
     RouterDefinition getRouterDefinition();
@@ -39,4 +40,10 @@
     
     void load(Document descriptorDoc, Environment environment)
         throws SoapFault;
+    
+    void setResourceDefinitions(Collection definitions);
+    
+    void setRouterDefinition(RouterDefinition definition);
+    
+    void setSerializerDefinitions(Collection definitions);
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/InitParamDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/InitParamDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/InitParamDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/InitParamDescriptor.java Thu Jan  4 18:28:19 2007
@@ -20,6 +20,7 @@
 
 import org.w3c.dom.Element;
 
+import org.apache.muse.util.xml.XmlSerializable;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -33,7 +34,7 @@
  *
  */
 
-public interface InitParamDescriptor
+public interface InitParamDescriptor extends XmlSerializable
 {
     Map getInitializationParameters();
     
@@ -47,4 +48,6 @@
      */
     void load(Element elementContainingInitParams)
         throws SoapFault;
+    
+    void setInitializationParameters(Map parameters);
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/PersistenceDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/PersistenceDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/PersistenceDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/PersistenceDescriptor.java Thu Jan  4 18:28:19 2007
@@ -19,6 +19,7 @@
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
+import org.apache.muse.util.xml.XmlSerializable;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -27,10 +28,12 @@
  *
  */
 
-public interface PersistenceDescriptor
+public interface PersistenceDescriptor extends XmlSerializable
 {
     PersistenceDefinition getPersistenceDefinition();
     
     void load(Element persistenceXML, Environment env)
         throws SoapFault;
+    
+    void setPersistenceDefinition(PersistenceDefinition definition);
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/ResourceDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/ResourceDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/ResourceDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/ResourceDescriptor.java Thu Jan  4 18:28:19 2007
@@ -19,6 +19,7 @@
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
+import org.apache.muse.util.xml.XmlSerializable;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -27,10 +28,12 @@
  *
  */
 
-public interface ResourceDescriptor
+public interface ResourceDescriptor extends XmlSerializable
 {
     ResourceDefinition getResourceDefinition();
     
     void load(Element resourceXML, Environment environment) 
         throws SoapFault;
+    
+    void setResourceDefinition(ResourceDefinition definition);
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDescriptor.java Thu Jan  4 18:28:19 2007
@@ -19,6 +19,7 @@
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
+import org.apache.muse.util.xml.XmlSerializable;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -27,10 +28,12 @@
  *
  */
 
-public interface RouterDescriptor
+public interface RouterDescriptor extends XmlSerializable
 {
     RouterDefinition getRouterDefinition();
     
     void load(Element routerXML, Environment environment)
         throws SoapFault;
+    
+    void setRouterDefinition(RouterDefinition definition);
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SerializerDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SerializerDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SerializerDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SerializerDescriptor.java Thu Jan  4 18:28:19 2007
@@ -19,6 +19,7 @@
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
+import org.apache.muse.util.xml.XmlSerializable;
 import org.apache.muse.ws.addressing.soap.SoapFault;
 
 /**
@@ -27,10 +28,12 @@
  *
  */
 
-public interface SerializerDescriptor
+public interface SerializerDescriptor extends XmlSerializable
 {
     SerializerDefinition getSerializerDefinition();
     
     void load(Element serializerXML, Environment environment)
         throws SoapFault;
+    
+    void setSerializerDefinition(SerializerDefinition definition);
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java Thu Jan  4 18:28:19 2007
@@ -18,6 +18,7 @@
 
 import java.util.Map;
 
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
@@ -99,5 +100,52 @@
         _definition.setImplementationClass(implClass);
         _definition.setPersistenceDefinition(persistence);
         _definition.setInitializationParameters(parameters);
+    }
+
+    public void setCapabilityDefinition(CapabilityDefinition definition)
+    {
+        _definition = definition;
+    }
+
+    public Element toXML()
+    {
+        return toXML(XmlUtils.EMPTY_DOC);
+    }
+
+    public Element toXML(Document doc)
+    {
+        CapabilityDefinition def = getCapabilityDefinition();
+        
+        Element root = XmlUtils.createElement(doc, DescriptorConstants.CAPABILITY_QNAME);
+        
+        XmlUtils.setElement(root, DescriptorConstants.CAPABILITY_URI_QNAME, def.getURI());
+        XmlUtils.setElement(root, DescriptorConstants.JAVA_CAPABILITY_QNAME, def.getImplementationClass().getName());
+        
+        PersistenceDefinition persistence = def.getPersistenceDefinition();
+        
+        if (persistence != null)
+        {
+            PersistenceDescriptor pd = createPersistenceDescriptor();
+            pd.setPersistenceDefinition(persistence);
+            Element persistenceXML = pd.toXML(doc);
+            root.appendChild(persistenceXML);
+        }
+        
+        Map parameters = def.getInitializationParameters();
+        
+        if (parameters != null)
+        {
+            InitParamDescriptor id = createInitParamDescriptor();
+            id.setInitializationParameters(parameters);
+            Element initParamXML = id.toXML(doc);
+            
+            //
+            // we move the sub tree because InitParamDescriptor.toXML() returns 
+            // a wrapper element around multiple init-param elements
+            //
+            XmlUtils.moveSubTree(initParamXML, root);
+        }
+        
+        return root;
     }
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleDeploymentDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleDeploymentDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleDeploymentDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleDeploymentDescriptor.java Thu Jan  4 18:28:19 2007
@@ -18,6 +18,8 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
 
 import javax.xml.namespace.QName;
 
@@ -37,7 +39,7 @@
  */
 
 public class SimpleDeploymentDescriptor implements DeploymentDescriptor
-{
+{    
     //
     // Used to lookup all exception messages
     //
@@ -47,7 +49,7 @@
     //
     // The resource type definitions in muse.xml
     //
-    private Collection _resourceDefinitions = null;
+    private Collection _resourceDefinitions = Collections.EMPTY_LIST;
     
     //
     // The data used to instantiate the router
@@ -57,7 +59,7 @@
     //
     // The custom serializers defined by the user
     //
-    private Collection _serializerDefinitions = null;
+    private Collection _serializerDefinitions = Collections.EMPTY_LIST;
     
     protected Collection createResourceDefinitions(Element xml, Environment env)
         throws SoapFault
@@ -171,5 +173,63 @@
         _resourceDefinitions = createResourceDefinitions(root, environment);
         
         _routerDefinition.setResourceDefinitions(_resourceDefinitions);
+    }
+
+    public void setResourceDefinitions(Collection definitions)
+    {
+        _resourceDefinitions = definitions;
+    }
+
+    public void setRouterDefinition(RouterDefinition definition)
+    {
+        _routerDefinition = definition;
+    }
+
+    public void setSerializerDefinitions(Collection definitions)
+    {
+        _serializerDefinitions = definitions;
+    }
+
+    public Element toXML()
+    {
+        return toXML(XmlUtils.EMPTY_DOC);
+    }
+
+    public Element toXML(Document doc)
+    {
+        RouterDefinition routerDef = getRouterDefinition();
+        Collection resourceDefs = getResourceDefinitions();
+        Collection serializerDefs = getSerializerDefinitions();
+        
+        Element root = XmlUtils.createElement(doc, DescriptorConstants.MUSE_QNAME);
+        
+        RouterDescriptor router = createRouterDescriptor();
+        router.setRouterDefinition(routerDef);
+        Element routerXML = router.toXML(doc);
+        root.appendChild(routerXML);
+        
+        Iterator i = resourceDefs.iterator();
+        ResourceDescriptor resource = createResourceDescriptor();
+        
+        while (i.hasNext())
+        {
+            ResourceDefinition next = (ResourceDefinition)i.next();
+            resource.setResourceDefinition(next);
+            Element resourceXML = resource.toXML(doc);
+            root.appendChild(resourceXML);
+        }
+        
+        i = serializerDefs.iterator();
+        SerializerDescriptor serializer = createSerializerDescriptor();
+        
+        while (i.hasNext())
+        {
+            SerializerDefinition next = (SerializerDefinition)i.next();
+            serializer.setSerializerDefinition(next);
+            Element serializerXML = serializer.toXML(doc);
+            root.appendChild(serializerXML);
+        }
+        
+        return root;
     }
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleInitParamDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleInitParamDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleInitParamDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleInitParamDescriptor.java Thu Jan  4 18:28:19 2007
@@ -17,8 +17,10 @@
 package org.apache.muse.core.descriptor;
 
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import org.apache.muse.util.xml.XmlUtils;
@@ -57,5 +59,44 @@
     public void load(Element elementContainingInitParams)
     {
         _parameters = createInitializationParameters(elementContainingInitParams);
+    }
+
+    public void setInitializationParameters(Map parameters)
+    {
+        _parameters = parameters;
+    }
+
+    public Element toXML()
+    {
+        return toXML(XmlUtils.EMPTY_DOC);
+    }
+
+    public Element toXML(Document doc)
+    {
+        //
+        // HACK: Just like the load() method, which takes an element that 
+        //       contains init-param elements, we have to create a dummy 
+        //       root element to contain our real init-params. This should 
+        //       be discarded by the consumer. It's the only way to do this 
+        //       and be in compliance with XmlSerializable.toXML().
+        //
+        Element root = XmlUtils.createElement(doc, DescriptorConstants.INIT_PARAM_QNAME);
+        
+        Map parameters = getInitializationParameters();
+        Iterator i = parameters.keySet().iterator();
+        
+        while (i.hasNext())
+        {
+            Object name = i.next();
+            Object value = parameters.get(name);
+            
+            Element param = XmlUtils.createElement(doc, DescriptorConstants.INIT_PARAM_QNAME);
+            XmlUtils.setElement(param, DescriptorConstants.PARAM_NAME_QNAME, name);
+            XmlUtils.setElement(param, DescriptorConstants.PARAM_VALUE_QNAME, value);
+            
+            root.appendChild(param);
+        }
+        
+        return root;
     }
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimplePersistenceDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimplePersistenceDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimplePersistenceDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimplePersistenceDescriptor.java Thu Jan  4 18:28:19 2007
@@ -18,6 +18,7 @@
 
 import java.util.Map;
 
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
@@ -95,5 +96,42 @@
         _definition.setPersistenceClass(theClass);
         _definition.setPersistenceLocation(location);
         _definition.setInitializationParameters(parameters);
+    }
+
+    public void setPersistenceDefinition(PersistenceDefinition definition)
+    {
+        _definition = definition;
+    }
+
+    public Element toXML()
+    {
+        return toXML(XmlUtils.EMPTY_DOC);
+    }
+
+    public Element toXML(Document doc)
+    {
+        PersistenceDefinition def = getPersistenceDefinition();
+        
+        Element root = XmlUtils.createElement(doc, DescriptorConstants.PERSISTENCE_QNAME);
+        
+        XmlUtils.setElement(root, DescriptorConstants.PERSISTENCE_LOCATION_QNAME, def.getPersistenceLocation());
+        XmlUtils.setElement(root, DescriptorConstants.JAVA_PERSISTENCE_QNAME, def.getPersistenceClass().getName());
+        
+        Map parameters = def.getInitializationParameters();
+        
+        if (parameters != null)
+        {
+            InitParamDescriptor id = createInitParamDescriptor();
+            id.setInitializationParameters(parameters);
+            Element initParamXML = id.toXML(doc);
+            
+            //
+            // we move the sub tree because InitParamDescriptor.toXML() returns 
+            // a wrapper element around multiple init-param elements
+            //
+            XmlUtils.moveSubTree(initParamXML, root);
+        }
+        
+        return root;
     }
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleResourceDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleResourceDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleResourceDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleResourceDescriptor.java Thu Jan  4 18:28:19 2007
@@ -410,4 +410,67 @@
         _definition.setCapabilityDefinitions(capabilities);
         _definition.setInitializationParameters(parameters);
     }
+
+    public void setResourceDefinition(ResourceDefinition definition)
+    {
+        _definition = definition;
+    }
+
+    public Element toXML()
+    {
+        return toXML(XmlUtils.EMPTY_DOC);
+    }
+
+    public Element toXML(Document doc)
+    {
+        ResourceDefinition def = getResourceDefinition();
+        
+        Element root = XmlUtils.createElement(doc, DescriptorConstants.RESOURCE_TYPE_QNAME);
+        
+        boolean persistence = def.isUsingPersistence();
+        root.setAttribute(DescriptorConstants.USE_ROUTER_PERSISTENCE, Boolean.toString(persistence));
+        
+        XmlUtils.setElement(root, DescriptorConstants.CONTEXT_PATH_QNAME, def.getContextPath());
+        
+        WsdlConfig wsdl = def.getWsdlConfig();
+        Element wsdlXML = XmlUtils.createElement(doc, DescriptorConstants.WSDL_QNAME);
+        XmlUtils.setElement(wsdlXML, DescriptorConstants.WSDL_FILE_QNAME, wsdl.getWsdlPath());
+        XmlUtils.setElement(wsdlXML, DescriptorConstants.WSDL_PORT_TYPE_QNAME, wsdl.getWsdlPortType());
+        root.appendChild(wsdlXML);
+        
+        ResourceIdFactory factory = def.getResourceIdFactory();
+        
+        if (factory != null)
+            XmlUtils.setElement(root, DescriptorConstants.JAVA_ID_FACTORY_QNAME, factory.getClass().getName());
+        
+        XmlUtils.setElement(root, DescriptorConstants.JAVA_RESOURCE_QNAME, def.getResourceClass().getName());
+        
+        Iterator i = def.getCapabilityDefinitions().iterator();
+        
+        while (i.hasNext())
+        {
+            CapabilityDefinition next = (CapabilityDefinition)i.next();
+            CapabilityDescriptor cd = createCapabilityDescriptor();
+            cd.setCapabilityDefinition(next);
+            Element capabilityXML = cd.toXML(doc);
+            root.appendChild(capabilityXML);
+        }
+        
+        Map parameters = def.getInitializationParameters();
+        
+        if (parameters != null)
+        {
+            InitParamDescriptor id = createInitParamDescriptor();
+            id.setInitializationParameters(parameters);
+            Element initParamXML = id.toXML(doc);
+            
+            //
+            // we move the sub tree because InitParamDescriptor.toXML() returns 
+            // a wrapper element around multiple init-param elements
+            //
+            XmlUtils.moveSubTree(initParamXML, root);
+        }
+        
+        return root;
+    }
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java Thu Jan  4 18:28:19 2007
@@ -21,6 +21,7 @@
 
 import javax.xml.namespace.QName;
 
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
@@ -146,5 +147,42 @@
         _definition.setRouterClass(routerClass);
         _definition.setLoggingConfig(logging);
         _definition.setPersistenceDefinition(persistence);
+    }
+
+    public void setRouterDefinition(RouterDefinition definition)
+    {
+        _definition = definition;
+    }
+
+    public Element toXML()
+    {
+        return toXML(XmlUtils.EMPTY_DOC);
+    }
+
+    public Element toXML(Document doc)
+    {
+        RouterDefinition def = getRouterDefinition();
+        
+        Element root = XmlUtils.createElement(doc, DescriptorConstants.ROUTER_QNAME);
+        
+        XmlUtils.setElement(root, DescriptorConstants.JAVA_ROUTER_QNAME, def.getRouterClass().getName());
+        
+        LoggingConfig logging = def.getLoggingConfig();
+        Element loggingXML = XmlUtils.createElement(doc, DescriptorConstants.LOGGING_QNAME);
+        XmlUtils.setElement(loggingXML, DescriptorConstants.LOG_FILE_QNAME, logging.getLogFile());
+        XmlUtils.setElement(loggingXML, DescriptorConstants.LOG_LEVEL_QNAME, logging.getLogFile());
+        root.appendChild(loggingXML);
+        
+        PersistenceDefinition persistence = def.getPersistenceDefinition();
+        
+        if (persistence != null)
+        {
+            PersistenceDescriptor pd = createPersistenceDescriptor();
+            pd.setPersistenceDefinition(persistence);
+            Element persistenceXML = pd.toXML(doc);
+            root.appendChild(persistenceXML);
+        }
+        
+        return root;
     }
 }

Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleSerializerDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleSerializerDescriptor.java?view=diff&rev=492865&r1=492864&r2=492865
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleSerializerDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleSerializerDescriptor.java Thu Jan  4 18:28:19 2007
@@ -16,6 +16,7 @@
 
 package org.apache.muse.core.descriptor;
 
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import org.apache.muse.core.Environment;
@@ -84,5 +85,25 @@
         _definition.setEnvironment(environment);
         _definition.setSerializableType(serializableType);
         _definition.setSerializerClass(serializerClass);
+    }
+
+    public void setSerializerDefinition(SerializerDefinition definition)
+    {
+        _definition = definition;
+    }
+
+    public Element toXML()
+    {
+        return toXML(XmlUtils.EMPTY_DOC);
+    }
+
+    public Element toXML(Document doc)
+    {
+        SerializerDefinition def = getSerializerDefinition();
+        
+        Element root = XmlUtils.createElement(doc, DescriptorConstants.CUSTOM_SERIALIZER_QNAME);
+        XmlUtils.setElement(root, DescriptorConstants.JAVA_SERIALIZABLE_QNAME, def.getSerializableType().getName());
+        XmlUtils.setElement(root, DescriptorConstants.JAVA_SERIALIZER_QNAME, def.getSerializerClass().getName());
+        return root;
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org