You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by is...@apache.org on 2016/11/14 13:50:54 UTC
svn commit: r1769628 - in
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse:
config/xml/ mediators/builtin/
Author: isudana
Date: Mon Nov 14 13:50:54 2016
New Revision: 1769628
URL: http://svn.apache.org/viewvc?rev=1769628&view=rev
Log:
Loopback mediator implementation by Vanji - SYNAPSE-1052
Added:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorSerializer.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LoopbackMediator.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
Added: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorFactory.java?rev=1769628&view=auto
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorFactory.java (added)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorFactory.java Mon Nov 14 13:50:54 2016
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.synapse.Mediator;
+import org.apache.synapse.mediators.builtin.LoopbackMediator;
+
+import javax.xml.namespace.QName;
+import java.util.Properties;
+
+public class LoopbackMediatorFactory extends AbstractMediatorFactory {
+
+ private static final QName LoopBack_Q = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "loopback");
+
+ @Override
+ protected Mediator createSpecificMediator(OMElement elem, Properties properties) {
+ Mediator loopBackMediator = new LoopbackMediator();
+ processAuditStatus(loopBackMediator, elem);
+ return loopBackMediator;
+ }
+
+ public QName getTagQName() {
+ return LoopBack_Q;
+ }
+}
Added: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorSerializer.java?rev=1769628&view=auto
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorSerializer.java (added)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/LoopbackMediatorSerializer.java Mon Nov 14 13:50:54 2016
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.synapse.Mediator;
+import org.apache.synapse.mediators.builtin.LoopbackMediator;
+
+
+public class LoopbackMediatorSerializer extends AbstractMediatorSerializer {
+
+ @Override
+ protected OMElement serializeSpecificMediator(Mediator m) {
+ if (!(m instanceof LoopbackMediator)) {
+ handleException("Unsupported mediator passed in for serialization : " + m.getType());
+ }
+
+ LoopbackMediator mediator = (LoopbackMediator) m;
+ OMElement loopBack = fac.createOMElement("loopback", synNS);
+ saveTracingState(loopBack, mediator);
+ return loopBack;
+ }
+
+ public String getMediatorClassName() {
+ return LoopbackMediator.class.getName();
+ }
+}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java?rev=1769628&r1=1769627&r2=1769628&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java Mon Nov 14 13:50:54 2016
@@ -85,7 +85,8 @@ public class MediatorFactoryFinder imple
PayloadFactoryMediatorFactory.class,
BeanMediatorFactory.class,
EJBMediatorFactory.class,
- RespondMediatorFactory.class
+ RespondMediatorFactory.class,
+ LoopbackMediatorFactory.class
};
private final static MediatorFactoryFinder instance = new MediatorFactoryFinder();
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java?rev=1769628&r1=1769627&r2=1769628&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java Mon Nov 14 13:50:54 2016
@@ -72,7 +72,8 @@ public class MediatorSerializerFinder {
PayloadFactoryMediatorSerializer.class,
BeanMediatorSerializer.class,
EJBMediatorSerializer.class,
- RespondMediatorSerializer.class
+ RespondMediatorSerializer.class,
+ LoopbackMediatorSerializer.class
};
private final static MediatorSerializerFinder instance = new MediatorSerializerFinder();
Added: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LoopbackMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LoopbackMediator.java?rev=1769628&view=auto
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LoopbackMediator.java (added)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LoopbackMediator.java Mon Nov 14 13:50:54 2016
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.mediators.builtin;
+
+import org.apache.synapse.MessageContext;
+import org.apache.synapse.SynapseLog;
+import org.apache.synapse.mediators.AbstractMediator;
+
+public class LoopbackMediator extends AbstractMediator {
+
+ public boolean mediate(MessageContext synCtx) {
+
+ SynapseLog synLog = getLog(synCtx);
+
+ if (synLog.isTraceOrDebugEnabled()) {
+ synLog.traceOrDebug("Start : Loopback Mediator");
+ if (synLog.isTraceTraceEnabled()) {
+ synLog.traceTrace("Message : " + synCtx.getEnvelope());
+ }
+ }
+
+ if (!synCtx.isResponse()) {
+ synCtx.setResponse(true);
+ synCtx.setTo(null);
+ synCtx.getEnvironment().injectMessage(synCtx);
+ }
+
+ if (synLog.isTraceOrDebugEnabled()) {
+ synLog.traceOrDebug("End : Loopback Mediator");
+ }
+ return false;
+ }
+
+ @Override
+ public boolean isContentAware() {
+ return false;
+ }
+}