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/08 15:16:08 UTC
svn commit: r405043 [1/4] - in /incubator/synapse/trunk/java: ./ bin/ etc/
modules/core/ modules/core/src/org/apache/synapse/
modules/core/src/org/apache/synapse/api/
modules/core/src/org/apache/synapse/axis2/
modules/core/src/org/apache/synapse/config...
Author: saminda
Date: Mon May 8 06:15:47 2006
New Revision: 405043
URL: http://svn.apache.org/viewcvs?rev=405043&view=rev
Log:
Merge changes performed on the scratch into main
Added:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseContext.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Util.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/
- copied from r405035, incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/xml/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/MediatorPropertyFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/PropertyMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SequenceMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SwitchCaseDefaultMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SwitchCaseMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SwitchMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SynapseConfigurationBuilder.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/TransformMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ValidateMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/SynapseEnvironment.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/
- copied from r405035, incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseContextFinder.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessageContext.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/AbstractListMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/AbstractMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/MediatorProperty.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/SequenceMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/PropertyMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/ValidateMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/ext/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/ext/ClassMediator.java
- copied, changed from r405035, incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/types/ClassMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/FilterMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/SwitchCaseMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/SwitchMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/transform/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/transform/FaultMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/transform/HeaderMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/transform/TransformMediator.java
incubator/synapse/trunk/java/modules/core/test-resources/misc/
incubator/synapse/trunk/java/modules/core/test-resources/misc/validate.xsd
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/TestSynapseMessageContext.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/TestMediateHandler.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/TestMediator.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/builtin/ValidateMediatorTest.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/ext/
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/ext/ClassMediatorTest.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/ext/ClassMediatorTestMediator.java
incubator/synapse/trunk/java/repository/modules/addressing-1.0.mar (with props)
Removed:
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Metrics.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/MetricsFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Processor.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseEnvironment.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseMessageConstants.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/EnvironmentAware.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/ResourceUpdateAware.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AddressingInMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AddressingOutMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/DefaultMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/DefineMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ExactlyOneMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/InMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/NeverMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/OutMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ProcessorConfigurator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/RefDefineMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/RefMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/RegexMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SecurityMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SendNowMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ServiceMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/StageMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/XPathMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseEnvironmentFinder.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/ServiceMediatorMessageReceiver.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/AbstractListMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/DefineMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/InMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/NeverMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/OutMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/RefDefineMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/RefMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/StageMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/HeaderMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/SendNowMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/axis2/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/xslt/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/AbstractFilterMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/DefaultMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/ExactlyOneMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/RegexMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/filters/XPathMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/types/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/registry/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/resources/
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/xml/
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/TestSynapseEnvironment.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/configurators/
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/environment/
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/LoggerTestSample.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/MediatorFalseReturnTest.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SampleFalseReturnMediator1.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SampleMediator2.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SampleRouter.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SendBack.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SimpleGETResourceAquiringMediator.java
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/builtin/axis2/
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/spi/
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/util/
incubator/synapse/trunk/java/repository/modules/addressing-0.95.mar
Modified:
incubator/synapse/trunk/java/bin/synapse.bat
incubator/synapse/trunk/java/bin/synapse.sh
incubator/synapse/trunk/java/etc/project.properties
incubator/synapse/trunk/java/etc/project.xml
incubator/synapse/trunk/java/maven.xml
incubator/synapse/trunk/java/modules/core/maven.xml
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Constants.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/HeaderType.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseException.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseMessage.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/FilterMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/ListMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/Mediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/Constants.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/HeaderMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/LogMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/MediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/MediatorFactoryFinder.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SendMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/SynapseMediatorFactory.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2Sender.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/Axis2SynapseMessage.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/DynamicAxisOperation.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/EmptyMessageReceiver.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseDispatcher.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/base/SynapseMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/DropMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/LogMediator.java
incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/mediators/builtin/SendMediator.java
incubator/synapse/trunk/java/modules/core/test-resources/axis2/services/emptymediator/META-INF/services.xml
incubator/synapse/trunk/java/modules/core/test-resources/axis2/services/synapse/META-INF/services.xml
incubator/synapse/trunk/java/modules/core/test-resources/org/apache/axis2/META-INF/environmentaware-service.xml
incubator/synapse/trunk/java/modules/core/test-resources/org/apache/axis2/META-INF/service-mediator.xml
incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/TestSynapseMessage.java
incubator/synapse/trunk/java/modules/samples/project.xml
incubator/synapse/trunk/java/modules/samples/src/sampleMediators/InjectRedirect.java
incubator/synapse/trunk/java/modules/samples/src/sampleMediators/Logger.java
incubator/synapse/trunk/java/repository/conf/axis2.xml
incubator/synapse/trunk/java/repository/conf/synapse.xml
incubator/synapse/trunk/java/repository/services/emptymediator/META-INF/services.xml
incubator/synapse/trunk/java/repository/services/synapse/META-INF/services.xml
Modified: incubator/synapse/trunk/java/bin/synapse.bat
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/bin/synapse.bat?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/bin/synapse.bat (original)
+++ incubator/synapse/trunk/java/bin/synapse.bat Mon May 8 06:15:47 2006
@@ -74,7 +74,7 @@
:runSynapse
@echo on
-"%_JAVACMD%" -Djava.ext.dirs=%SYNAPSE_HOME%\lib;%SYNAPSE_HOME% -cp %SYNAPSE_HOME%\lib org.apache.axis2.transport.http.SimpleHTTPServer %SYNAPSE_CMD_LINE_ARGS%
+"%_JAVACMD%" -Daxis2.xml=%SYNAPSE_HOME%\synapse_repository\conf\axis2.xml -Djava.ext.dirs=%SYNAPSE_HOME%\lib;%SYNAPSE_HOME% -cp %SYNAPSE_HOME%\lib org.apache.axis2.transport.http.SimpleHTTPServer %SYNAPSE_CMD_LINE_ARGS%
goto end
:end
Modified: incubator/synapse/trunk/java/bin/synapse.sh
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/bin/synapse.sh?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/bin/synapse.sh (original)
+++ incubator/synapse/trunk/java/bin/synapse.sh Mon May 8 06:15:47 2006
@@ -89,4 +89,4 @@
echo "Using $SYNAPSE_HOME: $SYNAPSE_HOME"
echo "Using JAVA_HOME: $JAVA_HOME"
-$JAVA_HOME/bin/java -classpath $SYNAPSE_CLASSPATH org.apache.axis2.transport.http.SimpleHTTPServer $SYNAPSE_HOME/synapse_repository -p8080
+$JAVA_HOME/bin/java -Daxis2.xml=$SYNAPSE_HOME/synapse_repository/conf/axis2.xml -classpath $SYNAPSE_CLASSPATH org.apache.axis2.transport.http.SimpleHTTPServer $SYNAPSE_HOME/synapse_repository -p8080
Modified: incubator/synapse/trunk/java/etc/project.properties
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/etc/project.properties?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/etc/project.properties (original)
+++ incubator/synapse/trunk/java/etc/project.properties Mon May 8 06:15:47 2006
@@ -18,8 +18,11 @@
# -------------------------------------------------------------------
# JUnit
# -------------------------------------------------------------------
-maven.junit.jvmargs=-Djava.awt.headless=true
+# explicit setting of Sax parser as below is a hack to avoid Junit from loading its own parsers ignoring maven.test.excludeXmlApis
+maven.junit.jvmargs=-Djava.awt.headless=true -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
maven.junit.fork=true
+#maven.junit.dir=${basedir}/modules/core
+
# -------------------------------------------------------------------
# Compile
@@ -32,11 +35,13 @@
# -------------------------------------------------------------------
ant.version=1.6.5
axis.wsdl4j.version=1.2
-axis2.version=SNAPSHOT
-axiom.version=SNAPSHOT
+axis2.version=1.0-RC5
+axis2.wsdl.version=SNAPSHOT
+axiom.version=1.0
policy.version=SNAPSHOT
+#XmlSchema.version=1.0.2
XmlSchema.version=SNAPSHOT
-wss4j.version=SNAPSHOT
+wss4j.version=1.5.0
commons.codec.version=1.3
commons.discovery.version=0.2
commons.httpclient.version=3.0
@@ -46,20 +51,20 @@
geronimo.spec.servlet.version=2.4-rc4
servletapi.version=2.3
groovy.all.version=1.0-jsr-01
-jaxen.version=1.1-beta-7
+jaxen.version=1.1-beta-8
junit.version=3.8.1
-log4j.version=1.2.12
+log4j.version=1.2.13
opensaml.version=1.0.1
-stax.api.version=1.0
stax.impl.groupid=woodstox
stax.impl.artifactid=wstx
-stax.impl.version=asl-2.8.1
-xalan.version=2.6.0
-xerces.version=2.6.2
+stax.impl.version=asl-2.9.3
+stax.api.version=1.0
+xalan.version=2.7.0
+xerces.version=2.7.1
xmlunit.version=1.0
annogen.version=0.1.0
geronimo.spec.jms.version=1.1-rc4
-backport_util_concurrent.version=2.0_01_pd
+backport_util_concurrent.version=2.1
spring.version=1.2.6
@@ -70,12 +75,12 @@
optional.includes=
maven.multiproject.includes=\
modules/core/project.xml,\
-modules/mediators/project.xml,\
+#modules/mediators/project.xml,\
modules/samples/project.xml,\
-modules/extensions/project.xml,\
+#modules/extensions/project.xml,\
${optional.includes}
# -------------------------------------------------------------------
# Addressing Version
# -------------------------------------------------------------------
-addressing.version=0.95
+addressing.version=1.0
Modified: incubator/synapse/trunk/java/etc/project.xml
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/etc/project.xml?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/etc/project.xml (original)
+++ incubator/synapse/trunk/java/etc/project.xml Mon May 8 06:15:47 2006
@@ -69,7 +69,7 @@
<dependency>
<groupId>axis2</groupId>
<artifactId>axis2-wsdl</artifactId>
- <version>${axis2.version}</version>
+ <version>${axis2.wsdl.version}</version>
</dependency>
<dependency>
Modified: incubator/synapse/trunk/java/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/maven.xml?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/maven.xml (original)
+++ incubator/synapse/trunk/java/maven.xml Mon May 8 06:15:47 2006
@@ -335,7 +335,7 @@
<ant:mkdir dir="${bin.dist.dir}/xdocs"/>
<ant:mkdir dir="${bin.dist.dir}/synapse_repository"/>
<ant:mkdir dir="${bin.dist.dir}/samples"/>
- <ant:mkdir dir="${bin.dist.dir}/mediators"/>
+ <!--<ant:mkdir dir="${bin.dist.dir}/mediators"/>-->
<ant:mkdir dir="target/temp/"/>
@@ -360,13 +360,13 @@
<ant:fileset dir="modules/core/target/synapse-repository"/>
</ant:copy>
- <ant:copy todir="${bin.dist.dir}/samples" flatten="false">
+ <!--<ant:copy todir="${bin.dist.dir}/samples" flatten="false">
<ant:fileset dir="modules/samples/target/dist-bin/samples"/>
</ant:copy>
<ant:copy todir="${bin.dist.dir}/mediators" flatten="false">
<ant:fileset dir="modules/mediators/target/dist-bin/mediators"/>
- </ant:copy>
+ </ant:copy>-->
<ant:copy todir="target/temp/">
<ant:fileset dir="target/dist-bin/">
Modified: incubator/synapse/trunk/java/modules/core/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/maven.xml?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/maven.xml (original)
+++ incubator/synapse/trunk/java/modules/core/maven.xml Mon May 8 06:15:47 2006
@@ -40,144 +40,6 @@
</jar>
- <echo message="----------------Creating NPE aar----------------"/>
- <mkdir dir="target/services/npe/META-INF"/>
- <mkdir dir="target/services/npe/org/apache/axis2/test"/>
- <copy file="test-resources/org/apache/axis2/META-INF/services.xml"
- tofile="target/services/npe/META-INF/services.xml"/>
- <copy file="target/test-classes/org/apache/axis2/test/Echo.class"
- tofile="target/services/npe/org/apache/axis2/test/Echo.class"/>
- <jar jarfile="target/npe.aar"
- basedir="target/services/npe">
- <include name="**"/>
- </jar>
- <echo message="----------------Creating test-mediator aar----------------"/>
- <mkdir dir="target/services/test-mediator/META-INF"/>
- <mkdir dir="target/services/test-mediator/org/apache/axis2/test"/>
- <copy file="test-resources/org/apache/axis2/META-INF/service-mediator.xml"
- tofile="target/services/test-mediator/META-INF/services.xml"/>
- <copy file="target/test-classes/org/apache/axis2/test/TestMediator.class"
- tofile="target/services/test-mediator/org/apache/axis2/test/TestMediator.class"/>
- <jar jarfile="target/test-mediator.aar"
- basedir="target/services/test-mediator">
- <include name="**"/>
- </jar>
-
- <!--echo message="Creating EnvironmentAware-Mediator aar"/>
- <mkdir dir="target/services/environmentaware-mediator/META-INF"/>
- <mkdir dir="target/services/environmentaware-mediator/org/apache/axis2/test"/>
- <copy file="test-resources/org/apache/axis2/META-INF/environmentaware-service.xml"
- tofile="target/services/environmentaware-mediator/META-INF/services.xml"/>
- <copy file="target/test-classes/org/apache/axis2/test/EnvironmentAwareMediator.class"
- tofile="target/services/environmentaware-mediator/org/apache/axis2/test/EnvironmentAwareMediator.class"/>
- <jar jarfile="target/environmentaware-mediator.aar"
- basedir="target/services/environmentaware-mediator">
- <include name="**"/>
- </jar-->
-
- <echo message="-----------Creating Testing Repository - SendOn ----------"/>
- <mkdir dir="target/synapse-repository-sendon"/>
- <copy file="target/synapse.aar"
- tofile="target/synapse-repository-sendon/services/synapse.aar"/>
- <copy file="target/npe.aar"
- tofile="target/synapse-repository-sendon/services/npe.aar"/>
- <copy file="target/emptymediator.aar"
- tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>
- <mkdir dir="target/synapse-repository-sendon/modules"/>
- <copy file="../../repository/modules/addressing-${addressing.version}.mar"
- tofile="target/synapse-repository-sendon/modules/addressing-${addressing.version}.mar"/>
- <copy file="../../repository/conf/axis2.xml"
- tofile="target/synapse-repository-sendon/conf/axis2.xml"/>
- <copy file="test/rules/synapse-sendon.xml"
- tofile="target/synapse-repository-sendon/conf/synapse.xml"/>
-
-
- <echo message="-----------Creating Testing Repository - SendNow ----------"/>
- <mkdir dir="target/synapse-repository-sendnow"/>
- <copy file="target/synapse.aar"
- tofile="target/synapse-repository-sendnow/services/synapse.aar"/>
- <copy file="target/npe.aar"
- tofile="target/synapse-repository-sendnow/services/npe.aar"/>
- <copy file="target/emptymediator.aar"
- tofile="target/synapse-repository-sendnow/services/emptymediator.aar"/>
- <mkdir dir="target/synapse-repository-sendnow/modules"/>
- <copy file="../../repository/modules/addressing-${addressing.version}.mar"
- tofile="target/synapse-repository-sendnow/modules/addressing-${addressing.version}.mar"/>
- <copy file="../../repository/conf/axis2.xml"
- tofile="target/synapse-repository-sendnow/conf/axis2.xml"/>
- <copy file="test/rules/synapse-sendnow.xml"
- tofile="target/synapse-repository-sendnow/conf/synapse.xml"/>
-
- <echo message="-----------Creating Testing Repository - SendOnAxis2 ----------"/>
- <mkdir dir="target/synapse-repository-sendonAxis2"/>
-
- <copy file="target/npe.aar"
- tofile="target/synapse-repository-sendonAxis2/services/npe.aar"/>
- <copy file="target/test-mediator.aar"
- tofile="target/synapse-repository-sendonAxis2/services/test-mediator.aar"/>
- <copy file="target/emptymediator.aar"
- tofile="target/synapse-repository-sendonAxis2/services/emptymediator.aar"/>
- <copy file="../../repository/modules/addressing-${addressing.version}.mar"
- tofile="target/synapse-repository-sendonAxis2/modules/addressing-${addressing.version}.mar"/>
- <copy file="test-resources/axis2/conf/axis2.xml"
- tofile="target/synapse-repository-sendonAxis2/conf/axis2.xml"/>
-
- <echo message="-----------Creating Testing Repository - SendonAxis2Tcp ----------"/>
- <mkdir dir="target/synapse-repository-sendonAxis2"/>
-
- <copy file="target/npe.aar"
- tofile="target/synapse-repository-sendonAxis2Tcp/services/npe.aar"/>
- <copy file="../../repository/modules/addressing-${addressing.version}.mar"
- tofile="target/synapse-repository-sendonAxis2Tcp/modules/addressing-${addressing.version}.mar"/>
- <copy file="test-resources/tcp/axis2-tcp.xml"
- tofile="target/synapse-repository-sendonAxis2Tcp/conf/axis2.xml"/>
-
- <echo message="-----------Creating Testing Repository - HttpTcp ----------"/>
- <mkdir dir="target/synapse-repository-httptcp"/>
-
- <copy file="target/emptymediator.aar"
- tofile="target/synapse-repository-httptcp/services/emptymediator.aar"/>
- <copy file="target/synapse.aar"
- tofile="target/synapse-repository-httptcp/services/synapse.aar"/>
- <copy file="../../repository/modules/addressing-${addressing.version}.mar"
- tofile="target/synapse-repository-httptcp/modules/addressing-${addressing.version}.mar"/>
- <copy file="../../repository/conf/axis2.xml"
- tofile="target/synapse-repository-httptcp/conf/axis2.xml"/>
- <copy file="test/rules/synapse-httptcp.xml"
- tofile="target/synapse-repository-httptcp/conf/synapse.xml"/>
-
- <echo message="-----------Creating Testing Repository - EnvironmentAware ----------"/>
- <!--mkdir dir="target/synapse-repository-environmentaware"/>
-
- <copy file="target/environmentaware-mediator.aar"
- tofile="target/synapse-repository-environmentaware/services/environmentaware-mediator.aar"/>
- <copy file="target/emptymediator.aar"
- tofile="target/synapse-repository-sendon/services/emptymediator.aar"/>
- <copy file="target/synapse.aar"
- tofile="target/synapse-repository-environmentaware/services/synapse.aar"/>
- <copy file="../../repository/modules/addressing-${addressing.version}.mar"
- tofile="target/synapse-repository-environmentaware/modules/addressing-${addressing.version}.mar"/>
- <copy file="../../repository/conf/axis2.xml"
- tofile="target/synapse-repository-environmentaware/conf/axis2.xml"/>
- <copy file="test/rules/synapse-environmentaware.xml"
- tofile="target/synapse-repository-environmentaware/conf/synapse.xml"/-->
-
- <echo message="-----------Creating Testing Repository - Simple REST Repository ----------"/>
- <mkdir dir="target/synapse-repository-resources"/>
-
- <copy file="target/npe.aar"
- tofile="target/synapse-repository-resources/services/npe.aar"/>
- <copy file="../../repository/modules/addressing-${addressing.version}.mar"
- tofile="target/synapse-repository-resources/modules/addressing-${addressing.version}.mar"/>
- <copy file="test-resources/rest/conf/axis2-rest.xml"
- tofile="target/synapse-repository-resources/conf/axis2.xml"/>
-
- <ant:delete file="target/npe.aar"/>
- <ant:delete file="target/test-mediator.aar"/>
- <ant:delete dir="target/test-mediator"/>
- <ant:delete dir="target/environmentaware-mediator.aar"/>
- <ant:delete dir="target/environmentaware-mediator"/>
-
<echo message="-----------Creating Testing Repository - Genral----------"/>
<mkdir dir="target/synapse-repository"/>
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Constants.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Constants.java?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Constants.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Constants.java Mon May 8 06:15:47 2006
@@ -17,45 +17,39 @@
import javax.xml.namespace.QName;
-
-
/**
- *
- *
* <p> Global constants for the Synapse project
- *
*/
public interface Constants {
-
- String CLASSMEDIATOR = "classmediator";
+ String CLASSMEDIATOR = "classmediator";
- QName MEDIATE_OPERATION_NAME = new QName("mediate");
+ QName MEDIATE_OPERATION_NAME = new QName("mediate");
- String MEDIATOR_RESPONSE_PROPERTY = "synapse.mediator.response";
- String MEDIATOR_SYNAPSE_ENV_PROPERTY = "synapse.mediator.environment";
+ String MEDIATOR_RESPONSE_PROPERTY = "synapse.mediator.response";
- String ISRESPONSE_PROPERTY = "synapse.isresponse";
+ String MEDIATOR_SYNAPSE_CTX_PROPERTY = "synapse.mediator.environment";
- String EMPTYMEDIATOR = "emptymediator";
+ String ISRESPONSE_PROPERTY = "synapse.isresponse";
- //this is for the synapse.xml config
- String SYNAPSECONFIGURATION = "SynapseConfiguration";
+ String EMPTYMEDIATOR = "emptymediator";
- String SYNAPSE_ENVIRONMENT = "synapse.environment";
+ //this is for the synapse.config config
+ String SYNAPSE_CONFIGURATION = "SynapseConfiguration";
- String ADD_ADDRESSING = "synapse.send.useaddressing";
+ String SYNAPSE_CONFIG = "synapse.config";
- // for security supporting
+ String SYNAPSE_ENV = "synapse.env";
+ String ADD_ADDRESSING = "synapse.send.useaddressing";
+
+ // for security supporting
String SECURITY_QOS = "synapse_security";
+
String ADDRESSING_PROCESSED_CONFIGURATION_CONTEXT = "addressing_processed_configurationContext";
// addressing properites handling
-
String ENGAGE_ADDRESSING_IN_MESSAGE = "__ENGAGE_ADDRESSING_IN_MESSAGE__";
- String ENGAGE_ADDRESSING_OUT_BOUND_MESSAGE = "__ENGAGE_ADDRESSING_OUT_BOUND_MESSAGE__";
-
-
+ String ENGAGE_ADDRESSING_OUT_BOUND_MESSAGE = "__ENGAGE_ADDRESSING_OUT_BOUND_MESSAGE__";
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/HeaderType.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/HeaderType.java?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/HeaderType.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/HeaderType.java Mon May 8 06:15:47 2006
@@ -17,114 +17,117 @@
package org.apache.synapse;
import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axiom.soap.SOAPHeaderBlock;
/**
+ * This is a convenience class used to manipulate common headers. The convenience string names this defines could be
+ * used to configure the header mediator. Once an instance of this class exists, it could be given a value and
+ * a synapse message instance, and asked to set given value as the header value to the given message. i.e. setHeader()
*
- * <p> This class encapsulates access to headers. It has a set of "logical names" (e.g. strings)
- * Once you have set the logical name you can read and write that header on a SynapseMessage
- * It is used by the RegexProcessor and the HeaderProcessor classes.
- *
+ * Support for additional headers may be added later
*/
public class HeaderType {
- private final static int TO = 1, FROM = 2, FAULT = 3, ACTION = 4,
- REPLYTO = 5;
-
- public final static String STRTO = "to", STRFROM = "from",
- STRFAULT = "faultto", STRACTION = "action", STRREPLYTO = "replyto";
-
- private int headerType = 0;
-
- public void setHeaderType(String header) {
- if (header.equalsIgnoreCase(STRTO))
- headerType = TO;
- else if (header.equalsIgnoreCase(STRFROM))
- headerType = FROM;
- else if (header.equalsIgnoreCase(STRFAULT))
- headerType = FAULT;
- else if (header.equalsIgnoreCase(STRACTION))
- headerType = ACTION;
- else if (header.equalsIgnoreCase(STRREPLYTO))
- headerType = REPLYTO;
- else
- throw new SynapseException("unknown header type");
- }
-
- public String getHeaderType() {
- switch (headerType) {
-
- case TO:
- return STRTO;
- case FROM:
- return STRFROM;
- case FAULT:
- return STRFAULT;
- case ACTION:
- return STRACTION;
- case REPLYTO:
- return STRREPLYTO;
-
- }
- return null;
- }
-
- public String getHeader(SynapseMessage sm) {
- switch (headerType) {
- case TO: {
- if (sm.getTo() != null)
- return sm.getTo().getAddress();
-
- }
- case FROM: {
- if (sm.getFrom() != null)
- return sm.getFrom().getAddress();
- break;
- }
- case FAULT: {
- if (sm.getFaultTo() != null)
- return sm.getFaultTo().getAddress();
- break;
- }
- case ACTION: {
- if (sm.getWSAAction() != null)
- return sm.getWSAAction();
- break;
- }
- case REPLYTO: {
- if (sm.getReplyTo() != null)
- return sm.getReplyTo().getAddress();
- break;
- }
- }
-
- return null;
- }
-
- public void setHeader(SynapseMessage sm, String value) {
- switch (headerType) {
- case 0: {
- throw new SynapseException(
- "headerType=0 in setHeader. Assume called setHeader before setHeaderType");
- }
-
- case TO: {
-
- sm.setTo(new EndpointReference(value));
- break;
- }
- case FROM: {
- sm.setFrom(new EndpointReference(value));
- break;
- }
- case REPLYTO: {
- sm.setReplyTo(new EndpointReference(value));
- break;
- }
- case ACTION: {
- sm.setWSAAction(value);
- break;
- }
+ private final static int TO = 1, FROM = 2, FAULT = 3, ACTION = 4, REPLYTO = 5;
- }
- }
+ /** Refers the To header */
+ public final static String STRTO = "To";
+ /** Refers the From header */
+ public final static String STRFROM = "From";
+ /** Refers the FaultTo header */
+ public final static String STRFAULT = "FaultTo";
+ /** Refers the Action header */
+ public final static String STRACTION = "Action";
+ /** Refers the ReplyTo header */
+ public final static String STRREPLYTO = "ReplyTo";
+
+ private int headerType = 0;
+
+ public void setHeaderType(String header) {
+ if (header.equalsIgnoreCase(STRTO))
+ headerType = TO;
+ else if (header.equalsIgnoreCase(STRFROM))
+ headerType = FROM;
+ else if (header.equalsIgnoreCase(STRFAULT))
+ headerType = FAULT;
+ else if (header.equalsIgnoreCase(STRACTION))
+ headerType = ACTION;
+ else if (header.equalsIgnoreCase(STRREPLYTO))
+ headerType = REPLYTO;
+ else
+ throw new SynapseException("Unknown header type : " + header);
+ }
+
+ public String getHeader(SynapseMessage sm) {
+ switch (headerType) {
+ case TO: {
+ if (sm.getTo() != null)
+ return sm.getTo().getAddress();
+
+ }
+ case FROM: {
+ if (sm.getFrom() != null)
+ return sm.getFrom().getAddress();
+ break;
+ }
+ case FAULT: {
+ if (sm.getFaultTo() != null)
+ return sm.getFaultTo().getAddress();
+ break;
+ }
+ case ACTION: {
+ if (sm.getWSAAction() != null)
+ return sm.getWSAAction();
+ break;
+ }
+ case REPLYTO: {
+ if (sm.getReplyTo() != null)
+ return sm.getReplyTo().getAddress();
+ break;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Removed the header indicated by this header type from the given message
+ * @param synMsg the current message from which the header should be removed
+ */
+ public void removeHeader(SynapseMessage synMsg) {
+ //TODO This is not yet implemented - revisit later
+ System.err.println("Unimplemented functionality - Needs to be fixed");
+ }
+
+ /**
+ * Sets the given value into the message's indicated header
+ * @param synMsg the current message on which to set the header
+ * @param value the value to be set
+ */
+ public void setHeader(SynapseMessage synMsg, String value) {
+ switch (headerType) {
+ case 0: {
+ throw new SynapseException(
+ "headerType=0 in setHeader. Assume called setHeader before setHeaderType");
+ }
+
+ case TO: {
+
+ synMsg.setTo(new EndpointReference(value));
+ break;
+ }
+ case FROM: {
+ synMsg.setFrom(new EndpointReference(value));
+ break;
+ }
+ case REPLYTO: {
+ synMsg.setReplyTo(new EndpointReference(value));
+ break;
+ }
+ case ACTION: {
+ synMsg.setWSAAction(value);
+ break;
+ }
+ }
+ }
}
Added: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseContext.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseContext.java?rev=405043&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseContext.java (added)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseContext.java Mon May 8 06:15:47 2006
@@ -0,0 +1,85 @@
+/*
+ * 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;
+
+
+import org.apache.synapse.config.SynapseConfiguration;
+import org.apache.synapse.core.SynapseEnvironment;
+
+
+/**
+ * The Synapse Context is available to mediators through the SynapseMessage. It
+ * allows one to call to the underlying SynapseEnvironment (i.e. the SOAP engine
+ * - such as Axis2 - where required. It also allows one to access the current
+ * SynapseConfiguration. Additionally it holds per message properties (i.e. local
+ * properties valid for the lifetime of the message)
+ */
+public interface SynapseContext {
+
+ /**
+ * Get a reference to the current SynapseConfiguration
+ *
+ * @return the current synapse configuration
+ */
+ public SynapseConfiguration getConfiguration();
+
+ /**
+ * Set or replace the Synapse Configuration instance to be used. May be used to
+ * programatically change the configuration at runtime etc.
+ *
+ * @param cfg The new synapse configuration instance
+ */
+ public void setConfiguration(SynapseConfiguration cfg);
+
+ /**
+ * Returns a reference to the host Synapse Environment
+ * @return the Synapse Environment
+ */
+ public SynapseEnvironment getSynapseEnvironment();
+
+ /**
+ * Sets the SynapseEnvironment reference to this context
+ * @param se the reference to the Synapse Environment
+ */
+ public void setSynapseEnvironment(SynapseEnvironment se);
+
+ /**
+ * Sets the associated Synapse message
+ * @param sm the synapse message associated with this context
+ */
+ public void setSynapseMessage(SynapseMessage sm);
+
+ /**
+ * Return the associated SynapseMessage
+ * @return the associated Synapse message
+ */
+ public SynapseMessage getSynapseMessage();
+
+ /**
+ * Get the value of a custom (local) property set on the message instance
+ * @param key key to look up property
+ * @return value for the given key
+ */
+ public Object getProperty(String key);
+
+ /**
+ * Set a custom (local) property with the given name on the message instance
+ * @param key key to be used
+ * @param value value to be saved
+ */
+ public void setProperty(String key, Object value);
+
+}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseException.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseException.java?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseException.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseException.java Mon May 8 06:15:47 2006
@@ -16,27 +16,22 @@
package org.apache.synapse;
/**
- *
* <p>Runtime exception for Synapse code to throw
- *
*/
public class SynapseException extends RuntimeException {
- private static final long serialVersionUID = -7244032125641596311L;
+ private static final long serialVersionUID = -7244032125641596311L;
- public SynapseException(String string) {
- super(string);
-
- }
-
- public SynapseException(String msg, Throwable e) {
- super(msg, e);
-
- }
-
- public SynapseException(Throwable t) {
- super(t);
-
- }
+ public SynapseException(String string) {
+ super(string);
+ }
+
+ public SynapseException(String msg, Throwable e) {
+ super(msg, e);
+ }
+
+ public SynapseException(Throwable t) {
+ super(t);
+ }
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseMessage.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseMessage.java?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseMessage.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseMessage.java Mon May 8 06:15:47 2006
@@ -16,25 +16,36 @@
package org.apache.synapse;
+import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.RelatesTo;
-import org.apache.axiom.soap.SOAPEnvelope;
/**
- *
- *
- * <p> The core definition of a message flowing thru Synapse.
+ * <p> This interface defines a message flowing through Synapse
* <p> The aim of this is to capture the Message Addressing Properties
- * (aka Message Information Headers) and the SOAP Envelope.
+ * (aka Message Information Headers) and the SOAP Envelope.
* The core To/From/FaultTo/ReplyTo/MessageID/RelatesTo stuff is here. <p>
* In addition this has get/setEnvelope.
- * <p>
- * There is also a bag of properties<p>
- * There are markers for whether we support REST, MTOM and also if this is a response or not
+ * <p/>
+ * There is also a bag of properties<p>
+ * There are markers for whether we support REST, MTOM and also if this is a response or not
*/
public interface SynapseMessage {
+ /**
+ * Get the SOAP envelope of this message
+ * @return the SOAP envelope of the message
+ */
+ public SOAPEnvelope getEnvelope();
+
+ /**
+ * Sets the given envelope as the current SOAPEnvelope for this message
+ * @param envelope the envelope to be set
+ * @throws AxisFault on exception
+ */
+ public void setEnvelope(SOAPEnvelope envelope) throws AxisFault;
+
public EndpointReference getFaultTo();
public void setFaultTo(EndpointReference reference);
@@ -43,17 +54,13 @@
public void setFrom(EndpointReference reference);
- public SOAPEnvelope getEnvelope();
-
- public void setEnvelope(SOAPEnvelope envelope) throws AxisFault;
-
public String getMessageID();
public void setMessageID(String string);
public RelatesTo getRelatesTo();
- public void setRelatesTo(RelatesTo reference);
+ public void setRelatesTo(RelatesTo[] reference);
public EndpointReference getReplyTo();
@@ -63,40 +70,107 @@
public void setTo(EndpointReference reference);
+ /**
+ * Sets the WSAAction
+ * @param actionURI the WSAAction
+ */
public void setWSAAction(String actionURI);
+ /**
+ * Returns the WSAAction
+ * @return the WSAAction
+ */
public String getWSAAction();
- public void setMessageId(String messageID);
-
- public String getMessageId();
-
- public Object getProperty(String key);
-
- public void setProperty(String key, Object value);
-
+ /**
+ * Returns the SOAPAction of the message
+ * @return the SOAPAction
+ */
public String getSoapAction();
+ /**
+ * Set the SOAPAction
+ * @param string the SOAP Action
+ */
public void setSoapAction(String string);
+ /**
+ * Set the message if
+ * @param messageID
+ */
+ public void setMessageId(String messageID);
+
+ /**
+ * Gets the message id
+ * @return the message id
+ */
+ public String getMessageId();
+
+ /**
+ * If this message using MTOM?
+ * @return true if using MTOM
+ */
public boolean isDoingMTOM();
+ /**
+ * Marks as using MTOM
+ * @param b true to mark as using MTOM
+ */
public void setDoingMTOM(boolean b);
+ /**
+ * Is this message over REST?
+ * @return true if over REST
+ */
public boolean isDoingREST();
+ /**
+ * Marks this message as over REST
+ * @param b true to mark as REST
+ */
public void setDoingREST(boolean b);
+ /**
+ * Is this message a SOAP 1.1 message?
+ * @return true if this is a SOAP 1.1 message
+ */
public boolean isSOAP11();
+ /**
+ * Mark this message as a response or not.
+ * @see org.apache.synapse.SynapseMessage#isResponse()
+ * @param b true to set this as a response
+ */
public void setResponse(boolean b);
+ /**
+ * Is this message a response to a synchronous message sent out through Synapse?
+ * @return true if this message is a response message
+ */
public boolean isResponse();
+ /**
+ * Marks this message as a fault response
+ * @see org.apache.synapse.SynapseMessage#isFaultResponse()
+ * @param b true to mark this as a fault response
+ */
public void setFaultResponse(boolean b);
+ /**
+ * Is this message a response to a fault message?
+ * @return true if this is a response to a fault message
+ */
public boolean isFaultResponse();
-
- public SynapseEnvironment getSynapseEnvironment();
- public void setSynapseEnvironment(SynapseEnvironment env);
+
+ /**
+ * Return a reference to the SynapseContext
+ * @return the SynapseContext
+ */
+ public SynapseContext getSynapseContext();
+
+ /**
+ * Set the reference to the SynapseContext
+ * @param env the SynapseContext
+ */
+ public void setSynapseContext(SynapseContext env);
}
Added: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Util.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Util.java?rev=405043&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Util.java (added)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/Util.java Mon May 8 06:15:47 2006
@@ -0,0 +1,70 @@
+/*
+* 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;
+
+import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.axiom.om.impl.llom.OMElementImpl;
+import org.apache.axiom.om.impl.llom.OMTextImpl;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
+import org.jaxen.JaxenException;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Holds utility methods used by Synapse
+ */
+public class Util {
+
+ private static final Log log = LogFactory.getLog(Util.class);
+
+ /**
+ * Evaluates the given XPath expression against the SOAPEnvelope of the
+ * current message and returns a String representation of the result
+ * @param xpath the expression to evaluate
+ * @param synCtx the source message which holds the SOAP envelope
+ * @return a String representation of the result of evaluation
+ */
+ public static String getStringValue(AXIOMXPath xpath, SynapseContext synCtx) {
+
+ try {
+ Object result = xpath.evaluate(synCtx.getSynapseMessage().getEnvelope());
+ StringBuffer textValue = new StringBuffer();
+
+ if (result instanceof List) {
+ Iterator iter = ((List) result).iterator();
+ while (iter.hasNext()) {
+ Object o = iter.next();
+ if (o instanceof OMTextImpl) {
+ textValue.append(((OMTextImpl) o).getText());
+ } else if (o instanceof OMElementImpl) {
+ textValue.append(((OMElementImpl) o).getText());
+ }
+ }
+ } else {
+ textValue.append(result.toString());
+ }
+ return textValue.toString();
+
+ } catch (JaxenException je) {
+ String msg = "Evaluation of the XPath expression " + xpath.toString() + " resulted in an error";
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+ }
+
+}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/FilterMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/FilterMediator.java?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/FilterMediator.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/FilterMediator.java Mon May 8 06:15:47 2006
@@ -1,7 +1,20 @@
package org.apache.synapse.api;
-import org.apache.synapse.SynapseMessage;
+import org.apache.synapse.SynapseContext;
+/**
+ * The filter mediator is a list mediator, which executes the given (sub) list of mediators
+ * if the specified condition is satisfied
+ *
+ * @see FilterMediator#test(org.apache.synapse.SynapseContext)
+ */
public interface FilterMediator extends ListMediator {
- public boolean test(SynapseMessage sm);
+
+ /**
+ * Should return true if the sub/child mediators should execute. i.e. if the filter
+ * condition is satisfied
+ * @param synCtx
+ * @return true if the configured filter condition evaluates to true
+ */
+ public boolean test(SynapseContext synCtx);
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/ListMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/ListMediator.java?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/ListMediator.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/ListMediator.java Mon May 8 06:15:47 2006
@@ -1,8 +1,58 @@
+/*
+* 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.api;
import java.util.List;
+/**
+ * The List mediator executes a given sequence/list of child mediators
+ */
public interface ListMediator extends Mediator {
- public void setList(List m);
- public List getList();
+
+ /**
+ * Appends the specified mediator to the end of this mediator's (children) list
+ * @param m the mediator to be added
+ * @return true (as per the general contract of the Collection.add method)
+ */
+ public boolean addChild(Mediator m);
+
+ /**
+ * Returns the mediator at the specified position
+ * @param pos index of mediator to return
+ * @return the mediator at the specified position in this list
+ */
+ public Mediator getChild(int pos);
+
+ /**
+ * Removes the first occurrence in this list of the specified mediator
+ * @param m mediator to be removed from this list, if present
+ * @return true if this list contained the specified mediator
+ */
+ public boolean removeChild(Mediator m);
+
+ /**
+ * Removes the mediator at the specified position in this list
+ * @param pos the index of the mediator to remove
+ * @return the mediator previously at the specified position
+ */
+ public Mediator removeChild(int pos);
+
+ /**
+ * Return the list of mediators of this List mediator instance
+ * @return the child/sub mediator list
+ */
+ public List getList();
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/Mediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/Mediator.java?rev=405043&r1=405042&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/Mediator.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/api/Mediator.java Mon May 8 06:15:47 2006
@@ -16,14 +16,29 @@
package org.apache.synapse.api;
import org.apache.synapse.SynapseMessage;
+import org.apache.synapse.SynapseContext;
/**
- *
- * <p>API interface for pluggable mediators
- *
+ * All Synapse mediators must implement this Mediator interface. As a message passes
+ * through the synapse system, each mediator's mediate() method is invoked in the
+ * sequence/order defined in the SynapseConfiguration.
*/
public interface Mediator {
- public boolean mediate(SynapseMessage smc);
- //public String getName();
- //public void setName(String name);
+
+ /**
+ * Invokes the mediator passing the current message for mediation. Each
+ * mediator performs its mediation action, and returns true if mediation
+ * should continue, or false if further mediation should be aborted.
+ *
+ * @param synCtx the current message for mediation
+ * @return true if further mediation should continue
+ */
+ public boolean mediate(SynapseContext synCtx);
+
+ /**
+ * This is used for debugging purposes and exposes the type of the current
+ * mediator for logging and debugging purposes
+ * @return a String representation of the mediator type
+ */
+ public String getType();
}
Added: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java?rev=405043&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java (added)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/SynapseConfiguration.java Mon May 8 06:15:47 2006
@@ -0,0 +1,54 @@
+/*
+* 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;
+
+import org.apache.synapse.api.Mediator;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class SynapseConfiguration {
+
+ private Map namedSequences = new HashMap();
+ private Map namedEndpoints = new HashMap();
+ private Map globalProps = new HashMap();
+
+ private Mediator mainMediator = null;
+
+ public void addNamedMediator(String name, Mediator m) {
+ namedSequences.put(name, m);
+ }
+
+ public Mediator getNamedMediator(String name) {
+ return (Mediator) namedSequences.get(name);
+ }
+
+ public Mediator getMainMediator() {
+ return mainMediator;
+ }
+
+ public void setMainMediator(Mediator mainMediator) {
+ this.mainMediator = mainMediator;
+ }
+
+ public void addProperty(String name, String value) {
+ globalProps.put(name, value);
+ }
+
+ public String getProperty(String name) {
+ return (String) globalProps.get(name);
+ }
+}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java?rev=405043&r1=405035&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractListMediatorFactory.java Mon May 8 06:15:47 2006
@@ -13,50 +13,40 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.xml;
+package org.apache.synapse.config.xml;
import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseEnvironment;
+import org.apache.synapse.SynapseException;
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 {
- Log log = LogFactory.getLog(getClass());
+ private static final Log log = LogFactory.getLog(AbstractListMediatorFactory.class);
- public void addChildrenAndSetName(SynapseEnvironment se, OMElement el, ListMediator m)
+ public void addChildren(OMElement el, ListMediator m)
{
- super.setNameOnMediator(se, el, m);
-
Iterator it = el.getChildElements();
- List mediators = new LinkedList();
while (it.hasNext()) {
OMElement child = (OMElement) it.next();
- Mediator med = MediatorFactoryFinder.getMediator(se, child);
- if (med != null)
- mediators.add(med);
- else
- log.info("Unknown child of all" + child.getLocalName());
+ Mediator med = MediatorFactoryFinder.getInstance().getMediator(child);
+ if (med != null) {
+ m.addChild(med);
+ } else {
+ String msg = "Unknown mediator : " + child.getLocalName();
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
}
- m.setList(mediators);
-
}
-
-
-
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java?rev=405043&r1=405035&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/AbstractMediatorFactory.java Mon May 8 06:15:47 2006
@@ -13,41 +13,33 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.xml;
-
-import javax.xml.namespace.QName;
+package org.apache.synapse.config.xml;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseEnvironment;
-import org.apache.synapse.api.Mediator;
-
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.xpath.AXIOMXPath;
+import org.apache.synapse.SynapseException;
+import org.jaxen.JaxenException;
+
+import java.util.Iterator;
/**
- *
- *
- * <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 {
-
- private Log log = LogFactory.getLog(getClass());
-
- public void setNameOnMediator(SynapseEnvironment se, OMElement el, Mediator m) {
-
- OMAttribute nm = el.getAttribute(new QName("name"));
- String name =null;
- if (nm != null) {
- name = nm.getAttributeValue().trim();
- //m.setName(name);
- se.addMediator(name, m);
+ public void addNameSpaces(OMElement elem, AXIOMXPath xp, Log log) {
+ try {
+ Iterator it = elem.getAllDeclaredNamespaces();
+ while (it.hasNext()) {
+ OMNamespace n = (OMNamespace) it.next();
+ xp.addNamespace(n.getPrefix(), n.getName());
+ }
+ } catch (JaxenException je) {
+ String msg = "Error adding declared name spaces of " + elem + " to the XPath : " + xp;
+ log.error(msg);
+ throw new SynapseException(msg, je);
}
- log.debug("compile "+el.getLocalName()+" with name '"+name+"' on "+m.getClass());
-
}
-
-
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java?rev=405043&r1=405035&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/ClassMediatorFactory.java Mon May 8 06:15:47 2006
@@ -13,47 +13,61 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.xml;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
-import org.apache.synapse.xml.Constants;
-import org.apache.synapse.SynapseEnvironment;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.SynapseException;
import org.apache.synapse.api.Mediator;
-import org.apache.synapse.mediators.types.ClassMediator;
+import org.apache.synapse.mediators.ext.ClassMediator;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMAttribute;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.Iterator;
/**
+ * Creates an instance of a Class mediator using XML configuration specified
*
- * <xmp><synapse:classmediator name="nm" class="org.fremantle.mediator"</synapse:classmediator></xmp>
- * TODO add ability to configure properties with Strings/OMElements based on children.
+ * <class name="class-name">
+ * <property name="string" (value="literal" | expression="xpath")/>*
+ * </class>
*/
public class ClassMediatorFactory extends AbstractMediatorFactory {
- private static final QName CLM_Q = new QName(Constants.SYNAPSE_NAMESPACE,
- "classmediator");
- public Mediator createMediator(SynapseEnvironment se, OMElement el) {
- ClassMediator cmp = new ClassMediator();
- super.setNameOnMediator(se, el, cmp);
-
- OMAttribute clsName = el.getAttribute(new QName("class"));
- if (clsName == null)
- throw new SynapseException("missing class attribute on element"
- + el.toString());
+
+ private static final Log log = LogFactory.getLog(LogMediatorFactory.class);
+
+ private static final QName CLASS_Q = new QName(Constants.SYNAPSE_NAMESPACE, "class");
+
+ public Mediator createMediator(OMElement elem) {
+
+ ClassMediator classMediator = new ClassMediator();
+
+ OMAttribute name = elem.getAttribute(new QName(Constants.NULL_NAMESPACE, "name"));
+ if (name == null) {
+ String msg = "The name of the actual mediator class is a required attribute";
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+
try {
- Class clazz = se.getClassLoader().loadClass(clsName.getAttributeValue());
- cmp.setClazz(clazz);
+ Class clazz = getClass().getClassLoader().loadClass(name.getAttributeValue());
+ classMediator.setClazz(clazz);
} catch (ClassNotFoundException e) {
- throw new SynapseException("class loading error", e);
+ String msg = "Cannot find class : " + name.getAttributeValue();
+ log.error(msg, e);
+ throw new SynapseException(msg, e);
}
- return cmp;
+ classMediator.addAllProperties(MediatorPropertyFactory.getMediatorProperties(elem));
+
+ return classMediator;
}
public QName getTagQName() {
- return CLM_Q;
+ return CLASS_Q;
}
-
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/Constants.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/Constants.java?rev=405043&r1=405035&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/Constants.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/Constants.java Mon May 8 06:15:47 2006
@@ -13,13 +13,23 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.xml;
+package org.apache.synapse.config.xml;
+
+import javax.xml.namespace.QName;
/**
* <p/>
* Constants used in the XML processing
*/
public interface Constants {
- String SYNAPSE_NAMESPACE = "http://ws.apache.org/ns/synapse";
- String SYNAPSE = "synapse";
+ public static final QName DEFINITIONS_ELT = new QName("definitions");
+ public static final QName SEQUENCE_ELT = new QName("sequence");
+ public static final QName ENDPOINT_ELT = new QName("endpoint");
+ public static final QName PROPERTY_ELT = new QName("set-property");
+
+ public static final QName RULES_ELT = new QName("rules");
+
+ public static final String SYNAPSE_NAMESPACE = "http://ws.apache.org/ns/synapse";
+ public static final String SYNAPSE = "synapse";
+ public static final String NULL_NAMESPACE = "";
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java?rev=405043&r1=405035&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/DropMediatorFactory.java Mon May 8 06:15:47 2006
@@ -14,21 +14,25 @@
* limitations under the License.
*/
-package org.apache.synapse.xml;
+package org.apache.synapse.config.xml;
-import org.apache.synapse.SynapseEnvironment;
+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");
- public Mediator createMediator(SynapseEnvironment se, OMElement el) {
+ private static final QName DROP_Q = new QName(Constants.SYNAPSE_NAMESPACE, "drop");
+
+ public Mediator createMediator(OMElement el) {
return new DropMediator();
}
Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java?rev=405043&r1=405035&r2=405043&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FaultMediatorFactory.java Mon May 8 06:15:47 2006
@@ -13,44 +13,81 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.synapse.xml;
+package org.apache.synapse.config.xml;
import javax.xml.namespace.QName;
-import org.apache.synapse.SynapseEnvironment;
+import org.apache.synapse.config.xml.Constants;
import org.apache.synapse.api.Mediator;
-import org.apache.synapse.mediators.builtin.axis2.FaultMediator;
+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 {
- private static final QName HEADER_Q = new QName(
- Constants.SYNAPSE_NAMESPACE, "fault");
- private static final QName FAULTCODE = new QName(
- Constants.SYNAPSE_NAMESPACE, "faultCode");
- private static final QName REASON = new QName(
- Constants.SYNAPSE_NAMESPACE, "reason");
+ private static final QName HEADER_Q = new QName(Constants.SYNAPSE_NAMESPACE, "makefault");
- public Mediator createMediator(SynapseEnvironment se, OMElement el) {
- FaultMediator fp = new FaultMediator();
+ private static final QName ATT_VERSION_Q = new QName(Constants.NULL_NAMESPACE, "version");
+ private static final QName CODE_Q = new QName(Constants.SYNAPSE_NAMESPACE, "code");
+ private static final QName REASON_Q = new QName(Constants.SYNAPSE_NAMESPACE, "reason");
- OMElement code = el.getFirstChildWithName(FAULTCODE);
+ private static final QName ATT_VALUE_Q = new QName(Constants.NULL_NAMESPACE, "name");
+ private static final QName ATT_EXPR_Q = new QName(Constants.NULL_NAMESPACE, "expression");
+
+ private static final String SOAP11 = "soap11";
+ private static final String SOAP12 = "soap12";
+
+ public Mediator createMediator(OMElement elem) {
+
+ FaultMediator faultMediator = new FaultMediator();
+
+ OMAttribute version = elem.getAttribute(ATT_VERSION_Q);
+ if (version != null) {
+ if (SOAP11.equals(version.getAttributeValue())) {
+ faultMediator.setSoapVersion(FaultMediator.SOAP11);
+ } else if (SOAP12.equals(version.getAttributeValue())) {
+ faultMediator.setSoapVersion(FaultMediator.SOAP12);
+ }
+ }
+
+/* TODO revisit later!
+ OMElement code = elem.getFirstChildWithName(CODE_Q);
if (code != null) {
- fp.setFaultCode(code.getTextAsQName());
+ OMAttribute value = code.getAttribute(ATT_VALUE_Q);
+ OMAttribute expression = code.getAttribute(ATT_EXPR_Q);
+
+ if (value != null) {
+ faultMediator.setCode(new QName(value.getAttributeValue()));
+ } else if (expression != null) {
+ //faultMediator.setCode();
+ } else {
+ //TODO throw exception
+ }
+
+ } else {
+ //TODO exception
}
- OMElement reason = el.getFirstChildWithName(REASON);
+*/
+
+ OMElement reason = elem.getFirstChildWithName(REASON_Q);
if (reason != null) {
- fp.setReason(reason.getText());
+ faultMediator.setReason(reason.getText());
+ }else {
+ //TODO exception
}
- super.setNameOnMediator(se, el, fp);
- return fp;
+
+ return faultMediator;
}
public QName getTagQName() {
Added: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java?rev=405043&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java (added)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/config/xml/FilterMediatorFactory.java Mon May 8 06:15:47 2006
@@ -0,0 +1,111 @@
+/*
+* 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.synapse.api.Mediator;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.mediators.filters.FilterMediator;
+import org.apache.axiom.om.OMElement;
+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;
+import java.util.regex.Pattern;
+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");
+
+ public Mediator createMediator(OMElement elem) {
+ FilterMediator filter = new FilterMediator();
+ super.addChildren(elem, filter);
+
+ OMAttribute attXpath = elem.getAttribute(new QName(Constants.NULL_NAMESPACE, "xpath"));
+ OMAttribute attSource = elem.getAttribute(new QName(Constants.NULL_NAMESPACE, "source"));
+ OMAttribute attRegex = elem.getAttribute(new QName(Constants.NULL_NAMESPACE, "regex"));
+
+ if (attXpath != null) {
+ if (attXpath.getAttributeValue() != null && attXpath.getAttributeValue().trim().length() == 0) {
+ String msg = "Invalid attribute value specified for xpath";
+ log.error(msg);
+ throw new SynapseException(msg);
+
+ } else {
+ try {
+ filter.setXpath(new AXIOMXPath(attXpath.getAttributeValue()));
+ } catch (JaxenException e) {
+ String msg = "Invalid XPath expression for attribute xpath : " + attXpath.getAttributeValue();
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+ }
+ addNameSpaces(elem, filter.getXpath(), log);
+
+ } else if (attSource != null && attRegex != null) {
+
+ if (
+ (attSource.getAttributeValue() != null && attSource.getAttributeValue().trim().length() == 0) ||
+ (attRegex.getAttributeValue() != null && attRegex.getAttributeValue().trim().length() == 0) ){
+ String msg = "Invalid attribute values for source and/or regex specified";
+ log.error(msg);
+ throw new SynapseException(msg);
+
+ } else {
+ try {
+ filter.setSource(new AXIOMXPath(attSource.getAttributeValue()));
+ } catch (JaxenException e) {
+ String msg = "Invalid XPath expression for attribute source : " + attSource.getAttributeValue();
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+ try {
+ filter.setRegex(Pattern.compile(attRegex.getAttributeValue()));
+ } catch (PatternSyntaxException pse) {
+ String msg = "Invalid Regular Expression for attribute regex : " + attRegex.getAttributeValue();
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+ }
+ addNameSpaces(elem, filter.getSource(), log);
+
+ } else {
+ String msg = "An xpath or (source, regex) attributes are required for a filter";
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+ return filter;
+ }
+
+ public QName getTagQName() {
+ return FILTER_Q;
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org