You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by sa...@apache.org on 2006/05/05 06:33:20 UTC
svn commit: r399953 - in /incubator/synapse/trunk/scratch/synapse2/modules:
core/src/org/apache/synapse/axis2/ core/src/org/apache/synapse/config/
core/src/org/apache/synapse/config/xml/
core/src/org/apache/synapse/mediators/ core/src/org/apache/synaps...
Author: saminda
Date: Thu May 4 21:33:17 2006
New Revision: 399953
URL: http://svn.apache.org/viewcvs?rev=399953&view=rev
Log:
move xml configuration stuff into o.a.s.config.xml fix logging and documentation
Added:
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractListMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/ClassMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/Constants.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/Constants.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/DropMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java
- copied, changed from r399600, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FaultMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java
- copied, changed from r399600, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FilterMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/HeaderMediatorFactory.java
- copied, changed from r399670, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/HeaderMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/LogMediatorFactory.java
- copied, changed from r399670, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/LogMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactoryFinder.java
- copied, changed from r399600, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactoryFinder.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SendMediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SendMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SequenceMediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SequenceMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseConfigurationBuilder.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseConfigurationBuilder.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseMediatorFactory.java
- copied, changed from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/TransformMediatorFactory.java
Removed:
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractListMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/ClassMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/Constants.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/DropMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FaultMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FilterMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/HeaderMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/LogMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactoryFinder.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SendMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SequenceMediatorFactory.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseConfigurationBuilder.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseMediatorFactory.java
Modified:
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/axis2/Axis2SynapseContext.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/MediatorProperty.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java
incubator/synapse/trunk/scratch/synapse2/modules/samples/src/samples/userguide/DumbStockQuoteClient.java
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/axis2/Axis2SynapseContext.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/axis2/Axis2SynapseContext.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/axis2/Axis2SynapseContext.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/axis2/Axis2SynapseContext.java Thu May 4 21:33:17 2006
@@ -21,7 +21,7 @@
import org.apache.synapse.SynapseContext;
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.config.SynapseConfiguration;
-import org.apache.synapse.config.SynapseConfigurationBuilder;
+import org.apache.synapse.config.xml.SynapseConfigurationBuilder;
import java.io.InputStream;
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractListMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractListMediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractListMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java Thu May 4 21:33:17 2006
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import java.util.Iterator;
@@ -24,16 +24,17 @@
import org.apache.synapse.api.ListMediator;
import org.apache.synapse.api.Mediator;
import org.apache.axiom.om.OMElement;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
- *
- *
- * <p> This is the abstract parent of any tag which is a "Node" - so <stage>, <in><out> and <never> all fit this model
- * <p>It recursively creates a list of processors from the children.
- *
+ * This implements the basic logic to build a list mediator from a given XML
+ * configuration. It recursively builds the child mediators of the list.
*/
public abstract class AbstractListMediatorFactory extends AbstractMediatorFactory {
+ private static final Log log = LogFactory.getLog(AbstractListMediatorFactory.class);
+
public void addChildren(SynapseContext synCtx, OMElement el, ListMediator m)
{
Iterator it = el.getChildElements();
@@ -49,7 +50,4 @@
}
}
}
-
-
-
}
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractMediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/AbstractMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java Thu May 4 21:33:17 2006
@@ -13,19 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
- *
- *
- * <p> This is the abstract superclass of any tag that isn't a "node". I.e. mediators or builtin
- * mediators like log
- *
+ * Is the abstract superclass of MediatorFactory's
*/
public abstract class AbstractMediatorFactory implements MediatorFactory {
-
- Log log = LogFactory.getLog(getClass());
}
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/ClassMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/ClassMediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/ClassMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java Thu May 4 21:33:17 2006
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
-import org.apache.synapse.config.Constants;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.SynapseContext;
import org.apache.synapse.SynapseException;
import org.apache.synapse.api.Mediator;
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/Constants.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/Constants.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/Constants.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/Constants.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/Constants.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/Constants.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/Constants.java Thu May 4 21:33:17 2006
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/DropMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/DropMediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/DropMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java Thu May 4 21:33:17 2006
@@ -14,17 +14,21 @@
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import org.apache.synapse.SynapseContext;
-import org.apache.synapse.config.Constants;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.mediators.builtin.DropMediator;
import org.apache.axiom.om.OMElement;
import javax.xml.namespace.QName;
-
+/**
+ * This creates a drop mediator instance
+ *
+ * <drop/>
+ */
public class DropMediatorFactory extends AbstractMediatorFactory {
private static final QName DROP_Q = new QName(Constants.SYNAPSE_NAMESPACE, "drop");
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java (from r399600, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FaultMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FaultMediatorFactory.java&r1=399600&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FaultMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java Thu May 4 21:33:17 2006
@@ -13,23 +13,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
import org.apache.synapse.SynapseContext;
-import org.apache.synapse.config.Constants;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.mediators.transform.FaultMediator;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMAttribute;
/**
+ * Creates a fault mediator instance
*
- * <p>
- * <xmp><synapse:fault name="optional"/> </xmp>
- * TODO add the ability to configure the fault codes, etc
- *
+ * <makefault [version="soap11|soap12"]>
+ * <code (value="literal" | expression="xpath")/>
+ * <reason (value="literal" | expression="xpath")>
+ * <node>?
+ * <role>?
+ * <detail>?
+ * </makefault>
*/
public class FaultMediatorFactory extends AbstractMediatorFactory {
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java (from r399600, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FilterMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FilterMediatorFactory.java&r1=399600&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/FilterMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java Thu May 4 21:33:17 2006
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.SynapseContext;
@@ -23,6 +23,8 @@
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jaxen.JaxenException;
import javax.xml.namespace.QName;
@@ -30,7 +32,16 @@
import java.util.regex.PatternSyntaxException;
import java.util.Iterator;
+/**
+ * Creates a filter mediator instance
+ *
+ * <filter (source="xpath" regex="string") | xpath="xpath">
+ * mediator+
+ * </filter>
+ */
public class FilterMediatorFactory extends AbstractListMediatorFactory {
+
+ private static final Log log = LogFactory.getLog(FaultMediatorFactory.class);
private static final QName FILTER_Q = new QName(Constants.SYNAPSE_NAMESPACE, "filter");
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/HeaderMediatorFactory.java (from r399670, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/HeaderMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/HeaderMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/HeaderMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/HeaderMediatorFactory.java&r1=399670&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/HeaderMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/HeaderMediatorFactory.java Thu May 4 21:33:17 2006
@@ -13,25 +13,35 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
import org.apache.synapse.SynapseContext;
import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.Constants;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.mediators.transform.HeaderMediator;
import org.apache.synapse.mediators.transform.HeaderMediator;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jaxen.JaxenException;
/**
+ * This builds a Header Mediator parsing the XML configuration supplied
*
+ * Set header
+ * <header name="qname" (value="literal" | expression="xpath")/>
+ *
+ * Remove header
+ * <header name="qname" action="remove"/>
*/
public class HeaderMediatorFactory extends AbstractMediatorFactory {
+
+ private static final Log log = LogFactory.getLog(HeaderMediatorFactory.class);
private static final QName HEADER_Q = new QName(Constants.SYNAPSE_NAMESPACE, "header");
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/LogMediatorFactory.java (from r399670, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/LogMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/LogMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/LogMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/LogMediatorFactory.java&r1=399670&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/LogMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/LogMediatorFactory.java Thu May 4 21:33:17 2006
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
@@ -26,6 +26,8 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jaxen.JaxenException;
import java.util.Iterator;
@@ -33,11 +35,13 @@
/**
* Created a Log mediator that logs messages using commons-logging.
*
- * <log [level="simple|headers|full"]>
+ * <log [level="simple|headers|full|custom"]>
* <property> *
* </log>
*/
public class LogMediatorFactory extends AbstractMediatorFactory {
+
+ private static final Log log = LogFactory.getLog(LogMediatorFactory.class);
private static final QName LOG_Q = new QName(Constants.SYNAPSE_NAMESPACE, "log");
private static final String SIMPLE = "simple";
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java Thu May 4 21:33:17 2006
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
@@ -22,7 +22,22 @@
import org.apache.synapse.api.Mediator;
import org.apache.axiom.om.OMElement;
+/**
+ * A mediator factory capable of creating an instance of a mediator through a given
+ * XML should implement this interface
+ */
public interface MediatorFactory {
+ /**
+ * Creates an instance of the mediator using the OMElement
+ * @param se
+ * @param el
+ * @return the created mediator
+ */
public Mediator createMediator(SynapseContext se, OMElement el);
+
+ /**
+ * The QName of this mediator element in the XML config
+ * @return QName of the mediator element
+ */
public QName getTagQName();
}
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactoryFinder.java (from r399600, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactoryFinder.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactoryFinder.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactoryFinder.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactoryFinder.java&r1=399600&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/MediatorFactoryFinder.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/MediatorFactoryFinder.java Thu May 4 21:33:17 2006
@@ -15,7 +15,7 @@
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import java.util.HashMap;
import java.util.Iterator;
@@ -29,7 +29,7 @@
import org.apache.synapse.SynapseContext;
import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.MediatorFactory;
+import org.apache.synapse.config.xml.MediatorFactory;
import org.apache.synapse.api.Mediator;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
@@ -46,7 +46,7 @@
public class MediatorFactoryFinder {
private static Map factoryMap = new HashMap();
- private Log log = LogFactory.getLog(getClass());
+ private static final Log log = LogFactory.getLog(MediatorFactoryFinder.class);
private static final Class[] mediatorFactories = {
SequenceMediatorFactory.class,
@@ -56,7 +56,8 @@
SynapseMediatorFactory.class,
DropMediatorFactory.class,
HeaderMediatorFactory.class,
- FaultMediatorFactory.class
+ FaultMediatorFactory.class,
+ TransformMediatorFactory.class
};
private static MediatorFactoryFinder instance = null;
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SendMediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SendMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SendMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SendMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SendMediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SendMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SendMediatorFactory.java Thu May 4 21:33:17 2006
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
@@ -28,6 +28,33 @@
* The Send mediator factory parses a Send element and creates an instance of the mediator
*
* //TODO support endpoints, failover and loadbalacing
+ *
+ * The <send> element is used to send messages out of Synapse to some endpoint. In the simplest case,
+ * the place to send the message to is implicit in the message (via a property of the message itself)-
+ * that is indicated by the following
+ * <send/>
+ *
+ * If the message is to be sent to one or more endpoints, then the following is used:
+ * <send>
+ * (endpointref | endpoint)+
+ * </send>
+ * where the endpointref token refers to the following:
+ * <endpoint ref="name"/>
+ * and the endpoint token refers to an anonymous endpoint defined inline:
+ * <endpoint address="url"/>
+ * If the message is to be sent to an endpoint selected by load balancing across a set of endpoints,
+ * then it is indicated by the following:
+ * <send>
+ * <load-balance algorithm="uri">
+ * (endpointref | endpoint)+
+ * </load-balance>
+ * </send>
+ * Similarly, if the message is to be sent to an endpoint with failover semantics, then it is indicated by the following:
+ * <send>
+ * <failover>
+ * (endpointref | endpoint)+
+ * </failover>
+ * </send>
*/
public class SendMediatorFactory extends AbstractMediatorFactory {
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SequenceMediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SequenceMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SequenceMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SequenceMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SequenceMediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SequenceMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SequenceMediatorFactory.java Thu May 4 21:33:17 2006
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.SynapseContext;
@@ -21,14 +21,25 @@
import org.apache.synapse.mediators.base.SequenceMediator;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMAttribute;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
import javax.xml.namespace.QName;
/**
* Builds an instance of a Sequence mediator through the Synapse configuration. It follows the following
- * <sequence (ref="name" | name="name")> mediator* </sequence>
+ *
+ * <sequence name="string">
+ * mediator+
+ * </sequence>
+ *
+ * OR
+ *
+ * <sequence ref="name"/>
*/
public class SequenceMediatorFactory extends AbstractListMediatorFactory {
+
+ private static final Log log = LogFactory.getLog(SequenceMediatorFactory.class);
private static final QName SEQUENCE_Q = new QName(Constants.SYNAPSE_NAMESPACE, "sequence");
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseConfigurationBuilder.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseConfigurationBuilder.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseConfigurationBuilder.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseConfigurationBuilder.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseConfigurationBuilder.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseConfigurationBuilder.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseConfigurationBuilder.java Thu May 4 21:33:17 2006
@@ -13,13 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.synapse.SynapseContext;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.mediators.base.SequenceMediator;
import org.apache.synapse.mediators.base.SynapseMediator;
import org.apache.commons.logging.Log;
Copied: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseMediatorFactory.java (from r399252, incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseMediatorFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseMediatorFactory.java?p2=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseMediatorFactory.java&p1=incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseMediatorFactory.java&r1=399252&r2=399953&rev=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/SynapseMediatorFactory.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/SynapseMediatorFactory.java Thu May 4 21:33:17 2006
@@ -14,16 +14,23 @@
* limitations under the License.
*/
-package org.apache.synapse.config;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
import org.apache.synapse.SynapseContext;
-import org.apache.synapse.config.Constants;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.mediators.base.SynapseMediator;
import org.apache.axiom.om.OMElement;
+/**
+ * Builds the main mediator (@see SynapseConfiguration) of the Synapse instance
+ *
+ * <rules>
+ * mediator+
+ * <rules>
+ */
public class SynapseMediatorFactory extends AbstractListMediatorFactory {
private final static QName tagname = new QName(Constants.SYNAPSE_NAMESPACE, "rules");
Added: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/TransformMediatorFactory.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/TransformMediatorFactory.java?rev=399953&view=auto
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/TransformMediatorFactory.java (added)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/config/xml/TransformMediatorFactory.java Thu May 4 21:33:17 2006
@@ -0,0 +1,95 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.apache.synapse.config.xml;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.synapse.SynapseContext;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.mediators.transform.TransformMediator;
+import org.apache.synapse.api.Mediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jaxen.JaxenException;
+
+import javax.xml.namespace.QName;
+import java.net.URL;
+import java.net.MalformedURLException;
+
+/**
+ * Creates a transform mediator from the given XML
+ *
+ * <transform xslt|xquery="url" [source="xpath"]>
+ * <property name="string" (value="literal" | expression="xpath")/>*
+ * </transform>
+ */
+public class TransformMediatorFactory extends AbstractMediatorFactory {
+
+ private static final Log log = LogFactory.getLog(TransformMediatorFactory.class);
+ private static final QName LOG_Q = new QName(Constants.SYNAPSE_NAMESPACE, "transform");
+
+ public QName getTagQName() {
+ return LOG_Q;
+ }
+
+ public Mediator createMediator(SynapseContext synCtx, OMElement elem) {
+
+ TransformMediator transformMediator = new TransformMediator();
+
+ OMAttribute attXslt = elem.getAttribute(new QName(Constants.NULL_NAMESPACE, "xslt"));
+ OMAttribute attXQuery = elem.getAttribute(new QName(Constants.NULL_NAMESPACE, "xquery"));
+ OMAttribute attSource = elem.getAttribute(new QName(Constants.NULL_NAMESPACE, "source"));
+
+ if (attXslt != null) {
+ try {
+ transformMediator.setXsltUrl(new URL(attXslt.getAttributeValue()));
+ } catch (MalformedURLException e) {
+ String msg = "Invalid URL specified for the xslt attribute : " + attXslt.getAttributeValue();
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+
+ } else if (attXQuery != null) {
+ try {
+ transformMediator.setXQueryUrl(new URL(attXQuery.getAttributeValue()));
+ } catch (MalformedURLException e) {
+ String msg = "Invalid URL specified for the xquery attribute : " + attXQuery.getAttributeValue();
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+
+ } else {
+ String msg = "The 'xslt' or 'xquery' attributes are required for the Transform mediator";
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+
+ if (attSource != null) {
+ try {
+ transformMediator.setSource(new AXIOMXPath(attSource.getAttributeValue()));
+ } catch (JaxenException e) {
+ String msg = "Invalid XPath specified for the source attribute : " + attSource.getAttributeValue();
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+
+ }
+
+ return transformMediator;
+ }
+
+}
\ No newline at end of file
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java Thu May 4 21:33:17 2006
@@ -19,6 +19,8 @@
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.api.ListMediator;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
import java.util.ArrayList;
import java.util.Iterator;
@@ -30,6 +32,8 @@
* @see ListMediator
*/
public abstract class AbstractListMediator extends AbstractMediator implements ListMediator {
+
+ private static final Log log = LogFactory.getLog(AbstractListMediator.class);
protected List mediators = new ArrayList();
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/AbstractMediator.java Thu May 4 21:33:17 2006
@@ -25,8 +25,6 @@
*/
public abstract class AbstractMediator implements Mediator {
- protected final Log log = LogFactory.getLog(getClass());
-
/**
* Returns the class name of the mediator
* @return the class name of the mediator
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/MediatorProperty.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/MediatorProperty.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/MediatorProperty.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/MediatorProperty.java Thu May 4 21:33:17 2006
@@ -15,7 +15,7 @@
*/
package org.apache.synapse.mediators;
-import org.apache.synapse.config.Constants;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.Util;
import org.apache.synapse.SynapseMessage;
import org.apache.axiom.om.xpath.AXIOMXPath;
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java Thu May 4 21:33:17 2006
@@ -19,6 +19,8 @@
import org.apache.synapse.SynapseException;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.mediators.AbstractListMediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* The Sequence mediator either refers to another Sequence mediator instance
@@ -26,6 +28,7 @@
*/
public class SequenceMediator extends AbstractListMediator {
+ private static final Log log = LogFactory.getLog(SequenceMediator.class);
private String name = null;
private String ref = null;
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java Thu May 4 21:33:17 2006
@@ -18,11 +18,15 @@
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.mediators.AbstractMediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* Halts further processing/mediation of the current message. i.e. returns false
*/
public class DropMediator extends AbstractMediator {
+
+ private static final Log log = LogFactory.getLog(LogMediator.class);
/**
* Halts further mediation of the current message by returning false.
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java Thu May 4 21:33:17 2006
@@ -20,6 +20,8 @@
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.synapse.mediators.MediatorProperty;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import java.util.Iterator;
import java.util.List;
@@ -34,6 +36,8 @@
* using the defined seperator (\n, "," etc)
*/
public class LogMediator extends AbstractMediator {
+
+ private static final Log log = LogFactory.getLog(LogMediator.class);
public static final int CUSTOM = 0;
public static final int SIMPLE = 1;
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java Thu May 4 21:33:17 2006
@@ -19,6 +19,8 @@
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.Constants;
import org.apache.synapse.mediators.AbstractMediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* The Send mediator sends the message using the following semantics.
@@ -29,6 +31,7 @@
*/
public class SendMediator extends AbstractMediator {
+ private static final Log log = LogFactory.getLog(SendMediator.class);
/**
* This is a leaf mediator. i.e. processing stops once send is invoked,
* as it always returns false
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java Thu May 4 21:33:17 2006
@@ -21,6 +21,8 @@
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.api.Mediator;
import org.apache.synapse.mediators.AbstractMediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
@@ -33,6 +35,7 @@
private Class clazz = null;
+ private static final Log log = LogFactory.getLog(ClassMediator.class);
public boolean mediate(SynapseMessage smc) {
log.debug(getType() + " mediate()");
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java Thu May 4 21:33:17 2006
@@ -23,6 +23,8 @@
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.Util;
import org.apache.synapse.mediators.AbstractListMediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jaxen.JaxenException;
import java.util.regex.Pattern;
@@ -35,6 +37,7 @@
*/
public class FilterMediator extends AbstractListMediator implements org.apache.synapse.api.FilterMediator {
+ private static final Log log = LogFactory.getLog(FilterMediator.class);
private AXIOMXPath source = null;
private Pattern regex = null;
private AXIOMXPath xpath = null;
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java Thu May 4 21:33:17 2006
@@ -36,6 +36,8 @@
* TODO this class needs more attention! - revisit later
*/
public class FaultMediator extends AbstractMediator {
+
+ private static final Log log = LogFactory.getLog(FaultMediator.class);
public static final int SOAP11 = 1;
public static final int SOAP12 = 2;
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java Thu May 4 21:33:17 2006
@@ -20,6 +20,8 @@
import org.apache.synapse.HeaderType;
import org.apache.synapse.Util;
import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* The header mediator is able to set a given value as a SOAP header, or remove a given
@@ -31,6 +33,8 @@
* @see HeaderType
*/
public class HeaderMediator extends AbstractMediator {
+
+ private static final Log log = LogFactory.getLog(HeaderMediator.class);
public static final int ACTION_SET = 0;
public static final int ACTION_REMOVE = 1;
Modified: incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java Thu May 4 21:33:17 2006
@@ -2,11 +2,20 @@
import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.OMDocument;
+import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.SOAP12Constants;
+import org.apache.axiom.soap.SOAP11Constants;
import org.apache.synapse.SynapseException;
import org.apache.synapse.SynapseMessage;
import org.apache.synapse.mediators.AbstractMediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jaxen.JaxenException;
import javax.xml.stream.XMLOutputFactory;
@@ -20,6 +29,7 @@
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.List;
/**
* The transform mediator performs an XSLT or XQuery transformation requested, using
@@ -29,9 +39,11 @@
*/
public class TransformMediator extends AbstractMediator {
+ private static final Log log = LogFactory.getLog(TransformMediator.class);
+
private URL xsltUrl = null;
- private URL xqUrl = null;
- private String source = null;
+ private URL xQueryUrl = null;
+ private AXIOMXPath source = null;
/**
* Transforms this message (or its element specified as the source) using the
@@ -46,7 +58,7 @@
performXLST(synMsg);
return true;
- } else if (xqUrl != null) {
+ } else if (xQueryUrl != null) {
//TODO later revisit later
System.err.println("Unimplemented functionality..");
return true;
@@ -67,17 +79,7 @@
ByteArrayOutputStream baosForSource = new ByteArrayOutputStream();
XMLStreamWriter xsWriterForSource = XMLOutputFactory.newInstance().createXMLStreamWriter(baosForSource);
- AXIOMXPath xp = new AXIOMXPath(source);
- Object result = xp.evaluate(synMsg.getEnvelope());
- OMNode sourceNode = null;
-
- if (result instanceof OMNode) {
- sourceNode = (OMNode) result;
- } else {
- String msg = "XPath evaluation of the source element did not return an OMNode";
- log.error(msg);
- throw new SynapseException(msg);
- }
+ OMNode sourceNode = getTransformSource(synMsg);
sourceNode.serialize(xsWriterForSource);
Source transformSrc = new StreamSource(new ByteArrayInputStream(baosForSource.toByteArray()));
@@ -89,7 +91,15 @@
transformer.transform(transformSrc, transformTgt);
StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(baosForTarget.toByteArray()));
- sourceNode.getParent().addChild(builder.getDocumentElement());
+ OMContainer parent = sourceNode.getParent();
+
+ if (parent instanceof SOAPEnvelope) {
+ ((SOAPEnvelope) parent).getBody().getFirstOMChild().detach();
+ ((SOAPEnvelope) parent).getBody().setFirstChild(builder.getDocumentElement());
+ } else {
+ parent.getFirstOMChild().detach();
+ parent.addChild(builder.getDocumentElement());
+ }
} catch (MalformedURLException mue) {
handleException(mue);
@@ -97,8 +107,6 @@
handleException(tce);
} catch (XMLStreamException xse) {
handleException(xse);
- } catch (JaxenException je) {
- handleException(je);
} catch (TransformerException te) {
handleException(te);
} catch (IOException ioe) {
@@ -106,10 +114,63 @@
}
}
+ private OMNode getTransformSource(SynapseMessage synMsg) {
+
+ if (source == null) {
+ try {
+ source = new AXIOMXPath("//SOAP-ENV:Body");
+ source.addNamespace("SOAP-ENV", synMsg.isSOAP11() ?
+ SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI : SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
+ } catch (JaxenException e) {}
+ }
+
+ try {
+ Object o = source.evaluate(synMsg.getEnvelope());;
+ if (o instanceof OMNode) {
+ return (OMNode) o;
+ } else if (o instanceof List && !((List) o).isEmpty()) {
+ return (OMNode) ((List) o).get(0); // Always fetches *only* the first
+ } else {
+ String msg = "The evaluation of the XPath expression " + source + " must result in an OMNode";
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+
+ } catch (JaxenException e) {
+ String msg = "Error evaluating XPath " + source + " on message";
+ log.error(msg);
+ throw new SynapseException(msg, e);
+ }
+ }
+
private void handleException(Exception e) {
String msg = "Error performing XSLT/XQ transformation " + e.getMessage();
log.error(msg);
throw new SynapseException(msg, e);
+ }
+
+ public AXIOMXPath getSource() {
+ return source;
+ }
+
+ public void setSource(AXIOMXPath source) {
+ this.source = source;
+ }
+
+ public URL getXsltUrl() {
+ return xsltUrl;
+ }
+
+ public void setXsltUrl(URL xsltUrl) {
+ this.xsltUrl = xsltUrl;
+ }
+
+ public URL getXQueryUrl() {
+ return xQueryUrl;
+ }
+
+ public void setXQueryUrl(URL xQueryUrl) {
+ this.xQueryUrl = xQueryUrl;
}
}
Modified: incubator/synapse/trunk/scratch/synapse2/modules/samples/src/samples/userguide/DumbStockQuoteClient.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/synapse2/modules/samples/src/samples/userguide/DumbStockQuoteClient.java?rev=399953&r1=399952&r2=399953&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/synapse2/modules/samples/src/samples/userguide/DumbStockQuoteClient.java (original)
+++ incubator/synapse/trunk/scratch/synapse2/modules/samples/src/samples/userguide/DumbStockQuoteClient.java Thu May 4 21:33:17 2006
@@ -63,7 +63,7 @@
EndpointReference targetEPR = new EndpointReference(url);
Options options = new Options();
- options.setTo(targetEPR);
+ options.setTo(targetEPR);
options.setAction("http://www.webserviceX.NET/GetQuote");
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org