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>
+ * <import [xmlns="http://ws.apache.org/ns/synapse"] [name="string"]
[package="string"]>
+ * </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);
+ }
+
+
}