Author: uswick
Date: Mon Apr 16 07:52:07 2012
New Revision: 1326522

URL: http://svn.apache.org/viewvc?rev=1326522&view=rev
Log:
comitting patch for SYNAPSE-863

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseImportSerializer.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseImportSerializer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseImportSerializer.java?rev=1326522&r1=1326521&r2=1326522&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseImportSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseImportSerializer.java
 Mon Apr 16 07:52:07 2012
@@ -17,5 +17,72 @@
 */
 package org.apache.synapse.config.xml;
 
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.commons.logging.Log;
+import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.libraries.imports.SynapseImport;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * This will serialize the SynapseImport to the xml configuration as specified 
bellow
+ * <p/>
+ * <pre>
+ * &lt;import [xmlns="http://ws.apache.org/ns/synapse";] [name="string"] 
[package="string"]&gt;
+ * </pre>
+ */
+
 public class SynapseImportSerializer {
+
+    private static final Log log = 
LogFactory.getLog(SynapseImportSerializer.class);
+
+    protected static final OMFactory fac = OMAbstractFactory.getOMFactory();
+    protected static final OMNamespace synNS = 
SynapseConstants.SYNAPSE_OMNAMESPACE;
+    protected static final OMNamespace nullNS = 
fac.createOMNamespace(XMLConfigConstants.NULL_NAMESPACE, "");
+
+
+    /**
+     * This method will implements the serialization of SynapseImport object 
to its configuration
+     *
+     * @param s the type SynapseImport which is subjected to the serialization
+     * @return OMElement serialized in to xml from the given parameters
+     */
+    public OMElement serializeImport(SynapseImport s) {
+
+
+        if (!(s instanceof SynapseImport)) {
+            handleException("Unsupported Synapse Import passed in for 
serialization");
+        }
+
+        SynapseImport synapseImport = (SynapseImport) s;
+
+        OMElement importElem = fac.createOMElement("import", synNS);
+
+        if (synapseImport.getLibName() != null) {
+            importElem.addAttribute(fac.createOMAttribute(
+                    "name", nullNS, s.getLibName()));
+        } else {
+            handleException("Invalid Synapse Import. Target Library name is 
required");
+        }
+
+        if (synapseImport.getLibPackage() != null) {
+            importElem.addAttribute(fac.createOMAttribute(
+                    "package", nullNS, s.getLibPackage()));
+        } else {
+            handleException("Invalid Synapse Import. Target Library package is 
required");
+        }
+
+        return importElem;
+
+    }
+
+    private void handleException(String msg) {
+        log.error(msg);
+        throw new SynapseException(msg);
+    }
+
+
 }


Reply via email to