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/02/21 06:39:01 UTC

svn commit: r379352 - in /incubator/synapse/trunk/java: bin/ etc/ modules/core/ modules/core/src/org/apache/synapse/ modules/core/src/org/apache/synapse/axis2/ modules/core/src/org/apache/synapse/axis2/utils/ modules/core/test-resources/org/apache/axis...

Author: saminda
Date: Mon Feb 20 21:38:57 2006
New Revision: 379352

URL: http://svn.apache.org/viewcvs?rev=379352&view=rev
Log:
1.Introduced public OMElement get(String url) to allow mediators to get resources. The implementation basically uses 
GET interface of Http to call to a resource. This has the notion of REST. So any mediator can simply uses get(String 
url); to talk to a resources. Though, this is still in the experimental stage, it covers almost all the requirements 
came in the mailing list.
2.Added test cases to test the new capabilities. 
3.removed some unnecessary files and duplicated files. 
4.First step towards optimization of the building. 
5.Updated synapse.sh   

Added:
    incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/utils/
    incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/utils/ResourcesHandler.java
    incubator/synapse/trunk/java/modules/core/test-resources/rest/
    incubator/synapse/trunk/java/modules/core/test-resources/rest/axis2-rest.xml
    incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SimpleResourceAquireMediator.java
    incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/spi/injection/SimpleResourceAquireTest.java
Removed:
    incubator/synapse/trunk/java/modules/core/test/org/apache/axis2/META-INF/
Modified:
    incubator/synapse/trunk/java/bin/synapse.sh
    incubator/synapse/trunk/java/etc/project.properties
    incubator/synapse/trunk/java/modules/core/maven.xml
    incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseEnvironment.java
    incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
    incubator/synapse/trunk/java/modules/core/test-resources/org/apache/axis2/META-INF/services.xml
    incubator/synapse/trunk/java/modules/core/test/org/apache/axis2/test/Echo.java

Modified: incubator/synapse/trunk/java/bin/synapse.sh
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/bin/synapse.sh?rev=379352&r1=379351&r2=379352&view=diff
==============================================================================
--- incubator/synapse/trunk/java/bin/synapse.sh (original)
+++ incubator/synapse/trunk/java/bin/synapse.sh Mon Feb 20 21:38:57 2006
@@ -1,12 +1,92 @@
 #!/bin/sh
+# -----------------------------------------------------------------------------
+#
+# Environment Variable Prequisites
+#
+#   SYNAPSE_HOME   Home of Synapse installation. If not set I will  try
+#                   to figure it out.
+#
+#   JAVA_HOME       Must point at your Java Development Kit installation.
+#
+# NOTE: Borrowed generously from Apache Tomcat startup scripts.
 
-export AXIS2_HOME=..
+# if JAVA_HOME is not set we're not happy
+if [ -z "$JAVA_HOME" ]; then
+  echo "You must set the JAVA_HOME variable before running Tungsten."
+  exit 1
+fi
 
-for f in $AXIS2_HOME/lib/*.jar
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false
+os400=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+OS400*) os400=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+# Only set SYNAPSE_HOME if not already set
+[ -z "$SYNAPSE_HOME" ] && SYNAPSE_HOME=`cd "$PRGDIR/.." ; pwd`
+
+
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$SYNAPSE_HOME" ] && SYNAPSE_HOME=`cygpath --unix "$SYNAPSE_HOME"`
+  [ -n "$AXIS2_HOME" ] && TUNGSTEN_HOME=`cygpath --unix "$SYNAPSE_HOME"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For OS400
+if $os400; then
+  # Set job priority to standard for interactive (interactive - 6) by using
+  # the interactive priority - 6, the helper threads that respond to requests
+  # will be running at the same priority as interactive jobs.
+  COMMAND='chgjob job('$JOBNAME') runpty(6)'
+  system $COMMAND
+
+  # Enable multi threading
+  export QIBM_MULTI_THREADED=Y
+fi
+
+# update classpath
+SYNAPSE_CLASSPATH=""
+for f in $SYNAPSE_HOME/lib/*.jar
 do
-  AXIS2_CLASSPATH=$AXIS2_CLASSPATH:$f
+  SYNAPSE_CLASSPATH=$SYNAPSE_CLASSPATH:$f
 done
-export AXIS2_CLASSPATH
+SYNAPSE_CLASSPATH=$JAVA_HOME/lib/tools.jar$SYNAPSE_CLASSPATH:$CLASSPATH
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
+  SYNAPSE_HOME=`cygpath --absolute --windows "$SYNAPSE_HOME"`
+  AXIS2_HOME=`cygpath --absolute --windows "$SYNAPSE_HOME"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+cd $SYNAPSE_HOME
+echo "Starting Synapse/Java ..."
+echo "Using $SYNAPSE_HOME:   $SYNAPSE_HOME"
+echo "Using JAVA_HOME:       $JAVA_HOME"
 
-echo the classpath $AXIS2_CLASSPATH
-java -classpath $AXIS2_CLASSPATH org.apache.axis2.transport.http.SimpleHTTPServer $1 $2
+$JAVA_HOME/bin/java -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=379352&r1=379351&r2=379352&view=diff
==============================================================================
--- incubator/synapse/trunk/java/etc/project.properties (original)
+++ incubator/synapse/trunk/java/etc/project.properties Mon Feb 20 21:38:57 2006
@@ -74,3 +74,8 @@
 modules/samples/project.xml,\
 modules/extensions/project.xml,\
 ${optional.includes}
+
+# -------------------------------------------------------------------
+#                Addressing Version
+# -------------------------------------------------------------------
+addressing.version=0.94
\ No newline at end of file

Modified: incubator/synapse/trunk/java/modules/core/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/maven.xml?rev=379352&r1=379351&r2=379352&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/maven.xml (original)
+++ incubator/synapse/trunk/java/modules/core/maven.xml Mon Feb 20 21:38:57 2006
@@ -84,8 +84,8 @@
         <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-0.94.mar"
-              tofile="target/synapse-repository-sendon/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository-sendon/modules/addressing-${addressing.version}.mar"/>
         <copy file="../../repository/axis2.xml"
               tofile="target/synapse-repository-sendon/axis2.xml"/>
         <copy file="test/rules/synapse-sendon.xml"
@@ -101,8 +101,8 @@
             <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-0.94.mar"
-                  tofile="target/synapse-repository-sendnow/modules/addressing-0.94.mar"/>
+            <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+                  tofile="target/synapse-repository-sendnow/modules/addressing-${addressing.version}.mar"/>
             <copy file="../../repository/axis2.xml"
                   tofile="target/synapse-repository-sendnow/axis2.xml"/>
             <copy file="test/rules/synapse-sendnow.xml"
@@ -117,8 +117,8 @@
               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-0.94.mar"
-              tofile="target/synapse-repository-sendonAxis2/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository-sendonAxis2/modules/addressing-${addressing.version}.mar"/>
         <copy file="test-resources/axis2/axis2.xml"
               tofile="target/synapse-repository-sendonAxis2/axis2.xml"/>
 
@@ -127,8 +127,8 @@
 
         <copy file="target/npe.aar"
               tofile="target/synapse-repository-sendonAxis2Tcp/services/npe.aar"/>
-        <copy file="../../repository/modules/addressing-0.94.mar"
-              tofile="target/synapse-repository-sendonAxis2Tcp/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository-sendonAxis2Tcp/modules/addressing-${addressing.version}.mar"/>
         <copy file="test-resources/axis2/axis2.xml"
               tofile="target/synapse-repository-sendonAxis2Tcp/axis2.xml"/>
 
@@ -139,8 +139,8 @@
               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-0.94.mar"
-              tofile="target/synapse-repository-httptcp/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository-httptcp/modules/addressing-${addressing.version}.mar"/>
         <copy file="../../repository/axis2.xml"
               tofile="target/synapse-repository-httptcp/axis2.xml"/>
         <copy file="test/rules/synapse-httptcp.xml"
@@ -155,13 +155,23 @@
               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-0.94.mar"
-              tofile="target/synapse-repository-environmentaware/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository-environmentaware/modules/addressing-${addressing.version}.mar"/>
         <copy file="../../repository/axis2.xml"
               tofile="target/synapse-repository-environmentaware/axis2.xml"/>
         <copy file="test/rules/synapse-environmentaware.xml"
               tofile="target/synapse-repository-environmentaware/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/axis2-rest.xml"
+              tofile="target/synapse-repository-resources/axis2.xml"/>
+
         <ant:delete file="target/npe.aar"/>
         <ant:delete file="target/test-mediator.aar"/>
         <ant:delete dir="target/test-mediator"/>
@@ -176,8 +186,8 @@
         <copy file="target/emptymediator.aar"
               tofile="target/synapse-repository/services/emptymediator.aar"/>
         <mkdir dir="target/synapse-repository/modules"/>
-        <copy file="../../repository/modules/addressing-0.94.mar"
-              tofile="target/synapse-repository/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository/modules/addressing-${addressing.version}.mar"/>
         <copy file="../../repository/axis2.xml"
               tofile="target/synapse-repository/axis2.xml"/>
         <copy file="../../repository/synapse.xml"
@@ -190,8 +200,8 @@
         <copy file="target/emptymediator.aar"
               tofile="target/synapse-repository-fault/services/emptymediator.aar"/>
         <mkdir dir="target/synapse-repository-fault/modules"/>
-        <copy file="../../repository/modules/addressing-0.94.mar"
-              tofile="target/synapse-repository-fault/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository-fault/modules/addressing-${addressing.version}.mar"/>
         <copy file="../../repository/axis2.xml"
               tofile="target/synapse-repository-fault/axis2.xml"/>
         <copy file="test/rules/synapse-fault-return.xml"
@@ -204,8 +214,8 @@
         <copy file="target/emptymediator.aar"
               tofile="target/synapse-repository-send/services/emptymediator.aar"/>
         <mkdir dir="target/synapse-repository-send/modules"/>
-        <copy file="../../repository/modules/addressing-0.94.mar"
-              tofile="target/synapse-repository-send/modules/addressing-0.94.mar"/>
+        <copy file="../../repository/modules/addressing-${addressing.version}.mar"
+              tofile="target/synapse-repository-send/modules/addressing-${addressing.version}.mar"/>
         <copy file="../../repository/axis2.xml"
               tofile="target/synapse-repository-sendonAxis2/axis2.xml"/>
         <copy file="test/rules/synapse-send.xml"

Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseEnvironment.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseEnvironment.java?rev=379352&r1=379351&r2=379352&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseEnvironment.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/SynapseEnvironment.java Mon Feb 20 21:38:57 2006
@@ -15,6 +15,8 @@
  */
 package org.apache.synapse;
 
+import org.apache.axis2.om.OMElement;
+
 import java.util.Map;
 import java.util.HashMap;
 
@@ -124,4 +126,9 @@
      * This sets the root processor for the engine.
      */
     abstract public void setMasterProcessor(Processor p);
+
+    /**
+     * This method is responsible for updating resources via simple GET interface.
+     */
+    abstract public OMElement get(String url);
 }

Modified: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java?rev=379352&r1=379351&r2=379352&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java (original)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/Axis2SynapseEnvironment.java Mon Feb 20 21:38:57 2006
@@ -26,6 +26,7 @@
 import org.apache.synapse.Processor;
 import org.apache.synapse.SynapseEnvironment;
 import org.apache.synapse.SynapseMessage;
+import org.apache.synapse.axis2.utils.ResourcesHandler;
 
 import org.apache.synapse.xml.ProcessorConfiguratorFinder;
 
@@ -91,4 +92,8 @@
 	public void setMasterProcessor(Processor p) {
 		mainprocessor = p;
 	}
+
+    public OMElement get(String url) {
+        return ResourcesHandler.simpleGETRquest(url);        
+    }
 }

Added: incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/utils/ResourcesHandler.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/utils/ResourcesHandler.java?rev=379352&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/utils/ResourcesHandler.java (added)
+++ incubator/synapse/trunk/java/modules/core/src/org/apache/synapse/axis2/utils/ResourcesHandler.java Mon Feb 20 21:38:57 2006
@@ -0,0 +1,62 @@
+package org.apache.synapse.axis2.utils;
+
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.impl.llom.builder.StAXOMBuilder;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.synapse.SynapseException;
+
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ *  Resource helper class that read resource out of file system or someother place
+ *  Present code just uses GET interface to get some resources.
+ *  This is simple yet powerful enough to to do a REST request with GET.
+ */
+public class ResourcesHandler {
+    public static OMElement simpleGETRquest(String url) {
+        OMElement response = null;
+        HttpClient httpClient = new HttpClient();
+        //todo: need a way to indentify the locally available resources and other resources
+        // todo: locations can be avilable from synapse.xml or some other property file.
+        /*
+         Following code technically gives the mediators to do a simple Http GET and aquire
+         some resources. Any mediator can use this method to quire its resources. 
+        */
+        GetMethod httpGet = new GetMethod(url);
+        try {
+
+            httpClient.executeMethod(httpGet);
+            if (httpGet.getStatusCode() == HttpStatus.SC_OK) {
+                response =  processResponse(httpGet.getResponseBodyAsStream());
+            }
+        } catch (IOException e) {
+            throw new SynapseException(e);
+        } finally{
+            httpGet.releaseConnection();
+        }
+        if (response == null) throw new SynapseException("There are no valid resonse resources");
+        return response;
+    }
+
+    private static OMElement processResponse(InputStream inputStream) {
+        if (inputStream == null) {
+            throw new SynapseException("Input Stream cannot be null for Resource request");
+        }
+        try {
+            XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(inputStream);
+            StAXOMBuilder builder = new StAXOMBuilder(OMAbstractFactory.getOMFactory(),parser);
+            OMElement resourceElement = builder.getDocumentElement();
+            resourceElement.build(); //make sure we are in safe side
+            return  resourceElement;
+        } catch (XMLStreamException e) {
+            throw new SynapseException(e);
+        }
+    }
+}

Modified: incubator/synapse/trunk/java/modules/core/test-resources/org/apache/axis2/META-INF/services.xml
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/test-resources/org/apache/axis2/META-INF/services.xml?rev=379352&r1=379351&r2=379352&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/test-resources/org/apache/axis2/META-INF/services.xml (original)
+++ incubator/synapse/trunk/java/modules/core/test-resources/org/apache/axis2/META-INF/services.xml Mon Feb 20 21:38:57 2006
@@ -15,4 +15,9 @@
     <operation name="echo_addressing" locked="false">
         <parameter name="wsamapping">urn:synapse/sendon-addressing-engage</parameter>
     </operation>
-</service>
\ No newline at end of file
+    <operation name="ping">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+        <parameter name="wsamapping">urn:synapse/ping</parameter>
+    </operation>
+    <operation name="simple_resources"/>
+</service>

Added: incubator/synapse/trunk/java/modules/core/test-resources/rest/axis2-rest.xml
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/test-resources/rest/axis2-rest.xml?rev=379352&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/test-resources/rest/axis2-rest.xml (added)
+++ incubator/synapse/trunk/java/modules/core/test-resources/rest/axis2-rest.xml Mon Feb 20 21:38:57 2006
@@ -0,0 +1,157 @@
+<axisconfig name="AxisJava2.0">
+    <!-- ================================================= -->
+    <!-- Parameters -->
+    <!-- ================================================= -->
+    <parameter name="hotdeployment" locked="false">true</parameter>
+    <parameter name="hotupdate" locked="false">false</parameter>
+    <parameter name="enableMTOM" locked="false">true</parameter>
+    <!-- Uncomment this to enable REST support -->
+    <parameter name="enableREST" locked="false">true</parameter>
+
+    <parameter name="SynapseConfiguration" locked="false">synapse.xml</parameter>
+
+    <parameter name="userName" locked="false">admin</parameter>
+    <parameter name="password" locked="false">axis2</parameter>
+
+    <parameter name="seralizeLocation" locked="false">.</parameter>
+    <hostConfiguration>
+        <ip>127.0.0.1</ip>
+        <port>5555</port>
+    </hostConfiguration>
+
+
+    <!--if you want to extract the service archive file and work with that please uncomment this-->
+    <!--else , it wont extract archive file or does not take into consideration if someone drop-->
+    <!--exploded directory into /service directory-->
+    <!--<parameter name="extractServiceArchive" locked="false">true</parameter>-->
+
+
+    <!--    The way of adding listener to the system-->
+    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
+    <!--        <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>-->
+    <!--    </listener>-->
+
+    <!-- ================================================= -->
+    <!-- Message Receivers -->
+    <!-- ================================================= -->
+    <!-- This is the Deafult Message Receiver for the Request Response style Operations -->
+    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+
+    <!-- ================================================= -->
+    <!-- Transport Ins -->
+    <!-- ================================================= -->
+    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">
+        <parameter name="port" locked="false">6060</parameter>
+    </transportReceiver>
+
+    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
+    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">
+          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>
+          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>
+          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>
+          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>
+          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>
+      </transportReceiver> -->
+
+    <transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer">
+        <parameter name="port" locked="false">6060</parameter>
+    </transportReceiver>
+
+    <!--<transportReceiver name="jms" class="org.apache.axis2.transport.jms.SimpleJMSListener">-->
+        <!--<parameter name="transport.jms.Destination" locked="false">dynamicQueues/FOO</parameter>-->
+        <!--<parameter name="java.naming.factory.initial" locked="false">-->
+            <!--org.activemq.jndi.ActiveMQInitialContextFactory</parameter>-->
+        <!--<parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>-->
+    <!--</transportReceiver>-->
+
+    <!-- ================================================= -->
+    <!-- Transport Outs -->
+    <!-- ================================================= -->
+
+    <transportSender name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
+    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>
+    <!--<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/>-->
+    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+    </transportSender>
+    <transportSender name="https"
+                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+    </transportSender>
+
+    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
+   <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
+       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>
+       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>
+       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
+   </transportSender>
+   -->
+
+    <!-- ================================================= -->
+    <!-- Global Modules  -->
+    <!-- ================================================= -->
+    <!-- Comment this to disable Addressing -->
+    <module ref="addressing"/>
+
+
+    <!--Configuring module , providing parameters for modules whether they refer or not-->
+    <!--<moduleConfig name="addressing">-->
+    <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
+    <!--</moduleConfig>-->
+
+    <!-- ================================================= -->
+    <!-- Phases  -->
+    <!-- ================================================= -->
+    <phaseOrder type="inflow">
+        <!--  System pre defined phases       -->
+        <phase name="TransportIn"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="PostDispatch"/>
+            </handler>
+        </phase>
+        <!--  System pre defined phases       -->
+        <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
+        <phase name="userphase1"/>
+    </phaseOrder>
+    <phaseOrder type="outflow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="userphase1"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+    <phaseOrder type="INfaultflow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="userphase1"/>
+    </phaseOrder>
+    <phaseOrder type="Outfaultflow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="userphase1"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+</axisconfig>

Modified: incubator/synapse/trunk/java/modules/core/test/org/apache/axis2/test/Echo.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/test/org/apache/axis2/test/Echo.java?rev=379352&r1=379351&r2=379352&view=diff
==============================================================================
--- incubator/synapse/trunk/java/modules/core/test/org/apache/axis2/test/Echo.java (original)
+++ incubator/synapse/trunk/java/modules/core/test/org/apache/axis2/test/Echo.java Mon Feb 20 21:38:57 2006
@@ -58,4 +58,22 @@
                 "This is the actual service which has been pinged");
     }
 
+
+    public OMElement simple_resources(OMElement element){
+        System.out.println("This is the actual resource provider");
+        element.build();
+        element.detach();
+
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+
+        OMElement ele1 = fac.createOMElement("ele1","","");
+        OMElement ele2 = fac.createOMElement("ele2","","");
+        OMElement ele3 = fac.createOMElement("ele3","","");
+        element.addChild(ele1);
+        element.addChild(ele2);
+        element.addChild(ele3);
+        return element;
+
+    }
+
 }

Added: incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SimpleResourceAquireMediator.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SimpleResourceAquireMediator.java?rev=379352&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SimpleResourceAquireMediator.java (added)
+++ incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/mediators/SimpleResourceAquireMediator.java Mon Feb 20 21:38:57 2006
@@ -0,0 +1,31 @@
+package org.apache.synapse.mediators;
+
+import org.apache.synapse.api.Mediator;
+import org.apache.synapse.api.EnvironmentAware;
+import org.apache.synapse.SynapseEnvironment;
+import org.apache.synapse.SynapseMessage;
+import org.apache.synapse.SynapseException;
+import org.apache.axis2.om.OMElement;
+import junit.framework.TestCase;
+
+/**
+ * Simple resource handling mediator
+ */
+public class SimpleResourceAquireMediator implements Mediator, EnvironmentAware {
+
+    private SynapseEnvironment se = null;
+    public void setSynapseEnvironment(SynapseEnvironment se) {
+        this.se = se;
+    }
+
+    public void setClassLoader(ClassLoader cl) {
+        throw new SynapseException("no class loader available for <classmediator/>");
+    }
+
+    public boolean mediate(SynapseMessage smc) {
+        OMElement resourcesElement = se.get("http://127.0.0.1:8090/axis2/services/npe/simple_resources");
+        // test for resources being not null
+        TestCase.assertNotNull(resourcesElement);
+        return true;
+    }
+}

Added: incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/spi/injection/SimpleResourceAquireTest.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/spi/injection/SimpleResourceAquireTest.java?rev=379352&view=auto
==============================================================================
--- incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/spi/injection/SimpleResourceAquireTest.java (added)
+++ incubator/synapse/trunk/java/modules/core/test/org/apache/synapse/spi/injection/SimpleResourceAquireTest.java Mon Feb 20 21:38:57 2006
@@ -0,0 +1,45 @@
+package org.apache.synapse.spi.injection;
+
+import junit.framework.TestCase;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.transport.http.SimpleHTTPServer;
+import org.apache.synapse.SynapseEnvironment;
+import org.apache.synapse.SynapseMessage;
+import org.apache.synapse.axis2.Axis2SynapseEnvironment;
+import org.apache.synapse.axis2.Axis2SynapseMessage;
+import org.apache.synapse.util.Axis2EnvSetup;
+
+/**
+ *
+ */
+public class SimpleResourceAquireTest extends TestCase {
+    private MessageContext msgCtx;
+    private SynapseEnvironment env;
+    private OMElement config;
+    private String synapsexml =
+                    "<synapse xmlns=\"http://ws.apache.org/ns/synapse\">\n" +
+                    "    <classmediator class=\"org.apache.synapse.mediators.SimpleResourceAquireMediator\"/>\n" +
+                    "</synapse>";
+
+    private SimpleHTTPServer resources;
+
+    public void setUp() throws Exception {
+        msgCtx = Axis2EnvSetup.axis2Deployment("target/synapse-repository");
+        config = Axis2EnvSetup.getSynapseConfigElement(synapsexml);
+        env = new Axis2SynapseEnvironment(config,
+                Thread.currentThread().getContextClassLoader());
+        resources = new SimpleHTTPServer("target/synapse-repository-resources",8090);
+        resources.start();
+    }
+
+    protected void tearDown() throws Exception {
+        resources.stop();
+    }
+    public void testSimpleResourcesHandler() throws Exception {
+        SynapseMessage smc = new Axis2SynapseMessage(msgCtx);
+        env.injectMessage(smc);
+
+    }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org