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 &ltstage>, &ltin>&ltout> and &ltnever> 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