This is an automated email from the ASF dual-hosted git repository.

billblough pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-savan.git

commit adc0b8a69676618082331299ee86e002d7a4f7ba
Author: Chamikara Madhusanka Jayalath <chamik...@apache.org>
AuthorDate: Tue May 22 05:44:15 2007 +0000

    Made Savan a multi module project.
    Changed the package name to org.apache.ws.savan
    Created modules - core,mar,samples
---
 modules/core/pom.xml                               |  37 +++
 .../core/src}/main/config/savan-config.xml         |   0
 .../java/org/apache/savan/MessageInitializer.java  |   0
 .../main/java/org/apache/savan/SavanConstants.java |   0
 .../main/java/org/apache/savan/SavanException.java |   0
 .../java/org/apache/savan/SavanMessageContext.java |   0
 .../savan/configuration/ConfigurationManager.java  |   0
 .../org/apache/savan/configuration/FilterBean.java |   0
 .../apache/savan/configuration/MappingRules.java   |   0
 .../org/apache/savan/configuration/Protocol.java   |   0
 .../apache/savan/configuration/SubscriberBean.java |   0
 .../java/org/apache/savan/eventing/Delivery.java   |   0
 .../apache/savan/eventing/EventingConstants.java   |   0
 .../eventing/EventingMessageReceiverDeligater.java |   0
 .../eventing/EventingSubscriptionProcessor.java    |   0
 .../apache/savan/eventing/EventingUtilFactory.java |   0
 .../savan/eventing/client/EventingClient.java      |   0
 .../savan/eventing/client/EventingClientBean.java  |   0
 .../eventing/client/SubscriptionResponseData.java  |   0
 .../savan/eventing/client/SubscriptionStatus.java  |   0
 .../eventing/subscribers/EventingSubscriber.java   |   0
 .../java/org/apache/savan/filters/EmptyFilter.java |   0
 .../main/java/org/apache/savan/filters/Filter.java |   0
 .../org/apache/savan/filters/XPathBasedFilter.java |   0
 .../messagereceiver/MessageReceiverDeligater.java  |   0
 .../SavanInOnlyMessageReceiver.java                |   0
 .../messagereceiver/SavanInOutMessageReceiver.java |   0
 .../java/org/apache/savan/module/SavanModule.java  |   0
 .../savan/publication/PublicationReport.java       |   0
 .../publication/client/PublicationClient.java      |   0
 .../savan/storage/DefaultSubscriberStore.java      |   0
 .../org/apache/savan/storage/SubscriberStore.java  |   0
 .../org/apache/savan/subscribers/Subscriber.java   |   0
 .../apache/savan/subscribers/SubscriberGroup.java  |   0
 .../apache/savan/subscription/ExpirationBean.java  |   0
 .../org/apache/savan/subscription/RenewBean.java   |   0
 .../savan/subscription/SubscriptionProcessor.java  |   0
 .../java/org/apache/savan/util/CommonUtil.java     |   0
 .../org/apache/savan/util/ProtocolManager.java     |   0
 .../java/org/apache/savan/util/UtilFactory.java    |   0
 {src => modules/core/src}/site/site.xml            |   0
 .../core/src}/site/xdoc/savan-tutorial.xml         |   0
 .../axis2/savan/ConfigurationManagerTest.java      |   0
 .../axis2/savan/EventingExpirationTypesTest.java   |   0
 .../savan/EventingSubscripitonProcessorTest.java   |   0
 .../apache/axis2/savan/XPathBasedFilterTest.java   |   0
 .../test/resources/eventing-renew-datetime.xml     |   0
 .../test/resources/eventing-renew-duration.xml     |   0
 .../src}/test/resources/eventing-subscription.xml  |   0
 .../core/src}/test/resources/savan-config-test.xml |   0
 .../resources/META-INF => modules/mar}/module.xml  |   0
 modules/mar/pom.xml                                |  83 ++++++
 modules/samples/eventing/build.xml                 |  86 ++++++
 modules/samples/eventing/listner1.services.xml     |  13 +
 modules/samples/eventing/listner2.services.xml     |  13 +
 modules/samples/eventing/publisher.services.xml    |  17 ++
 modules/samples/eventing/readme.txt                |  19 ++
 modules/samples/eventing/run.bat                   |  40 +++
 modules/samples/eventing/run.sh                    |  11 +
 .../eventing/src/sample/eventing/Client.java       | 293 +++++++++++++++++++++
 .../src/sample/eventing/ListnerService1.java       |  29 +-
 .../src/sample/eventing/ListnerService2.java       |  31 +--
 .../src/sample/eventing/PublisherService.java      |  93 +++++++
 pom.xml                                            |  16 +-
 64 files changed, 741 insertions(+), 40 deletions(-)

diff --git a/modules/core/pom.xml b/modules/core/pom.xml
new file mode 100644
index 0000000..3ba8b93
--- /dev/null
+++ b/modules/core/pom.xml
@@ -0,0 +1,37 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+    <parent>
+               <groupId>org.apache.ws.savan</groupId>
+               <artifactId>savan-parent</artifactId>
+        <version>SNAPSHOT</version>
+    </parent>
+       
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.ws.savan</groupId>
+    <artifactId>savan-core</artifactId>
+    <packaging>jar</packaging>
+    <name>Savan - Core</name>
+
+    <build>
+        <sourceDirectory>src/main/java</sourceDirectory>
+        <testSourceDirectory>src/test/java</testSourceDirectory>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.4</source>
+                    <target>1.4</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/src/main/config/savan-config.xml 
b/modules/core/src/main/config/savan-config.xml
similarity index 100%
rename from src/main/config/savan-config.xml
rename to modules/core/src/main/config/savan-config.xml
diff --git a/src/main/java/org/apache/savan/MessageInitializer.java 
b/modules/core/src/main/java/org/apache/savan/MessageInitializer.java
similarity index 100%
rename from src/main/java/org/apache/savan/MessageInitializer.java
rename to modules/core/src/main/java/org/apache/savan/MessageInitializer.java
diff --git a/src/main/java/org/apache/savan/SavanConstants.java 
b/modules/core/src/main/java/org/apache/savan/SavanConstants.java
similarity index 100%
rename from src/main/java/org/apache/savan/SavanConstants.java
rename to modules/core/src/main/java/org/apache/savan/SavanConstants.java
diff --git a/src/main/java/org/apache/savan/SavanException.java 
b/modules/core/src/main/java/org/apache/savan/SavanException.java
similarity index 100%
rename from src/main/java/org/apache/savan/SavanException.java
rename to modules/core/src/main/java/org/apache/savan/SavanException.java
diff --git a/src/main/java/org/apache/savan/SavanMessageContext.java 
b/modules/core/src/main/java/org/apache/savan/SavanMessageContext.java
similarity index 100%
rename from src/main/java/org/apache/savan/SavanMessageContext.java
rename to modules/core/src/main/java/org/apache/savan/SavanMessageContext.java
diff --git 
a/src/main/java/org/apache/savan/configuration/ConfigurationManager.java 
b/modules/core/src/main/java/org/apache/savan/configuration/ConfigurationManager.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/configuration/ConfigurationManager.java
rename to 
modules/core/src/main/java/org/apache/savan/configuration/ConfigurationManager.java
diff --git a/src/main/java/org/apache/savan/configuration/FilterBean.java 
b/modules/core/src/main/java/org/apache/savan/configuration/FilterBean.java
similarity index 100%
rename from src/main/java/org/apache/savan/configuration/FilterBean.java
rename to 
modules/core/src/main/java/org/apache/savan/configuration/FilterBean.java
diff --git a/src/main/java/org/apache/savan/configuration/MappingRules.java 
b/modules/core/src/main/java/org/apache/savan/configuration/MappingRules.java
similarity index 100%
rename from src/main/java/org/apache/savan/configuration/MappingRules.java
rename to 
modules/core/src/main/java/org/apache/savan/configuration/MappingRules.java
diff --git a/src/main/java/org/apache/savan/configuration/Protocol.java 
b/modules/core/src/main/java/org/apache/savan/configuration/Protocol.java
similarity index 100%
rename from src/main/java/org/apache/savan/configuration/Protocol.java
rename to 
modules/core/src/main/java/org/apache/savan/configuration/Protocol.java
diff --git a/src/main/java/org/apache/savan/configuration/SubscriberBean.java 
b/modules/core/src/main/java/org/apache/savan/configuration/SubscriberBean.java
similarity index 100%
copy from src/main/java/org/apache/savan/configuration/SubscriberBean.java
copy to 
modules/core/src/main/java/org/apache/savan/configuration/SubscriberBean.java
diff --git a/src/main/java/org/apache/savan/eventing/Delivery.java 
b/modules/core/src/main/java/org/apache/savan/eventing/Delivery.java
similarity index 100%
rename from src/main/java/org/apache/savan/eventing/Delivery.java
rename to modules/core/src/main/java/org/apache/savan/eventing/Delivery.java
diff --git a/src/main/java/org/apache/savan/eventing/EventingConstants.java 
b/modules/core/src/main/java/org/apache/savan/eventing/EventingConstants.java
similarity index 100%
rename from src/main/java/org/apache/savan/eventing/EventingConstants.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/EventingConstants.java
diff --git 
a/src/main/java/org/apache/savan/eventing/EventingMessageReceiverDeligater.java 
b/modules/core/src/main/java/org/apache/savan/eventing/EventingMessageReceiverDeligater.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/eventing/EventingMessageReceiverDeligater.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/EventingMessageReceiverDeligater.java
diff --git 
a/src/main/java/org/apache/savan/eventing/EventingSubscriptionProcessor.java 
b/modules/core/src/main/java/org/apache/savan/eventing/EventingSubscriptionProcessor.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/eventing/EventingSubscriptionProcessor.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/EventingSubscriptionProcessor.java
diff --git a/src/main/java/org/apache/savan/eventing/EventingUtilFactory.java 
b/modules/core/src/main/java/org/apache/savan/eventing/EventingUtilFactory.java
similarity index 100%
rename from src/main/java/org/apache/savan/eventing/EventingUtilFactory.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/EventingUtilFactory.java
diff --git a/src/main/java/org/apache/savan/eventing/client/EventingClient.java 
b/modules/core/src/main/java/org/apache/savan/eventing/client/EventingClient.java
similarity index 100%
rename from src/main/java/org/apache/savan/eventing/client/EventingClient.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/client/EventingClient.java
diff --git 
a/src/main/java/org/apache/savan/eventing/client/EventingClientBean.java 
b/modules/core/src/main/java/org/apache/savan/eventing/client/EventingClientBean.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/eventing/client/EventingClientBean.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/client/EventingClientBean.java
diff --git 
a/src/main/java/org/apache/savan/eventing/client/SubscriptionResponseData.java 
b/modules/core/src/main/java/org/apache/savan/eventing/client/SubscriptionResponseData.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/eventing/client/SubscriptionResponseData.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/client/SubscriptionResponseData.java
diff --git 
a/src/main/java/org/apache/savan/eventing/client/SubscriptionStatus.java 
b/modules/core/src/main/java/org/apache/savan/eventing/client/SubscriptionStatus.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/eventing/client/SubscriptionStatus.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/client/SubscriptionStatus.java
diff --git 
a/src/main/java/org/apache/savan/eventing/subscribers/EventingSubscriber.java 
b/modules/core/src/main/java/org/apache/savan/eventing/subscribers/EventingSubscriber.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/eventing/subscribers/EventingSubscriber.java
rename to 
modules/core/src/main/java/org/apache/savan/eventing/subscribers/EventingSubscriber.java
diff --git a/src/main/java/org/apache/savan/filters/EmptyFilter.java 
b/modules/core/src/main/java/org/apache/savan/filters/EmptyFilter.java
similarity index 100%
rename from src/main/java/org/apache/savan/filters/EmptyFilter.java
rename to modules/core/src/main/java/org/apache/savan/filters/EmptyFilter.java
diff --git a/src/main/java/org/apache/savan/filters/Filter.java 
b/modules/core/src/main/java/org/apache/savan/filters/Filter.java
similarity index 100%
rename from src/main/java/org/apache/savan/filters/Filter.java
rename to modules/core/src/main/java/org/apache/savan/filters/Filter.java
diff --git a/src/main/java/org/apache/savan/filters/XPathBasedFilter.java 
b/modules/core/src/main/java/org/apache/savan/filters/XPathBasedFilter.java
similarity index 100%
rename from src/main/java/org/apache/savan/filters/XPathBasedFilter.java
rename to 
modules/core/src/main/java/org/apache/savan/filters/XPathBasedFilter.java
diff --git 
a/src/main/java/org/apache/savan/messagereceiver/MessageReceiverDeligater.java 
b/modules/core/src/main/java/org/apache/savan/messagereceiver/MessageReceiverDeligater.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/messagereceiver/MessageReceiverDeligater.java
rename to 
modules/core/src/main/java/org/apache/savan/messagereceiver/MessageReceiverDeligater.java
diff --git 
a/src/main/java/org/apache/savan/messagereceiver/SavanInOnlyMessageReceiver.java
 
b/modules/core/src/main/java/org/apache/savan/messagereceiver/SavanInOnlyMessageReceiver.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/messagereceiver/SavanInOnlyMessageReceiver.java
rename to 
modules/core/src/main/java/org/apache/savan/messagereceiver/SavanInOnlyMessageReceiver.java
diff --git 
a/src/main/java/org/apache/savan/messagereceiver/SavanInOutMessageReceiver.java 
b/modules/core/src/main/java/org/apache/savan/messagereceiver/SavanInOutMessageReceiver.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/messagereceiver/SavanInOutMessageReceiver.java
rename to 
modules/core/src/main/java/org/apache/savan/messagereceiver/SavanInOutMessageReceiver.java
diff --git a/src/main/java/org/apache/savan/module/SavanModule.java 
b/modules/core/src/main/java/org/apache/savan/module/SavanModule.java
similarity index 100%
rename from src/main/java/org/apache/savan/module/SavanModule.java
rename to modules/core/src/main/java/org/apache/savan/module/SavanModule.java
diff --git a/src/main/java/org/apache/savan/publication/PublicationReport.java 
b/modules/core/src/main/java/org/apache/savan/publication/PublicationReport.java
similarity index 100%
rename from src/main/java/org/apache/savan/publication/PublicationReport.java
rename to 
modules/core/src/main/java/org/apache/savan/publication/PublicationReport.java
diff --git 
a/src/main/java/org/apache/savan/publication/client/PublicationClient.java 
b/modules/core/src/main/java/org/apache/savan/publication/client/PublicationClient.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/publication/client/PublicationClient.java
rename to 
modules/core/src/main/java/org/apache/savan/publication/client/PublicationClient.java
diff --git a/src/main/java/org/apache/savan/storage/DefaultSubscriberStore.java 
b/modules/core/src/main/java/org/apache/savan/storage/DefaultSubscriberStore.java
similarity index 100%
rename from src/main/java/org/apache/savan/storage/DefaultSubscriberStore.java
rename to 
modules/core/src/main/java/org/apache/savan/storage/DefaultSubscriberStore.java
diff --git a/src/main/java/org/apache/savan/storage/SubscriberStore.java 
b/modules/core/src/main/java/org/apache/savan/storage/SubscriberStore.java
similarity index 100%
rename from src/main/java/org/apache/savan/storage/SubscriberStore.java
rename to 
modules/core/src/main/java/org/apache/savan/storage/SubscriberStore.java
diff --git a/src/main/java/org/apache/savan/subscribers/Subscriber.java 
b/modules/core/src/main/java/org/apache/savan/subscribers/Subscriber.java
similarity index 100%
rename from src/main/java/org/apache/savan/subscribers/Subscriber.java
rename to 
modules/core/src/main/java/org/apache/savan/subscribers/Subscriber.java
diff --git a/src/main/java/org/apache/savan/subscribers/SubscriberGroup.java 
b/modules/core/src/main/java/org/apache/savan/subscribers/SubscriberGroup.java
similarity index 100%
rename from src/main/java/org/apache/savan/subscribers/SubscriberGroup.java
rename to 
modules/core/src/main/java/org/apache/savan/subscribers/SubscriberGroup.java
diff --git a/src/main/java/org/apache/savan/subscription/ExpirationBean.java 
b/modules/core/src/main/java/org/apache/savan/subscription/ExpirationBean.java
similarity index 100%
rename from src/main/java/org/apache/savan/subscription/ExpirationBean.java
rename to 
modules/core/src/main/java/org/apache/savan/subscription/ExpirationBean.java
diff --git a/src/main/java/org/apache/savan/subscription/RenewBean.java 
b/modules/core/src/main/java/org/apache/savan/subscription/RenewBean.java
similarity index 100%
rename from src/main/java/org/apache/savan/subscription/RenewBean.java
rename to 
modules/core/src/main/java/org/apache/savan/subscription/RenewBean.java
diff --git 
a/src/main/java/org/apache/savan/subscription/SubscriptionProcessor.java 
b/modules/core/src/main/java/org/apache/savan/subscription/SubscriptionProcessor.java
similarity index 100%
rename from 
src/main/java/org/apache/savan/subscription/SubscriptionProcessor.java
rename to 
modules/core/src/main/java/org/apache/savan/subscription/SubscriptionProcessor.java
diff --git a/src/main/java/org/apache/savan/util/CommonUtil.java 
b/modules/core/src/main/java/org/apache/savan/util/CommonUtil.java
similarity index 100%
rename from src/main/java/org/apache/savan/util/CommonUtil.java
rename to modules/core/src/main/java/org/apache/savan/util/CommonUtil.java
diff --git a/src/main/java/org/apache/savan/util/ProtocolManager.java 
b/modules/core/src/main/java/org/apache/savan/util/ProtocolManager.java
similarity index 100%
rename from src/main/java/org/apache/savan/util/ProtocolManager.java
rename to modules/core/src/main/java/org/apache/savan/util/ProtocolManager.java
diff --git a/src/main/java/org/apache/savan/util/UtilFactory.java 
b/modules/core/src/main/java/org/apache/savan/util/UtilFactory.java
similarity index 100%
rename from src/main/java/org/apache/savan/util/UtilFactory.java
rename to modules/core/src/main/java/org/apache/savan/util/UtilFactory.java
diff --git a/src/site/site.xml b/modules/core/src/site/site.xml
similarity index 100%
rename from src/site/site.xml
rename to modules/core/src/site/site.xml
diff --git a/src/site/xdoc/savan-tutorial.xml 
b/modules/core/src/site/xdoc/savan-tutorial.xml
similarity index 100%
rename from src/site/xdoc/savan-tutorial.xml
rename to modules/core/src/site/xdoc/savan-tutorial.xml
diff --git a/src/test/java/org/apache/axis2/savan/ConfigurationManagerTest.java 
b/modules/core/src/test/java/org/apache/axis2/savan/ConfigurationManagerTest.java
similarity index 100%
rename from src/test/java/org/apache/axis2/savan/ConfigurationManagerTest.java
rename to 
modules/core/src/test/java/org/apache/axis2/savan/ConfigurationManagerTest.java
diff --git 
a/src/test/java/org/apache/axis2/savan/EventingExpirationTypesTest.java 
b/modules/core/src/test/java/org/apache/axis2/savan/EventingExpirationTypesTest.java
similarity index 100%
rename from 
src/test/java/org/apache/axis2/savan/EventingExpirationTypesTest.java
rename to 
modules/core/src/test/java/org/apache/axis2/savan/EventingExpirationTypesTest.java
diff --git 
a/src/test/java/org/apache/axis2/savan/EventingSubscripitonProcessorTest.java 
b/modules/core/src/test/java/org/apache/axis2/savan/EventingSubscripitonProcessorTest.java
similarity index 100%
rename from 
src/test/java/org/apache/axis2/savan/EventingSubscripitonProcessorTest.java
rename to 
modules/core/src/test/java/org/apache/axis2/savan/EventingSubscripitonProcessorTest.java
diff --git a/src/test/java/org/apache/axis2/savan/XPathBasedFilterTest.java 
b/modules/core/src/test/java/org/apache/axis2/savan/XPathBasedFilterTest.java
similarity index 100%
rename from src/test/java/org/apache/axis2/savan/XPathBasedFilterTest.java
rename to 
modules/core/src/test/java/org/apache/axis2/savan/XPathBasedFilterTest.java
diff --git a/src/test/resources/eventing-renew-datetime.xml 
b/modules/core/src/test/resources/eventing-renew-datetime.xml
similarity index 100%
rename from src/test/resources/eventing-renew-datetime.xml
rename to modules/core/src/test/resources/eventing-renew-datetime.xml
diff --git a/src/test/resources/eventing-renew-duration.xml 
b/modules/core/src/test/resources/eventing-renew-duration.xml
similarity index 100%
rename from src/test/resources/eventing-renew-duration.xml
rename to modules/core/src/test/resources/eventing-renew-duration.xml
diff --git a/src/test/resources/eventing-subscription.xml 
b/modules/core/src/test/resources/eventing-subscription.xml
similarity index 100%
rename from src/test/resources/eventing-subscription.xml
rename to modules/core/src/test/resources/eventing-subscription.xml
diff --git a/src/test/resources/savan-config-test.xml 
b/modules/core/src/test/resources/savan-config-test.xml
similarity index 100%
rename from src/test/resources/savan-config-test.xml
rename to modules/core/src/test/resources/savan-config-test.xml
diff --git a/src/main/resources/META-INF/module.xml b/modules/mar/module.xml
similarity index 100%
rename from src/main/resources/META-INF/module.xml
rename to modules/mar/module.xml
diff --git a/modules/mar/pom.xml b/modules/mar/pom.xml
new file mode 100644
index 0000000..a8f1f32
--- /dev/null
+++ b/modules/mar/pom.xml
@@ -0,0 +1,83 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+    <parent>
+               <groupId>org.apache.ws.savan</groupId>
+               <artifactId>savan-parent</artifactId>
+        <version>SNAPSHOT</version>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.ws.savan</groupId>
+    <artifactId>savan</artifactId>
+    <packaging>mar</packaging>
+    <name>Savan - Mar</name>
+
+    <build>
+        <sourceDirectory>src/main/java</sourceDirectory>
+        <testSourceDirectory>src/main/java</testSourceDirectory>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+               
+        <plugins>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>1.1</version>
+                <executions>
+                    <execution>
+                        <id>create-test-resources</id>
+                        <phase>process-test-resources</phase>
+                        <configuration>
+                            <tasks>
+                                <!--copying classes from the core module-->
+                                <copydir src="../core/target/classes"
+                                      dest="target/classes"/>
+                            </tasks>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>          
+
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.4</source>
+                    <target>1.4</target>
+                </configuration>
+            </plugin>
+               
+                       <plugin>
+                       <groupId>org.apache.axis2</groupId>
+                       <artifactId>axis2-mar-maven-plugin</artifactId>
+                       <version>SNAPSHOT</version>
+                       <extensions>true</extensions>
+               
+                       <configuration>
+                                       
<includeDependencies>false</includeDependencies>
+                                       
<moduleXmlFile>module.xml</moduleXmlFile>
+                       </configuration>
+            </plugin> 
+        </plugins>
+
+    </build>
+    
+    <dependencies>
+       <dependency>
+            <groupId>org.apache.sandesha2</groupId>
+            <artifactId>sandesha2-core</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/modules/samples/eventing/build.xml 
b/modules/samples/eventing/build.xml
new file mode 100644
index 0000000..c20bf5b
--- /dev/null
+++ b/modules/samples/eventing/build.xml
@@ -0,0 +1,86 @@
+<project default="build.sample">
+
+    
+       <!--<classpath id="classpath1">
+               <pathelement location="lib/*.jar"/>
+       </classpath>-->
+       
+       <target name="build.sample">
+               <property name="eventing.temp.dir" value="build/temp" />
+           <property name="listner1.temp.dir" 
value="${eventing.temp.dir}/listner1" />
+           <property name="listner2.temp.dir" 
value="${eventing.temp.dir}/listner2" />
+           <property name="publisher.temp.dir" 
value="${eventing.temp.dir}/publisher" />
+               
+           <mkdir dir="${listner1.temp.dir}" />
+           <mkdir dir="${listner1.temp.dir}/META-INF" />
+           <mkdir dir="${listner2.temp.dir}" />
+           <mkdir dir="${listner2.temp.dir}/META-INF" />
+           <mkdir dir="${publisher.temp.dir}" />
+           <mkdir dir="${publisher.temp.dir}/META-INF" />
+
+           <mkdir dir="build/classes" />
+           <mkdir dir="build/lib" />
+               
+               <javac srcdir="src" destdir="build/classes">
+                       <classpath>
+                           <fileset dir="build/lib">
+                               <include name="*.jar"/>
+                           </fileset>
+                       </classpath>
+               </javac>
+               
+           <copy toFile="${listner1.temp.dir}/META-INF/services.xml" 
file="listner1.services.xml"/>
+           <copy toFile="${listner2.temp.dir}/META-INF/services.xml" 
file="listner2.services.xml"/>
+               <copy toFile="${publisher.temp.dir}/META-INF/services.xml" 
file="publisher.services.xml"/>
+               
+               <jar destfile="build/ListnerService1.aar">
+                   <fileset dir="build/classes">
+                       <include name="sample/eventing/**/**/*ListnerService1*" 
/>
+                   </fileset>
+                   <fileset dir="${listner1.temp.dir}">
+                       <include name="META-INF/**"/>
+                   </fileset>
+               </jar>
+               
+               <jar destfile="build/ListnerService2.aar">
+                   <fileset dir="build/classes">
+                       <include name="sample/eventing/**/**/*ListnerService2*" 
/>
+                   </fileset>
+                   <fileset dir="${listner2.temp.dir}">
+                       <include name="META-INF/**"/>
+                   </fileset>
+               </jar>
+               
+               <jar destfile="build/PublisherService.aar">
+                   <fileset dir="build/classes">
+                       <include 
name="sample/eventing/**/**/*PublisherService*" />
+                   </fileset>
+                   <fileset dir="${publisher.temp.dir}">
+                       <include name="META-INF/**"/>
+                   </fileset>
+               </jar>
+               
+               <jar destfile="build/ListnerService1.aar">
+                   <fileset dir="build/classes">
+                       <include name="sample/eventing/**/**/*ListnerService1*" 
/>
+                   </fileset>
+                   <fileset dir="${listner1.temp.dir}">
+                       <include name="META-INF/**"/>
+                   </fileset>
+               </jar>
+               
+               <jar destfile="build/EventingSample.jar">
+                   <fileset dir="build/classes">
+                       <include name="sample/eventing/**"/>
+                   </fileset>
+               </jar>
+               
+               <copy todir="build">
+                   <fileset dir=".">
+                        <include name="*.sh"/>
+                        <include name="*.bat"/>
+                       </fileset>
+               </copy>
+       </target>
+
+</project>
\ No newline at end of file
diff --git a/modules/samples/eventing/listner1.services.xml 
b/modules/samples/eventing/listner1.services.xml
new file mode 100644
index 0000000..cb050c5
--- /dev/null
+++ b/modules/samples/eventing/listner1.services.xml
@@ -0,0 +1,13 @@
+<service name="ListnerService1">
+
+   <parameter name="ServiceClass" 
locked="xsd:false">sample.eventing.ListnerService1</parameter>
+
+    <description>
+        The Listner Service 1 of the Axis2 Eventing sample.
+    </description>
+
+    <operation name="publish" mep="http://www.w3.org/2004/08/wsdl/in-only";>  
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver" />
+    </operation>
+           
+</service>
\ No newline at end of file
diff --git a/modules/samples/eventing/listner2.services.xml 
b/modules/samples/eventing/listner2.services.xml
new file mode 100644
index 0000000..0e5c9be
--- /dev/null
+++ b/modules/samples/eventing/listner2.services.xml
@@ -0,0 +1,13 @@
+<service name="ListnerService2">
+
+   <parameter name="ServiceClass" 
locked="xsd:false">sample.eventing.ListnerService2</parameter>
+
+    <description>
+        The Listner Service 2 of the Axis2 Eventing sample.
+    </description>
+
+    <operation name="publish" mep="http://www.w3.org/2004/08/wsdl/in-only";>  
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver" />
+    </operation>
+           
+</service>
\ No newline at end of file
diff --git a/modules/samples/eventing/publisher.services.xml 
b/modules/samples/eventing/publisher.services.xml
new file mode 100644
index 0000000..31f729a
--- /dev/null
+++ b/modules/samples/eventing/publisher.services.xml
@@ -0,0 +1,17 @@
+<service name="PublisherService">
+
+   <parameter name="ServiceClass" 
locked="xsd:false">sample.eventing.PublisherService</parameter>
+
+    <description>
+        The Publisher Service of the Axis2 Eventing sample.
+    </description>
+
+    <module ref="savan" />
+    <module ref="addressing" />
+             
+    <operation name="dummyMethod" 
mep="http://www.w3.org/2004/08/wsdl/in-only";>  
+        <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver" />
+               <actionMapping>uuid:DummyMethodAction</actionMapping>
+    </operation>
+           
+</service>
\ No newline at end of file
diff --git a/modules/samples/eventing/readme.txt 
b/modules/samples/eventing/readme.txt
new file mode 100644
index 0000000..396d0a4
--- /dev/null
+++ b/modules/samples/eventing/readme.txt
@@ -0,0 +1,19 @@
+Steps to build and run the Savan-Eventing sample
+------------------------------------------------
+
+To build
+--------
+
+1. Move to the sample folder.
+2. Create a subfolders 'build/lib'.
+3. Copy all the jars from a compatible Axis2 distribution to 'build/lib'.
+4. Copy the savan jar file to 'build/lib'.
+5. Run 'ant' to build the sample.
+
+
+To run
+------
+1. Start a Axis2 server.
+2. Deploy savan and addressing modules.
+3. Deploy the three services that were created in the 'build' folder.
+4. Run the 'samples.eventing.Client' class, you can pass the repository with a 
'-r' parameter and the server port with a '-p' parameter.
diff --git a/modules/samples/eventing/run.bat b/modules/samples/eventing/run.bat
new file mode 100644
index 0000000..65cd786
--- /dev/null
+++ b/modules/samples/eventing/run.bat
@@ -0,0 +1,40 @@
+@echo off
+rem ---------------------------------------------------------------------------
+rem Start script for running the Eventing Sample Client
+rem
+rem ---------------------------------------------------------------------------
+
+rem store the current directory
+set CURRENT_DIR=%cd%
+
+rem check the AXIS2_HOME environment variable
+if not "%AXIS2_HOME%" == "" goto gotHome
+
+rem guess the home. Jump two directories up and take that as the home
+cd ..
+cd ..
+set AXIS2_HOME=%cd%
+
+echo using Axis Home %AXIS2_HOME%
+
+
+:gotHome
+if EXIST "%AXIS2_HOME%\lib\axis2*.jar" goto okHome
+echo The AXIS2_HOME environment variable seems not to point to the correct 
loaction!
+echo This environment variable is needed to run this program
+pause
+goto end
+
+:okHome
+cd %CURRENT_DIR%
+
+setlocal EnableDelayedExpansion
+rem loop through the libs and add them to the class path
+set AXIS2_CLASS_PATH=%AXIS2_HOME%
+FOR %%c in (%AXIS2_HOME%\lib\*.jar) DO set 
AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
+
+set AXIS2_CLASS_PATH=%AXIS2_CLASS_PATH%;"%CURRENT_DIR%\EventingSample.jar"
+
+java -cp %AXIS2_CLASS_PATH% -Daxis2.repo=%AXIS2_HOME% sample.eventing.Client
+endlocal
+:end
\ No newline at end of file
diff --git a/modules/samples/eventing/run.sh b/modules/samples/eventing/run.sh
new file mode 100755
index 0000000..9436d88
--- /dev/null
+++ b/modules/samples/eventing/run.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+export AXIS2_HOME=../..
+AXIS2_CLASSPATH=$AXIS2_CLASSPATH:SGCCalculator.jar
+for f in $AXIS2_HOME/lib/*.jar
+do
+  AXIS2_CLASSPATH=$AXIS2_CLASSPATH:$f
+done
+export AXIS2_CLASSPATH
+echo classpath: $AXIS2_CLASSPATH
+
+java -classpath $AXIS2_CLASSPATH -Daxis2.repo=$AXIS2_HOME  
sample.sgccalculator.CalcClient
diff --git a/modules/samples/eventing/src/sample/eventing/Client.java 
b/modules/samples/eventing/src/sample/eventing/Client.java
new file mode 100644
index 0000000..e0365eb
--- /dev/null
+++ b/modules/samples/eventing/src/sample/eventing/Client.java
@@ -0,0 +1,293 @@
+/*
+ * 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 sample.eventing;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.Date;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.savan.eventing.client.EventingClient;
+import org.apache.savan.eventing.client.EventingClientBean;
+import org.apache.savan.eventing.client.SubscriptionStatus;
+
+public class Client {
+
+    BufferedReader reader = new BufferedReader(new 
InputStreamReader(System.in));
+    
+    private final int MIN_OPTION = 1;
+    private final int MAX_OPTION = 9;
+    
+    private final String SUBSCRIBER_1_ID = "subscriber1";
+    private final String SUBSCRIBER_2_ID = "subscriber2";
+    
+    private ServiceClient serviceClient = null;
+    private Options options = null;
+    private EventingClient eventingClient = null;
+    
+    private String toAddressPart = "/axis2/services/PublisherService";
+    private String listner1AddressPart = "/axis2/services/ListnerService1";
+    private String listner2AddressPart = "/axis2/services/ListnerService2";
+    
+       private final String applicationNamespaceName = "http://tempuri.org/";; 
+       private final String dummyMethod = "dummyMethod";
+    
+       private static String repo = null;
+       private static int port = 8080;
+       private static String serverIP = "127.0.0.1";
+       
+       private static final String portParam = "-p";
+       private static final String repoParam = "-r";
+       private static final String helpParam = "-h";
+       
+       public static void main (String[] args) throws Exception {
+               
+               for (int i=0;i<args.length;i++) {
+                       if (helpParam.equalsIgnoreCase(args[i])) {
+                               displayHelp ();
+                               System.exit(0);
+                       }
+               }
+               
+               String portStr = getParam(portParam,args);
+               if (portStr!=null) {
+                       port = Integer.parseInt(portStr);
+                       System.out.println("Server Port was set to:" + port);
+               }
+               
+               String repoStr = getParam(repoParam,args);
+               if (repoStr!=null) {
+                       repo = repoStr;
+                       System.out.println("Client Repository was set to:" + 
repo);
+               }
+               
+               Client c = new Client ();
+               c.run ();
+       }
+       
+       private static void displayHelp () {
+               System.out.println("Help page for the Eventing Client");
+               System.out.println("---------------------------------");
+               System.out.println("Set the client reposiory using the 
parameter -r");
+               System.out.println("Set the server port using the parameter 
-p");
+       }
+       
+    /**
+     * This will check the given parameter in the array and will return, if 
available
+     *
+     * @param param
+     * @param args
+     * @return
+     */
+    private static String getParam(String param, String[] args) {
+        if (param == null || "".equals(param)) {
+            return null;
+        }
+
+        for (int i = 0; i < args.length; i = i + 2) {
+            String arg = args[i];
+            if (param.equalsIgnoreCase(arg) && (args.length >= (i + 1))) {
+                return args[i + 1];
+            }
+        }
+        return null;
+    }
+       
+       public void run () throws Exception {
+               
+               System.out.println("\n");
+               System.out.println("Welcome to Axis2 Eventing Sample");
+               System.out.println("================================\n");
+               
+               boolean validOptionSelected = false;
+               int selectedOption = -1;
+               while (!validOptionSelected) {
+                       displayMenu();
+                       selectedOption = getIntInput();
+                       if (selectedOption>=MIN_OPTION && 
selectedOption<=MAX_OPTION)
+                               validOptionSelected = true;
+                       else 
+                               System.out.println("\nInvalid Option \n\n");
+               }
+                       
+               initClient ();
+               performAction (selectedOption);
+               
+               //TODO publish
+               
+               System.out.println("Press enter to initialize the publisher 
service.");
+               reader.readLine();
+               
+               options.setAction("uuid:DummyMethodAction");
+               serviceClient.fireAndForget(getDummyMethodRequestElement ());
+               
+               while (true) {
+                       
+                       validOptionSelected = false;
+                       selectedOption = -1;
+                       while (!validOptionSelected) {
+                               displayMenu();
+                               selectedOption = getIntInput();
+                               if (selectedOption>=MIN_OPTION && 
selectedOption<=MAX_OPTION)
+                                       validOptionSelected = true;
+                               else 
+                                       System.out.println("\nInvalid Option 
\n\n");
+                       }
+                               
+                       performAction (selectedOption);
+                       
+               }
+       }
+       
+       private void displayMenu () {
+               System.out.println("Press 1 to subscribe Listner Service 1");
+               System.out.println("Press 2 to subscribe Listner Service 2");
+               System.out.println("Press 3 to subscribe both listner 
services");
+               System.out.println("Press 4 to unsubscribe Listner Service 1");
+               System.out.println("Press 5 to unsubscribe Listner Service 2");
+               System.out.println("Press 6 to unsubscribe both listner 
services");
+               System.out.println("Press 7 to to get the status of the 
subscription to Service 1");
+               System.out.println("Press 8 to to get the status of the 
subscription to Service 2");
+               System.out.println("Press 9 to Exit");
+       }
+       
+       private int getIntInput () throws IOException {
+        String option = reader.readLine();
+        try {
+            return Integer.parseInt(option);
+        } catch (NumberFormatException e) {
+               //invalid option
+               return -1;
+        }
+       }
+       
+       private void initClient () throws AxisFault {
+
+               String CLIENT_REPO = null;
+               String AXIS2_XML = null;
+               
+               if (repo!=null) {
+                       CLIENT_REPO = repo;
+                       AXIS2_XML = repo + File.separator + "axis2.xml";
+               } else {
+//                     throw new AxisFault ("Please specify the client 
repository as a program argument.Use '-h' for help.");
+               }
+               
+               ConfigurationContext configContext = 
ConfigurationContextFactory.createConfigurationContextFromFileSystem(CLIENT_REPO,null);
+               serviceClient = new ServiceClient (configContext,null); //TODO 
give a repo
+               
+               options = new Options ();
+               serviceClient.setOptions(options);
+               serviceClient.engageModule(new QName ("addressing"));
+               
+               eventingClient = new EventingClient (serviceClient);
+               
+               String toAddress = "http://"; + serverIP + ":" + port + 
toAddressPart;
+               options.setTo(new EndpointReference (toAddress));
+       }
+       
+       private void performAction (int action) throws Exception {
+               
+               switch (action) {
+               case 1:
+                       doSubscribe(SUBSCRIBER_1_ID);
+                       break;
+               case 2:
+                       doSubscribe(SUBSCRIBER_2_ID);
+                       break;
+               case 3:
+                       doSubscribe(SUBSCRIBER_1_ID);
+                       doSubscribe(SUBSCRIBER_2_ID);
+                       break;
+               case 4:
+                       doUnsubscribe(SUBSCRIBER_1_ID);
+                       break;
+               case 5:
+                       doUnsubscribe(SUBSCRIBER_2_ID);
+                       break;
+               case 6:
+                       doUnsubscribe(SUBSCRIBER_1_ID);
+                       doUnsubscribe(SUBSCRIBER_2_ID);
+                       break;
+               case 7:
+                       doGetStatus(SUBSCRIBER_1_ID);
+                       break;
+               case 8:
+                       doGetStatus(SUBSCRIBER_2_ID);
+                       break;
+               case 9:
+                       System.exit(0);
+                       break;
+               default:
+                       break;
+               }
+       }
+       
+       private void doSubscribe (String ID) throws Exception {
+               EventingClientBean bean = new EventingClientBean ();
+               
+               String subscribingAddress = null;
+               if (SUBSCRIBER_1_ID.equals(ID)) {
+            subscribingAddress = "http://"; + serverIP + ":" + port + 
listner1AddressPart;
+               } else if (SUBSCRIBER_2_ID.equals(ID)) {
+            subscribingAddress = "http://"; + serverIP + ":" + port + 
listner2AddressPart;
+               }
+       
+               bean.setDeliveryEPR(new EndpointReference (subscribingAddress));
+       
+               //uncomment following to set an expiration time of 10 minutes.
+//             Date date = new Date ();
+//             date.setMinutes(date.getMinutes()+10);
+//             bean.setExpirationTime(date);
+               
+               eventingClient.subscribe(bean,ID);
+               Thread.sleep(1000);   //TODO remove if not sequired
+       }
+       
+       private void doUnsubscribe (String ID) throws Exception {
+               eventingClient.unsubscribe(ID);
+               Thread.sleep(1000);   //TODO remove if not sequired
+       }
+       
+       private void doGetStatus (String ID) throws Exception {
+               SubscriptionStatus status  = 
eventingClient.getSubscriptionStatus(ID);
+               Thread.sleep(1000);   //TODO remove if not sequired
+               
+               String statusValue = status.getExpirationValue();
+               System.out.println("Status of the subscriber '" + ID +"' is" + 
statusValue);
+       }
+       
+       private OMElement getDummyMethodRequestElement() {
+               OMFactory fac = OMAbstractFactory.getOMFactory();
+               OMNamespace namespace = 
fac.createOMNamespace(applicationNamespaceName,"ns1");
+               return fac.createOMElement(dummyMethod, namespace);
+       }
+       
+}
diff --git a/src/main/java/org/apache/savan/configuration/SubscriberBean.java 
b/modules/samples/eventing/src/sample/eventing/ListnerService1.java
similarity index 65%
copy from src/main/java/org/apache/savan/configuration/SubscriberBean.java
copy to modules/samples/eventing/src/sample/eventing/ListnerService1.java
index cad25d0..5ac7c4b 100644
--- a/src/main/java/org/apache/savan/configuration/SubscriberBean.java
+++ b/modules/samples/eventing/src/sample/eventing/ListnerService1.java
@@ -14,26 +14,19 @@
  * limitations under the License.
  */
 
-package org.apache.savan.configuration;
+package sample.eventing;
 
-public class SubscriberBean {
-       
-       String name;
-       String clazz;
+import org.apache.axiom.om.OMElement;
+
+public class ListnerService1 {
        
-       public String getClazz() {
-               return clazz;
-       }
-       public String getName() {
-               return name;
-       }
+       String name = "ListnerService1";
 
-       public void setClazz(String clazz) {
-               this.clazz = clazz;
+       public void publish(OMElement param) throws Exception {
+               System.out.println("\n");
+               System.out.println("'" + name + "' got a new publication...");
+               System.out.println(param);
+               System.out.println("\n");
        }
-       public void setName(String name) {
-               this.name = name;
-       }
-       
-       
+
 }
diff --git a/src/main/java/org/apache/savan/configuration/SubscriberBean.java 
b/modules/samples/eventing/src/sample/eventing/ListnerService2.java
similarity index 64%
rename from src/main/java/org/apache/savan/configuration/SubscriberBean.java
rename to modules/samples/eventing/src/sample/eventing/ListnerService2.java
index cad25d0..d2b7657 100644
--- a/src/main/java/org/apache/savan/configuration/SubscriberBean.java
+++ b/modules/samples/eventing/src/sample/eventing/ListnerService2.java
@@ -14,26 +14,19 @@
  * limitations under the License.
  */
 
-package org.apache.savan.configuration;
+package sample.eventing;
 
-public class SubscriberBean {
-       
-       String name;
-       String clazz;
-       
-       public String getClazz() {
-               return clazz;
-       }
-       public String getName() {
-               return name;
-       }
+import org.apache.axiom.om.OMElement;
 
-       public void setClazz(String clazz) {
-               this.clazz = clazz;
+public class ListnerService2 {
+  
+       String name = "ListnerService2";
+  
+       public void publish(OMElement param) throws Exception  {
+               System.out.println("\n");
+               System.out.println("'" + name +  "' got a new publication...");
+               System.out.println(param);
+               System.out.println("\n");
        }
-       public void setName(String name) {
-               this.name = name;
-       }
-       
-       
+
 }
diff --git a/modules/samples/eventing/src/sample/eventing/PublisherService.java 
b/modules/samples/eventing/src/sample/eventing/PublisherService.java
new file mode 100644
index 0000000..6eacefb
--- /dev/null
+++ b/modules/samples/eventing/src/sample/eventing/PublisherService.java
@@ -0,0 +1,93 @@
+/*
+ * 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 sample.eventing;
+
+import java.net.URI;
+import java.util.Random;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.savan.publication.client.PublicationClient;
+import org.apache.savan.storage.SubscriberStore;
+import org.apache.savan.util.CommonUtil;
+
+public class PublisherService {
+  
+       ServiceContext serviceContext = null;
+       
+       public void init(ServiceContext serviceContext) throws AxisFault {
+               System.out.println("Eventing Service INIT called");
+               this.serviceContext = serviceContext;
+               
+               PublisherThread thread = new PublisherThread ();
+               thread.start();
+       }
+  
+       public void dummyMethod(OMElement param) throws Exception  {
+               System.out.println("Eventing Service dummy method called");
+       }
+       
+       private class PublisherThread extends Thread {
+               
+               String Publication = "Publication";
+               String publicationNamespaceValue = 
"http://tempuri/publication/";;
+               Random r = new Random ();
+               
+               public void run () {
+                       try {
+                               while (true) {
+                                       
+                                       Thread.sleep(5000);
+                                       
+                                       //publishing
+                                       System.out.println("Publishing next 
publication...");
+                                       
+                                       SubscriberStore store = 
CommonUtil.getSubscriberStore(serviceContext.getAxisService());
+                                       if (store==null)
+                                               throw new Exception ("Cant find 
the Savan subscriber store");
+                                       
+                                       OMElement data = getNextPublicationData 
();
+                                       
+                                       PublicationClient publicationClient = 
new PublicationClient (serviceContext.getConfigurationContext());
+                                       
publicationClient.sendPublication(data,serviceContext.getAxisService(),null);
+                               }
+                       } catch (Exception e) {
+                               // TODO Auto-generated catch block
+                               e.printStackTrace();
+                       }
+               }
+               
+               public OMElement getNextPublicationData () {
+                       OMFactory factory = OMAbstractFactory.getOMFactory();
+                       OMNamespace namespace = 
factory.createOMNamespace(publicationNamespaceValue,"ns1");
+                       OMElement publicationElement = 
factory.createOMElement(Publication,namespace);
+                       
+                       int value = r.nextInt();
+                       publicationElement.setText(Integer.toString(value));
+                       
+                       OMElement data = 
factory.createOMElement("publish",namespace);
+                       data.addChild(publicationElement);
+                       
+                       
+                       return data;
+               }
+       }
+}
diff --git a/pom.xml b/pom.xml
index b55550a..6faa6e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,10 +3,10 @@
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
        
-       <groupId>org.apache.savan</groupId>
+       <groupId>org.apache.ws.savan</groupId>
        <modelVersion>4.0.0</modelVersion>
-       <artifactId>savan</artifactId>
-       <packaging>jar</packaging>
+       <artifactId>savan-parent</artifactId>
+       <packaging>pom</packaging>
        <version>SNAPSHOT</version>
        
        <name>Apache Savan</name>
@@ -103,6 +103,7 @@
                                <artifactId>maven-surefire-plugin</artifactId>
                                <version>2.2</version>
                        </plugin>
+                       <!--
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-antrun-plugin</artifactId>
@@ -145,6 +146,7 @@
                                        </execution>
                                </executions>
                        </plugin>
+                       -->
                </plugins>
        </build>
        
@@ -225,6 +227,14 @@
        
        </distributionManagement>
        
+       <modules>
+               <module>modules/core</module>
+               <module>modules/mar</module>
+       <!-- <module>modules/samples</module> -->
+<!--   <module>modules/eventing-client</module>
+               <module>modules/distribution</module>-->
+       </modules>
+       
        <properties>
                <axis2.version>1.2</axis2.version>
                <savan.version>SNAPSHOT</savan.version>

Reply via email to