You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2007/04/23 11:55:16 UTC

svn commit: r531400 [1/18] - in /webservices/sandesha/trunk/java/modules: client/ core/ core/src/ core/src/main/ core/src/main/java/ core/src/main/java/org/ core/src/main/java/org/apache/ core/src/main/java/org/apache/sandesha2/ core/src/main/java/org/...

Author: chamikara
Date: Mon Apr 23 02:54:53 2007
New Revision: 531400

URL: http://svn.apache.org/viewvc?view=rev&rev=531400
Log:
patch for - Sandesha2 86

Added:
    webservices/sandesha/trunk/java/modules/client/pom.xml
    webservices/sandesha/trunk/java/modules/core/pom.xml
    webservices/sandesha/trunk/java/modules/core/src/
    webservices/sandesha/trunk/java/modules/core/src/main/
    webservices/sandesha/trunk/java/modules/core/src/main/java/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/FaultData.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/MessageValidator.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaException.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaClient.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaClientConstants.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaListener.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaReport.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SequenceReport.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/handlers/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/handlers/SandeshaInHandler.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/handlers/SandeshaOutHandler.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/SandeshaMessageHelper.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MessagePendingProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MsgProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MsgProcessorFactory.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgreceivers/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/policy/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/policy/RMPolicyExtension.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/policy/SandeshaPolicyBean.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/policy/builders/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RMAssertionBuilder.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/polling/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/polling/PollingManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/SecurityManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/SecurityToken.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/dummy/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/dummy/DummySecurityManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/rampart/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/rampart/RampartBasedSecurityManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/security/rampart/RampartSecurityToken.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/SandeshaStorageException.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/StorageManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/Transaction.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beanmanagers/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beanmanagers/RMBeanManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beanmanagers/RMDBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beanmanagers/RMSBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beans/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beans/InvokerBean.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beans/RMBean.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beans/RMDBean.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beans/RMSBean.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beans/RMSequenceBean.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/beans/SenderBean.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMDBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMSBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryStorageManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/transport/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/transport/Sandesha2TransportOutDesc.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/transport/Sandesha2TransportSender.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/AcknowledgementManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MsgInitializer.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/PropertyManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/Range.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RangeString.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SOAPAbstractFactory.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SOAPFaultEnvelopeCreator.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SequenceManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SpecSpecificConstants.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/TerminateManager.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/WSRMMessageSender.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/Invoker.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/InvokerWorker.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SandeshaThread.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SandeshaWorker.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/Sender.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SequenceEntry.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/WorkerLock.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/Accept.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/AckFinal.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/AckNone.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/AckRequested.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/AcknowledgementRange.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/AcksTo.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/Address.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/CloseSequence.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/CloseSequenceResponse.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/CreateSequence.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/Endpoint.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/Expires.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/FaultCode.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/IOMRMElement.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/IOMRMPart.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/Identifier.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/LastMessage.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MakeConnection.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MessageNumber.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MessagePending.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/Nack.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/RMElements.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/Sequence.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceAcknowledgement.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceFault.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/SequenceOffer.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/TerminateSequence.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/TerminateSequenceResponse.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/UsesSequenceSTR.java
    webservices/sandesha/trunk/java/modules/core/src/main/resources/
    webservices/sandesha/trunk/java/modules/core/src/main/resources/org/
    webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/
    webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/
    webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/i18n/
    webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/i18n/resource.properties
    webservices/sandesha/trunk/java/modules/interop/pom.xml
    webservices/sandesha/trunk/java/modules/mar/module.xml
    webservices/sandesha/trunk/java/modules/mar/pom.xml
    webservices/sandesha/trunk/java/modules/policy/pom.xml
    webservices/sandesha/trunk/java/modules/policy/src/
    webservices/sandesha/trunk/java/modules/policy/src/main/
    webservices/sandesha/trunk/java/modules/policy/src/main/resources/
    webservices/sandesha/trunk/java/modules/policy/src/main/resources/META-INF/
    webservices/sandesha/trunk/java/modules/policy/src/main/resources/META-INF/services/
    webservices/sandesha/trunk/java/modules/policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
    webservices/sandesha/trunk/java/modules/samples/conf/
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/AsyncEchoClient.bat
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/AsyncEchoClient.sh
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/AsyncPingClient.bat
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/AsyncPingClient.sh
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/SyncEchoClient.bat
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/SyncEchoClient.sh
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/SyncPingClient.bat
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/SyncPingClient.sh
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/services.xml
    webservices/sandesha/trunk/java/modules/samples/conf/userguide/userguide_sample.html
    webservices/sandesha/trunk/java/modules/samples/src/
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/simpleServer/
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/simpleServer/SimpleSandesha2Server.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/AnonEchoClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/AsyncEchoBlockingClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/AsyncEchoClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/AsyncEchoWithPollingClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/AsyncPingClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/MTOMPingClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/RMSampleService.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/SyncEchoClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/SyncPingClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/UserguideEchoClient.java
    webservices/sandesha/trunk/java/modules/samples/src/sandesha2/samples/userguide/UserguidePingClient.java
    webservices/sandesha/trunk/java/modules/tests/src/
    webservices/sandesha/trunk/java/modules/tests/src/org/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/MessageContextPropertyTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/MessageRetransmissionTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/PropertyLoaderTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaClientAckRequestWaitTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaClientCloseWaitTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaClientLastErrorTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaClientTerminateWaitTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaClientTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaReportsTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaTestCase.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SandeshaUtilTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/SquenceOfferTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedInboundFaultTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/FaultTestUtils.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/MessageNumberRolloverFaultTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/SequenceClosedFaultTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/SequenceTerminatedFaultTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/SequenceTimedOutTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/faulttests/UnknownSequenceFaultTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/mtom/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/mtom/MTOMRMTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/scenarios/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/scenarios/OptionalReliabilityTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/scenarios/RMScenariosTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/scenarios/SerializableScenariosTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/security/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/security/SecurityScenariosTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/security/SecurityTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/security/UnitTestSecurityManager.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/security/UnitTestSecurityToken.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/storage/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/storage/InvokerBeanMgrTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/storage/RMDBeanMgrTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/storage/RMSBeanMgrTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/storage/SenderBeanMgrTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/utils/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/utils/RangeStringTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/versions/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/versions/AddressingVersionTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/versions/RMVersionTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/versions/SOAPVersionTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/workers/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/workers/ForceInboundDispatchTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/AckRequestedTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/CloseSequenceResponseTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/CloseSequenceTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/CreateSequenceResponseTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/CreateSequenceTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/MakeConnectionTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/MessagePendingTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/SequenceTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/TerminateSequenceResponseTest.java
    webservices/sandesha/trunk/java/modules/tests/src/org/apache/sandesha2/wsrm/TerminateSequenceTest.java
    webservices/sandesha/trunk/java/modules/tests/test-resources/
    webservices/sandesha/trunk/java/modules/tests/test-resources/AckRequested.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/CreateSequence.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/CreateSequenceResponse.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/MakeConnection.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/MessagePending.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/Sequence.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/SequenceAcknowledgement.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/TerminateSequence.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/client_mtom_axis2.xml
    webservices/sandesha/trunk/java/modules/tests/test-resources/sandesha2-test.properties
    webservices/sandesha/trunk/java/modules/tests/test-resources/sandesha2.properties
    webservices/sandesha/trunk/java/modules/tests/test-resources/server_mtom_axis2.xml

Added: webservices/sandesha/trunk/java/modules/client/pom.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/client/pom.xml?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/client/pom.xml (added)
+++ webservices/sandesha/trunk/java/modules/client/pom.xml Mon Apr 23 02:54:53 2007
@@ -0,0 +1,85 @@
+<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.sandesha2</groupId>
+	<artifactId>sandesha2</artifactId>
+        <version>SNAPSHOT</version>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.sandesha2</groupId>
+    <artifactId>sandesha2-client</artifactId>
+    <packaging>jar</packaging>
+    <version>SNAPSHOT</version>
+    <name>Sandesha - client</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>
+
+
+                                <!--copy sandesha client classes from core module-->
+                                <copy overwrite="yes"
+                                      file="../core/target/classes/org/apache/sandesha2/client/SandeshaClientConstants.class"
+                                      tofile="target/classes/org/apache/sandesha2/client/SandeshaClientConstants.class"/>
+                                <copy overwrite="yes"
+                                      file="../core/target/classes/org/apache/sandesha2/client/SandeshaListener.class"
+                                      tofile="target/classes/org/apache/sandesha2/client/SandeshaListener.class"/>
+                                <copy overwrite="yes"
+                                      file="../core/target/classes/org/apache/sandesha2/client/SequenceReport.class"
+                                      tofile="target/classes/org/apache/sandesha2/client/SequenceReport.class"/>
+
+                                
+
+                            </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>
+
+           </plugins>
+
+    </build>
+    
+    <dependencies>
+    	<dependency>
+            <groupId>org.apache.sandesha2</groupId>
+            <artifactId>sandesha2-core</artifactId>
+            <version>SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+</project>

Added: webservices/sandesha/trunk/java/modules/core/pom.xml
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/pom.xml?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/pom.xml (added)
+++ webservices/sandesha/trunk/java/modules/core/pom.xml Mon Apr 23 02:54:53 2007
@@ -0,0 +1,38 @@
+<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.sandesha2</groupId>
+	<artifactId>sandesha2</artifactId>
+        <version>SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.sandesha2</groupId>
+    <artifactId>sandesha2-core</artifactId>
+    <packaging>jar</packaging>
+    <version>SNAPSHOT</version>
+    <name>Sandesha - Core</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-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.4</source>
+                    <target>1.4</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

Added: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/FaultData.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/FaultData.java?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/FaultData.java (added)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/FaultData.java Mon Apr 23 02:54:53 2007
@@ -0,0 +1,122 @@
+/*
+ * Copyright  1999-2004 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.sandesha2;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+
+/**
+ * Used to hold data related to a RM Fault.
+ * 
+ */
+
+public class FaultData {
+
+	private int type;
+
+	private String code;
+
+	private QName subcode;
+
+	private String reason;
+
+	private OMElement detail;
+	
+	private OMElement detail2;
+
+	private String detailString;
+
+	private String sequenceId;
+	
+	private String exceptionString;
+
+
+	public OMElement getDetail() {
+		return detail;
+	}
+
+	public void setDetail(OMElement detail) {
+		this.detail = detail;
+	}
+
+	public void setDetail2(OMElement detail2) {
+		this.detail2 = detail2;
+  }
+
+	public OMElement getDetail2() {
+		return detail2;
+	}
+	
+	public String getReason() {
+		return reason;
+	}
+
+	public void setReason(String reason) {
+		this.reason = reason;
+	}
+
+	public QName getSubcode() {
+		return subcode;
+	}
+
+	public void setSubcode(QName subcode) {
+		this.subcode = subcode;
+	}
+
+	public int getType() {
+		return type;
+	}
+
+	public void setType(int type) {
+		this.type = type;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getSequenceId() {
+		return sequenceId;
+	}
+
+	public void setSequenceId(String sequenceId) {
+		this.sequenceId = sequenceId;
+	}
+
+	public String getDetailString() {
+  	return detailString;
+  }
+
+	public void setDetailString(String detailString) {
+  	this.detailString = detailString;
+  }
+
+	public String getExceptionString() {
+  	return exceptionString;
+  }
+
+	public void setExceptionString(String exceptionString) {
+  	this.exceptionString = exceptionString;
+  }
+
+}

Added: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/MessageValidator.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/MessageValidator.java?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/MessageValidator.java (added)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/MessageValidator.java Mon Apr 23 02:54:53 2007
@@ -0,0 +1,94 @@
+/*
+ * Copyright 1999-2004 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.sandesha2;
+
+import org.apache.sandesha2.i18n.SandeshaMessageHelper;
+import org.apache.sandesha2.i18n.SandeshaMessageKeys;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.beans.RMDBean;
+import org.apache.sandesha2.storage.beans.RMSBean;
+import org.apache.sandesha2.util.SandeshaUtil;
+import org.apache.sandesha2.util.SpecSpecificConstants;
+
+/**
+ * Used to validate RM messages. This include both application messages and RM
+ * control messages.
+ */
+public class MessageValidator {
+
+	public static void validateMessage(RMMsgContext rmMsg,
+			StorageManager storageManager) throws SandeshaException {
+
+		int type = rmMsg.getMessageType();
+		if (type != Sandesha2Constants.MessageTypes.CREATE_SEQ	&& type != Sandesha2Constants.MessageTypes.UNKNOWN) {
+
+			String sequenceID = SandeshaUtil.getSequenceIDFromRMMessage(rmMsg);
+
+			if (sequenceID != null) {
+				String rmVersionOfSequence = null;
+
+				RMSBean rmsBean = SandeshaUtil.getRMSBeanFromSequenceId(
+						storageManager, sequenceID);
+				if (rmsBean != null)
+					rmVersionOfSequence = rmsBean.getRMVersion();
+				else {
+					RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(
+							storageManager, sequenceID);
+					if (rmdBean != null)
+						rmVersionOfSequence = rmdBean.getRMVersion();
+				}
+
+				String rmNamespaceOfMsg = rmMsg.getRMNamespaceValue();
+				String rmNamespaceOfSequence = null;
+				if (rmVersionOfSequence != null)
+					rmNamespaceOfSequence = SpecSpecificConstants
+							.getRMNamespaceValue(rmVersionOfSequence);
+
+				if (rmNamespaceOfSequence != null
+						&& !rmNamespaceOfSequence.equals(rmNamespaceOfMsg)) {
+					String message = SandeshaMessageHelper
+							.getMessage(
+									SandeshaMessageKeys.rmNamespaceNotMatchSequence,
+									rmNamespaceOfMsg, rmNamespaceOfSequence,
+									sequenceID);
+					throw new SandeshaException(message);
+				}
+
+			}
+		} else if (type == Sandesha2Constants.MessageTypes.UNKNOWN) {
+
+			// checking if policies hv been set to enforceRM.
+			// If this is set and this message is not an RM message, validation
+			// will fail here.
+
+			SandeshaPolicyBean propertyBean = SandeshaUtil
+					.getPropertyBean(rmMsg.getMessageContext()
+							.getAxisOperation());
+			if (propertyBean.isEnforceRM()) {
+				String message = SandeshaMessageHelper.getMessage(
+						SandeshaMessageKeys.rmEnforceFailure, rmMsg
+								.getMessageId());
+				throw new SandeshaException(message);
+			}
+		}
+
+		// TODO do validation based on states
+		
+	}
+}

Added: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java (added)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/RMMsgContext.java Mon Apr 23 02:54:53 2007
@@ -0,0 +1,336 @@
+/*
+ * Copyright  1999-2004 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.sandesha2;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+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.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.sandesha2.client.SandeshaClientConstants;
+import org.apache.sandesha2.util.SOAPAbstractFactory;
+import org.apache.sandesha2.wsrm.IOMRMPart;
+
+/**
+ * This class is used to hold a MessageContext within Sandesha. This is used to
+ * easily manupilate the properties of a MessageContext.
+ */
+
+public class RMMsgContext {
+
+	private MessageContext msgContext;
+
+	private HashMap rmMessageParts;
+
+	private int messageType;
+
+	private String rmNamespaceValue = null;
+	
+	private String rmSpecVersion = null;
+	
+	public RMMsgContext() {
+		rmMessageParts = new HashMap();
+		messageType = Sandesha2Constants.MessageTypes.UNKNOWN;
+	}
+
+	public void setMessageContext(MessageContext msgCtx) {
+		this.msgContext = msgCtx;
+	}
+
+	public RMMsgContext(MessageContext ctx) {
+		this();
+		this.msgContext = ctx;
+	}
+
+	/**
+	 * To add a new SOAP envelope to the message. The generated envelope will belong 
+	 * to the SOAP version of the MessageContext.
+	 * 
+	 * @throws SandeshaException
+	 */
+	public void addSOAPEnvelope() throws AxisFault {
+		int SOAPVersion = Sandesha2Constants.SOAPVersion.v1_1;
+
+		if (!msgContext.isSOAP11())
+			SOAPVersion = Sandesha2Constants.SOAPVersion.v1_2;
+
+		if (msgContext.getEnvelope() == null) {
+			try {
+				msgContext.setEnvelope(SOAPAbstractFactory.getSOAPFactory(
+						SOAPVersion).getDefaultEnvelope());
+			} catch (AxisFault e) {
+				throw new SandeshaException(e.getMessage());
+			}
+		}
+
+		SOAPEnvelope envelope = msgContext.getEnvelope();
+		Iterator keys = rmMessageParts.keySet().iterator();
+		while (keys.hasNext()) {
+			Integer key = (Integer) keys.next();
+			int partId = key.intValue();
+			
+			if (isMultiPart(partId)) {
+				for (Iterator it=getMessageParts(partId);it.hasNext();) {
+					IOMRMPart rmPart = (IOMRMPart) it.next();
+					rmPart.toSOAPEnvelope(envelope);
+				}
+			} else {
+				IOMRMPart rmPart = (IOMRMPart) rmMessageParts.get(key);
+				rmPart.toSOAPEnvelope(envelope);
+			}
+		}
+	}
+
+	public int getMessageType() {
+		return messageType;
+	}
+	
+	
+	/**
+	 * The message type can be used to easily identify what this message is.
+	 * Possible message types are given in the Constnts.MessageTypes interface.
+	 * 
+	 * @param msgType
+	 */
+	public void setMessageType(int msgType) {
+		if (msgType >= 0 && msgType <= Sandesha2Constants.MessageTypes.MAX_MESSAGE_TYPE)
+			this.messageType = msgType;
+	}
+
+	
+	/**
+	 * Sets an IRMPart object to the MessageContext. Possible parts are give in the 
+	 * 
+	 * 
+	 * @param partId
+	 * @param part
+	 */
+	public void setMessagePart(int partId, IOMRMPart part) {
+		if (partId >= 0 && partId <= Sandesha2Constants.MessageParts.MAX_MSG_PART_ID) {
+			if (isMultiPart(partId)) {
+				ArrayList partList = (ArrayList) rmMessageParts.get(new Integer (partId));
+				if (partList==null) {
+					partList = new ArrayList ();
+					rmMessageParts.put(new Integer (partId),partList);
+				}
+				partList.add(part);
+			} else {
+				rmMessageParts.put(new Integer(partId), part); 
+			}
+		}
+	}
+	
+
+	public IOMRMPart getMessagePart(int partId) throws SandeshaException {
+		if (isMultiPart(partId)) {
+			String message = "It is possible for a multiple MessageParts of this type to exit. Please call the 'getMessageParts' method";
+			throw new SandeshaException (message);
+		}
+		
+		return (IOMRMPart) rmMessageParts.get(new Integer(partId));
+	}
+	
+	public Iterator getMessageParts (int partId) {
+		Object obj = rmMessageParts.get(new Integer (partId));
+		if (obj==null)
+			return new ArrayList().iterator();
+		
+		if (obj instanceof ArrayList) {
+			return ((ArrayList) obj).iterator();
+		} else {
+			ArrayList arr = new ArrayList ();
+			arr.add(obj);
+			return arr.iterator();
+		}
+	}
+	
+	public void removeMessageParts (int messageType) {
+		rmMessageParts.remove (new Integer (messageType));
+	}
+	
+	//checks weather there can be multiple elements of these parts,
+	//if so getMessageParts method has to be called to get a ArrayList of parts..
+	public boolean isMultiPart (int messagePartId) {
+		if (messagePartId==Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT||
+			messagePartId==Sandesha2Constants.MessageParts.ACK_REQUEST)
+			return true;
+		
+		return false;
+	}
+
+	public EndpointReference getFrom() {
+		return msgContext.getFrom();
+	}
+
+	public EndpointReference getTo() {
+		return msgContext.getTo();
+	}
+
+	public EndpointReference getReplyTo() {
+		return msgContext.getReplyTo();
+	}
+
+	public RelatesTo getRelatesTo() {
+		return msgContext.getRelatesTo();
+	}
+
+	public String getMessageId() {
+		return msgContext.getMessageID();
+	}
+
+	public void setFaultTo(EndpointReference epr) {
+		msgContext.setFaultTo(epr);
+	}
+
+	public EndpointReference getFaultTo() {
+		return msgContext.getFaultTo();
+	}
+
+	public SOAPEnvelope getSOAPEnvelope() {
+		return msgContext.getEnvelope();
+	}
+
+	public void setSOAPEnvelop(SOAPEnvelope envelope) throws SandeshaException {
+
+		try {
+			msgContext.setEnvelope(envelope);
+		} catch (AxisFault e) {
+			throw new SandeshaException(e.getMessage());
+		}
+	}
+
+	public void setFrom(EndpointReference epr) {
+		msgContext.setFrom(epr);
+	}
+
+	public void setTo(EndpointReference epr) {
+		msgContext.setTo(epr);
+	}
+
+	public void setReplyTo(EndpointReference epr) {
+		msgContext.setReplyTo(epr);
+	}
+
+	public void setMessageId(String messageId) {
+		msgContext.setMessageID(messageId);
+	}
+
+	public void setAction(String action) {
+		msgContext.setWSAAction(action);
+	}
+
+	public void addRelatesTo(RelatesTo relatesTo) {
+		msgContext.addRelatesTo(relatesTo);
+	}
+
+	public void setWSAAction(String URI) {
+		msgContext.setWSAAction(URI);
+	}
+
+	public String getWSAAction() {
+		return msgContext.getWSAAction();
+	}
+
+	public MessageContext getMessageContext() {
+		return msgContext;
+	}
+
+	public Object getProperty(String key) {
+		if (msgContext == null)
+			return null;
+
+		return msgContext.getProperty(key);
+	}
+
+	public boolean setProperty(String key, Object val) {
+		if (msgContext == null)
+			return false;
+
+		msgContext.setProperty(key, val);
+		return true;
+	}
+
+	public ConfigurationContext getConfigurationContext() {
+		if (msgContext == null)
+			return null;
+
+		return msgContext.getConfigurationContext();
+	}
+
+	
+	public void setSOAPAction(String SOAPAction) {
+		msgContext.setSoapAction(SOAPAction);
+	}
+	
+	public void pause () {
+		if (msgContext!=null)
+			msgContext.pause();
+	}
+	
+	public void setPaused (boolean pause) {
+		if (msgContext!=null)
+			msgContext.setPaused(pause);
+	}
+
+	public String getRMNamespaceValue() {
+		return rmNamespaceValue;
+	}
+
+	public void setRMNamespaceValue(String rmNamespaceValue) {
+		this.rmNamespaceValue = rmNamespaceValue;
+		
+		if (Sandesha2Constants.SPEC_2005_02.NS_URI.equals(rmNamespaceValue)) { 
+			rmSpecVersion = Sandesha2Constants.SPEC_VERSIONS.v1_0;
+		} else if (Sandesha2Constants.SPEC_2007_02.NS_URI.equals(rmNamespaceValue)) {
+			rmSpecVersion = Sandesha2Constants.SPEC_VERSIONS.v1_1;
+		}
+	}
+	
+	public String getRMSpecVersion () {
+		if (rmSpecVersion==null) {
+			//this may hv been set in the Options object.
+			if (msgContext!=null && msgContext.getOptions()!=null)
+			rmSpecVersion = (String) msgContext.getOptions().getProperty(SandeshaClientConstants.RM_SPEC_VERSION);
+		}
+		
+		return rmSpecVersion;
+	}
+	
+	public void setFlow (int flow) {
+		msgContext.setFLOW(flow);
+	}
+	
+	public int getFlow () {
+		return msgContext.getFLOW();
+	}
+
+	/**
+	 * This will return the sequenceId if it could be derived from the SOAP envelope, in the
+	 * message initiation.
+	 * 
+	 * @return
+	 */
+	public String getGeneratedSequenceId () {
+		return (String) msgContext.getProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_ID);
+	}
+}

Added: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java (added)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java Mon Apr 23 02:54:53 2007
@@ -0,0 +1,630 @@
+/*
+ * Copyright  1999-2004 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.sandesha2;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.addressing.AddressingConstants;
+
+/**
+ * Contains all the Sandesha2Constants of Sandesha2.
+ * Please see sub-interfaces to see grouped data.
+ */
+
+public interface Sandesha2Constants {
+
+	
+	public interface SPEC_VERSIONS {
+		String v1_0 = "Spec_2005_02";
+		String v1_1 = "Spec_2007_02";
+	}
+	
+	public interface SPEC_2005_02 {
+		
+		String NS_URI = "http://schemas.xmlsoap.org/ws/2005/02/rm";
+		
+		String SEC_NS_URI = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
+		
+		String ADDRESSING_NS_URI = AddressingConstants.Submission.WSA_NAMESPACE;
+		
+		public interface Actions {
+
+			String ACTION_CREATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence";
+
+			String ACTION_CREATE_SEQUENCE_RESPONSE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse";
+
+			String ACTION_SEQUENCE_ACKNOWLEDGEMENT = "http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement";
+
+			String ACTION_TERMINATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence";
+
+			String ACTION_LAST_MESSAGE = "http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage";
+
+			String SOAP_ACTION_CREATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence";
+
+			String SOAP_ACTION_CREATE_SEQUENCE_RESPONSE = "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse";
+
+			String SOAP_ACTION_SEQUENCE_ACKNOWLEDGEMENT = "http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement";
+
+			String SOAP_ACTION_TERMINATE_SEQUENCE = "http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence";
+			
+			String SOAP_ACTION_LAST_MESSAGE = "http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage";
+		}
+		
+		public interface QNames {
+			// Headers
+			QName Sequence = new QName(NS_URI, WSRM_COMMON.SEQUENCE);
+			QName SequenceAck = new QName(NS_URI, WSRM_COMMON.SEQUENCE_ACK);
+			QName AckRequest = new QName(NS_URI, WSRM_COMMON.ACK_REQUESTED);
+			QName SequenceFault = new QName(NS_URI, WSRM_COMMON.SEQUENCE_FAULT);
+			
+			// Body elements
+			QName CreateSequence = new QName(NS_URI, WSRM_COMMON.CREATE_SEQUENCE);
+			QName CreateSequenceResponse = new QName(NS_URI, WSRM_COMMON.CREATE_SEQUENCE_RESPONSE);
+			QName CloseSequence = new QName(NS_URI, WSRM_COMMON.CLOSE_SEQUENCE);
+			QName CloseSequenceResponse = new QName(NS_URI, WSRM_COMMON.CLOSE_SEQUENCE_RESPONSE);
+			QName TerminateSequence = new QName(NS_URI, WSRM_COMMON.TERMINATE_SEQUENCE);
+			QName TerminateSequenceResponse = new QName(NS_URI, WSRM_COMMON.TERMINATE_SEQUENCE_RESPONSE);
+			
+			// Other elements
+			QName Identifier = new QName(NS_URI, WSRM_COMMON.IDENTIFIER);
+
+			// Fault elements
+			QName UnknownSequence = new QName(NS_URI, SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+			QName MessageNumberRollover = new QName(NS_URI, SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+			QName InvalidAcknowledgement = new QName(NS_URI, SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+			QName CreateSequenceRefused = new QName(NS_URI, SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+			QName LastMessageNoExceeded = new QName(NS_URI, SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
+			QName SequenceClosed = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+			QName SequenceTerminated = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
+		}
+	}
+	
+	public interface SPEC_2007_02 {
+		
+		String NS_URI               = "http://docs.oasis-open.org/ws-rx/wsrm/200702";
+		String MC_NS_URI            = "http://docs.oasis-open.org/ws-rx/wsmc/200702";
+		String ANONYMOUS_URI_PREFIX = "http://docs.oasis-open.org/ws-rx/wsmc/200702/anonymous?id=";
+		String SEC_NS_URI           = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
+		String ADDRESSING_NS_URI    = AddressingConstants.Final.WSA_NAMESPACE;
+
+		public interface Actions {
+			
+			// WS-RM actions
+			public static final String ACTION_CREATE_SEQUENCE             = SPEC_2007_02.NS_URI + "/CreateSequence";
+			public static final String ACTION_CREATE_SEQUENCE_RESPONSE    = SPEC_2007_02.NS_URI + "/CreateSequenceResponse";
+			public static final String ACTION_CLOSE_SEQUENCE              = SPEC_2007_02.NS_URI + "/CloseSequence";
+			public static final String ACTION_CLOSE_SEQUENCE_RESPONSE     = SPEC_2007_02.NS_URI + "/CloseSequenceResponse";
+			public static final String ACTION_TERMINATE_SEQUENCE          = SPEC_2007_02.NS_URI + "/TerminateSequence";
+			public static final String ACTION_TERMINATE_SEQUENCE_RESPONSE = SPEC_2007_02.NS_URI + "/TerminateSequenceResponse";
+			public static final String ACTION_SEQUENCE_ACKNOWLEDGEMENT    = SPEC_2007_02.NS_URI + "/SequenceAcknowledgement";
+			public static final String ACTION_ACK_REQUEST                 = SPEC_2007_02.NS_URI + "/AckRequested";
+			public static final String ACTION_FAULT                       = SPEC_2007_02.NS_URI + "/fault";
+			
+			// WS-MC actions
+			public static final String ACTION_MAKE_CONNECTION             = SPEC_2007_02.MC_NS_URI + "/MakeConnection";
+
+			public static final String SOAP_ACTION_CREATE_SEQUENCE             = ACTION_CREATE_SEQUENCE;
+			public static final String SOAP_ACTION_CREATE_SEQUENCE_RESPONSE    = ACTION_CREATE_SEQUENCE_RESPONSE;
+			public static final String SOAP_ACTION_CLOSE_SEQUENCE              = ACTION_CLOSE_SEQUENCE;
+			public static final String SOAP_ACTION_CLOSE_SEQUENCE_RESPONSE     = ACTION_CLOSE_SEQUENCE_RESPONSE;
+			public static final String SOAP_ACTION_TERMINATE_SEQUENCE          = ACTION_TERMINATE_SEQUENCE;
+			public static final String SOAP_ACTION_TERMINATE_SEQUENCE_RESPONSE = ACTION_TERMINATE_SEQUENCE_RESPONSE;
+			public static final String SOAP_ACTION_SEQUENCE_ACKNOWLEDGEMENT    = ACTION_SEQUENCE_ACKNOWLEDGEMENT;
+			public static final String SOAP_ACTION_ACK_REQUEST                 = ACTION_ACK_REQUEST;
+			public static final String SOAP_ACTION_MAKE_CONNECTION             = ACTION_MAKE_CONNECTION;
+			public static final String SOAP_ACTION_FAULT                       = ACTION_FAULT;
+		}
+		
+		public interface QNames {
+			// Headers
+			QName Sequence = new QName(NS_URI, WSRM_COMMON.SEQUENCE);
+			QName SequenceAck = new QName(NS_URI, WSRM_COMMON.SEQUENCE_ACK);
+			QName AckRequest = new QName(NS_URI, WSRM_COMMON.ACK_REQUESTED);
+			QName SequenceFault = new QName(NS_URI, WSRM_COMMON.SEQUENCE_FAULT);
+			QName UsesSequenceSTR = new QName(NS_URI, WSRM_COMMON.USES_SEQUENCE_STR);
+			QName MessagePending = new QName(MC_NS_URI, WSRM_COMMON.MESSAGE_PENDING);
+			
+			// Body elements
+			QName CreateSequence = new QName(NS_URI, WSRM_COMMON.CREATE_SEQUENCE);
+			QName CreateSequenceResponse = new QName(NS_URI, WSRM_COMMON.CREATE_SEQUENCE_RESPONSE);
+			QName CloseSequence = new QName(NS_URI, WSRM_COMMON.CLOSE_SEQUENCE);
+			QName CloseSequenceResponse = new QName(NS_URI, WSRM_COMMON.CLOSE_SEQUENCE_RESPONSE);
+			QName TerminateSequence = new QName(NS_URI, WSRM_COMMON.TERMINATE_SEQUENCE);
+			QName TerminateSequenceResponse = new QName(NS_URI, WSRM_COMMON.TERMINATE_SEQUENCE_RESPONSE);
+			QName MakeConnection = new QName(MC_NS_URI, WSRM_COMMON.MAKE_CONNECTION);
+			
+			// Other elements
+			QName Identifier = new QName(NS_URI, WSRM_COMMON.IDENTIFIER);
+			
+			// Fault elements
+			QName UnknownSequence = new QName(NS_URI, SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+			QName MessageNumberRollover = new QName(NS_URI, SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+			QName InvalidAcknowledgement = new QName(NS_URI, SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+			QName CreateSequenceRefused = new QName(NS_URI, SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+			QName LastMessageNoExceeded = new QName(NS_URI, SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
+			QName SequenceClosed = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+			QName SequenceTerminated = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
+		}
+	}
+	
+	public interface WSRM_COMMON {
+		
+		String NS_PREFIX_RM = "wsrm";
+
+		String NS_PREFIX_MC = "wsmc";
+
+		String MSG_NUMBER = "MessageNumber";
+
+		String LAST_MSG = "LastMessage";
+
+		String SEQUENCE = "Sequence";
+
+		String SEQUENCE_OFFER = "Offer";
+
+		String TERMINATE_SEQUENCE = "TerminateSequence";
+
+		String CLOSE_SEQUENCE = "CloseSequence";
+		
+		String CLOSE_SEQUENCE_RESPONSE = "CloseSequenceResponse";
+		
+		String TERMINATE_SEQUENCE_RESPONSE = "TerminateSequenceResponse";
+		
+		String FAULT_CODE = "FaultCode";
+
+		String DETAIL = "Detail";
+
+		String SEQUENCE_FAULT = "SequenceFault";
+
+		String ACKS_TO = "AcksTo";
+
+		String EXPIRES = "Expires";
+
+		String CREATE_SEQUENCE = "CreateSequence";
+
+		String CREATE_SEQUENCE_RESPONSE = "CreateSequenceResponse";
+
+		String ACK_REQUESTED = "AckRequested";
+
+		String ACK_RANGE = "AcknowledgementRange";
+
+		String UPPER = "Upper";
+
+		String LOWER = "Lower";
+
+		String NACK = "Nack";
+
+		String SEQUENCE_ACK = "SequenceAcknowledgement";
+
+		String IDENTIFIER = "Identifier";
+
+		String MAX_MSG_NUMBER = "MaxMessageNumber";
+
+		String ACCEPT = "Accept";
+		
+		String NONE = "None";
+		
+		String FINAL = "Final";
+		
+		String MAKE_CONNECTION = "MakeConnection";
+		
+		String ADDRESS = "Address";
+		
+		String MESSAGE_PENDING = "MessagePending";
+		
+		String PENDING = "pending";
+		
+		String USES_SEQUENCE_STR = "UsesSequenceSTR";
+		
+		String ENDPOINT = "Endpoint";
+	}
+
+	public interface WSA {
+		
+		String NS_PREFIX_ADDRESSING = "wsa";
+
+		String ADDRESS = "Address";
+
+//		String SOAP_FAULT_ACTION = "http://schemas.xmlsoap.org/ws/2004/08/addressing/fault";
+		
+	}
+
+	public interface MessageTypes {
+		int UNKNOWN = 0;
+
+		int CREATE_SEQ = 1;
+
+		int CREATE_SEQ_RESPONSE = 2;
+
+		int APPLICATION = 3;
+
+		int ACK = 4;
+		
+		int CLOSE_SEQUENCE = 5;
+
+		int CLOSE_SEQUENCE_RESPONSE = 6;
+		
+		int TERMINATE_SEQ = 7;
+		
+		int ACK_REQUEST = 8;
+		
+		int TERMINATE_SEQ_RESPONSE = 9;
+
+		int FAULT_MSG = 10;
+		
+		int MAKE_CONNECTION_MSG = 11;
+		
+		int LAST_MESSAGE = 12;
+
+    int DUPLICATE_MESSAGE = 13;
+
+		int MAX_MESSAGE_TYPE = 13;
+	}
+
+	public interface MessageParts {
+		int UNKNOWN = 0;
+
+		int SEQUENCE = 6;
+
+		int SEQ_ACKNOWLEDGEMENT = 7;
+
+		int ADDR_HEADERS = 8;
+
+		int CREATE_SEQ = 9;
+
+		int CREATE_SEQ_RESPONSE = 10;
+
+		int TERMINATE_SEQ = 11;
+		
+		int CLOSE_SEQUENCE = 12;
+		
+		int CLOSE_SEQUENCE_RESPONSE = 13;
+
+		int TERMINATE_SEQ_RESPONSE = 14;
+		
+		int ACK_REQUEST = 15;
+
+		int USES_SEQUENCE_STR = 16;
+		
+		int MAKE_CONNECTION = 17;
+		
+		int MESSAGE_PENDING = 18;
+		
+		int SEQUENCE_FAULT = 19;
+
+		int MAX_MSG_PART_ID = 19;
+	}
+
+	public interface SOAPVersion {
+		int v1_1 = 1;
+
+		int v1_2 = 2;
+	}
+
+	public interface QOS {
+
+		public interface DeliveryAssurance {
+
+			String IN_ORDER = "InOrder";
+
+			String NOT_IN_ORDER = "NotInOrder";
+
+			String DEFAULT_DELIVERY_ASSURANCE = IN_ORDER;
+		}
+
+		public interface InvocationType {
+
+			//invocation types
+			String EXACTLY_ONCE = "ExactlyOnce";
+
+			String MORE_THAN_ONCE = "MoreThanOnce";
+
+			String DEFAULT_INVOCATION_TYPE = EXACTLY_ONCE;
+		}
+
+	}
+
+	public interface BeanMAPs {
+		String CREATE_SEQUECE = "CreateSequenceBeanMap";
+
+		String RETRANSMITTER = "RetransmitterBeanMap";
+
+		String SEQUENCE_PROPERTY = "SequencePropertyBeanMap";
+
+		String STORAGE_MAP = "StorageMapBeanMap";
+
+		String NEXT_MESSAGE = "NextMsgBeanMap";
+	}
+
+	public interface SOAPFaults {
+
+		public interface Subcodes {
+
+			String SEQUENCE_TERMINATED = "SequenceTerminated";
+			
+			String SEQUENCE_CLOSED = "SequenceClosed";
+
+			String UNKNOWN_SEQUENCE = "UnknownSequence";
+
+			String INVALID_ACKNOWLEDGEMENT = "InvalidAcknowledgement";
+
+			String MESSAGE_NUMBER_ROLEOVER = "MessageNumberRollover";
+
+			String LAST_MESSAGE_NO_EXCEEDED = "LastMessageNumberExceeded";
+
+			String CREATE_SEQUENCE_REFUSED = "CreateSequenceRefused";
+			
+
+		}
+
+		public interface FaultType {
+
+			public static final int UNKNOWN_SEQUENCE = 1;
+
+			public static final int MESSAGE_NUMBER_ROLLOVER = 2;
+
+			public static final int INVALID_ACKNOWLEDGEMENT = 3;
+
+			public static final int CREATE_SEQUENCE_REFUSED = 4;
+			
+			public static final int LAST_MESSAGE_NO_EXCEEDED = 5;
+
+			public static final int SEQUENCE_CLOSED = 6;
+
+			public static final int SEQUENCE_TERMINATED = 7;
+		}
+	}
+
+	public interface Properties {
+		
+		public static final String RetransmissionInterval = "RetransmissionInterval";
+		
+		public static final String AcknowledgementInterval = "AcknowledgementInterval";
+		
+		public static final String ExponentialBackoff = "ExponentialBackoff";
+		
+		public static final String InactivityTimeout = "InactivityTimeout";
+		
+		public static final String InactivityTimeoutMeasure = "InactivityTimeoutMeasure";
+
+		public static final String SequenceRemovalTimeout = "SequenceRemovalTimeout";
+		
+		public static final String SequenceRemovalTimeoutMeasure = "SequenceRemovalTimeoutMeasure";
+
+//		String StorageManager = "StorageManager";
+		
+		public static final String InMemoryStorageManager = "InMemoryStorageManager";
+		
+		public static final String PermanentStorageManager = "PermanentStorageManager";
+		
+		public static final String InOrderInvocation = "InvokeInOrder";
+		
+		public static final String MessageTypesToDrop = "MessageTypesToDrop";
+		
+		public static final String RetransmissionCount = "RetransmissionCount";
+
+		public static final String SecurityManager = "SecurityManager";
+
+		public static final String EnableMakeConnection = "EnableMakeConnection";
+		
+		public static final String EnableRMAnonURI = "EnableRMAnonURI";
+		
+		public static final String UseMessageSerialization = "UseMessageSerialization";
+		
+		public interface DefaultValues {
+			
+			public static final int RetransmissionInterval = 6000;
+			
+			public static final int AcknowledgementInterval = 3000;
+			
+			public static final boolean ExponentialBackoff = true;
+			
+			public static final int InactivityTimeout = -1;
+			
+			public static final String InactivityTimeoutMeasure = "seconds";   //this can be - seconds,minutes,hours,days
+			
+			public static final int sequenceRemovalTimeout = -1;
+			
+			public static final String sequenceRemovalTimeoutMeasure = "seconds";   //this can be - seconds,minutes,hours,days
+
+//			String StorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+		
+			public static final String InMemoryStorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+			
+			public static final String PermanentStorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+			
+			public static final boolean InvokeInOrder = true;
+			
+			public static final String MessageTypesToDrop=VALUE_NONE;
+			
+			public static final int RetransmissionCount = 8;
+			
+			public static final int MaximumRetransmissionCount = 10;
+			
+			public static final String SecurityManager = "org.apache.sandesha2.security.dummy.DummySecurityManager";
+
+			public static final boolean EnableMakeConnection = true;
+			
+			public static final boolean EnableRMAnonURI = true;
+			
+			public static final boolean UseMessageSerialization = false;
+			
+			public static final boolean enforceRM = false;
+		}
+	}
+	
+	public interface DatabaseParams {
+		
+	}
+	
+	static final String MODULE_NAME = "sandesha2";
+	
+	static final String IN_HANDLER_NAME = "SandeshaInHandler";
+
+	static final String OUT_HANDLER_NAME = "SandeshaOutHandler";
+
+	static final String GLOBAL_IN_HANDLER_NAME = "GlobalInHandler";
+
+	static final String APPLICATION_PROCESSING_DONE = "Sandesha2AppProcessingDone";
+
+	static final String ACK_WRITTEN = "AckWritten";
+
+	int INVOKER_SLEEP_TIME = 1000;
+
+	int SENDER_SLEEP_TIME = 500;
+
+	int CLIENT_SLEEP_TIME = 10000;
+
+	int TERMINATE_DELAY = 100;
+
+	static final String TEMP_SEQUENCE_ID = "uuid:tempID";
+
+	static final String PROPERTY_FILE = "sandesha2.properties";
+	
+	static final String VALUE_NONE = "none";
+	
+	static final String VALUE_EMPTY = "empty";
+	
+	static final String VALUE_TRUE = "true";
+	
+	static final String VALUE_FALSE = "false";
+	
+	static final String MESSAGE_STORE_KEY = "Sandesha2MessageStoreKey";
+
+	static final String ORIGINAL_TRANSPORT_OUT_DESC = "Sandesha2OriginalTransportSender";
+	
+	static final String SET_SEND_TO_TRUE = "Sandesha2SetSendToTrue";
+	
+	static final String MESSAGE_TYPE = "Sandesha2MessageType";
+	
+	static final String QUALIFIED_FOR_SENDING = "Sandesha2QualifiedForSending";  //Sender will send messages only if this property is null (not set) or true.
+
+	static final String EXECUTIN_CHAIN_SEPERATOR = ".";
+	
+	static final String INTERNAL_SEQUENCE_PREFIX = "Sandesha2InternalSequence";
+	
+	static final String SANDESHA_PROPERTY_BEAN = "Sandesha2PropertyBean";
+	
+	static final String LIST_SEPERATOR = ",";
+	
+	static final String INMEMORY_STORAGE_MANAGER = "inmemory";
+	
+	static final String PERMANENT_STORAGE_MANAGER = "persistent";
+	
+	static final String DEFAULT_STORAGE_MANAGER = INMEMORY_STORAGE_MANAGER;
+	
+	static final String POLLING_MANAGER = "PollingManager";
+	
+	static final String STORAGE_MANAGER_PARAMETER  = "Sandesha2StorageManager";
+	
+	static final String POST_FAILURE_MESSAGE = "PostFailureMessage";
+	
+	static final String MODULE_CLASS_LOADER = "Sandesha2ModuleClassLoader";
+	
+	static final String SECURITY_MANAGER = "Sandesha2SecurityManager";
+	
+	static final String RETRANSMITTABLE_PHASES = "RMRetransmittablePhases";
+	
+	static final String propertiesToCopyFromReferenceMessage = "propertiesToCopyFromReferenceMessage";
+	
+	static final String propertiesToCopyFromReferenceRequestMessage = "propertiesToCopyFromReferenceRequestMessage";
+	
+	static final String MSG_NO_OF_IN_MSG = "MsgNoOfInMsg";
+	
+	static final String MAKE_CONNECTION_RESPONSE = "MakeConnectionResponse";
+	
+	static final String SERVICE_CONTAINS_OUT_IN_MEPS = "ServiceContainsOutInMeps";
+	
+	static final String SANDESHA_OP_PREFIX    = "Sandesha2Operation";
+	static final QName RM_OUT_IN_OPERATION    = new QName(SANDESHA_OP_PREFIX + "OutIn");
+	static final QName RM_OUT_ONLY_OPERATION  = new QName(SANDESHA_OP_PREFIX + "OutOnly");
+	static final QName RM_DUPLICATE_OPERATION = new QName(SANDESHA_OP_PREFIX + "Duplicate");
+	static final QName RM_IN_OUT_OPERATION    = new QName(SANDESHA_OP_PREFIX + "InOut");
+	static final QName RM_IN_ONLY_OPERATION   = new QName(SANDESHA_OP_PREFIX + "InOnly");
+
+	static final String [] SPEC_NS_URIS = {
+			SPEC_2005_02.NS_URI,
+			SPEC_2007_02.NS_URI
+	};
+	
+	public interface MessageContextProperties{
+		static final String INTERNAL_SEQUENCE_ID = "Sandesha2InternalSequenceId";
+		static final String SEQUENCE_ID = "WSRMSequenceId";
+		static final String MESSAGE_NUMBER = "WSRMMessageNumber";
+		static final String SECURITY_TOKEN = "SecurityToken";
+		static final String INBOUND_SEQUENCE_ID    = "Sandesha2InboundSequenceId";
+		static final String INBOUND_MESSAGE_NUMBER = "Sandesha2InboundMessageNumber";
+		static final String INBOUND_LAST_MESSAGE   = "Sandesha2InboundLastMessage";
+		static final String MAKECONNECTION_ENTRY   = "Sandesha2MakeConnectionEntry";
+    static final String RM_MESSAGE_CONTEXT     = "RMMessageContext";
+	}
+    
+    public interface Assertions {
+        
+        public static final String URI_POLICY_NS = "http://schemas.xmlsoap.org/ws/2004/09/policy";
+        public static final String URI_RM_POLICY_NS = "http://ws.apache.org/sandesha2/policy";
+        
+        public static final String ATTR_WSRM = "wsrm";
+        public static final String ATTR_WSP = "wsp";
+        
+        public static final String ELEM_POLICY = "Policy";
+        public static final String ELEM_RMASSERTION = "RMAssertion";
+        public static final String ELEM_ACK_INTERVAL = "AcknowledgementInterval";
+        public static final String ELEM_RETRANS_INTERVAL = "RetransmissionInterval";
+        public static final String ELEM_MAX_RETRANS_COUNT = "MaximumRetransmissionCount";
+        public static final String ELEM_EXP_BACKOFF = "ExponentialBackoff";
+        public static final String ELEM_INACTIVITY_TIMEOUT = "InactivityTimeout";
+        public static final String ELEM_INACTIVITY_TIMEOUT_MEASURES = "InactivityTimeoutMeasure";
+        public static final String ELEM_DELETION_TIMEOUT = "SequenceRemovalTimeout";
+        public static final String ELEM_DELETION_TIMEOUT_MEASURES = "SequenceRemovalTimeoutMeasure";
+        public static final String ELEM_INVOKE_INORDER = "InvokeInOrder";
+        public static final String ELEM_MSG_TYPES_TO_DROP = "MessageTypesToDrop";
+        public static final String ELEM_STORAGE_MGR = "StorageManagers";
+        public static final String ELEM_SEC_MGR = "SecurityManager";
+        public static final String ELEM_INMEMORY_STORAGE_MGR = "InMemoryStorageManager";
+        public static final String ELEM_PERMANENT_STORAGE_MGR = "PermanentStorageManager";
+        public static final String ELEM_MAKE_CONNECTION = "MakeConnection";
+        public static final String ELEM_ENABLED = "Enabled";
+        public static final String ELEM_USE_RM_ANON_URI = "UseRMAnonURI";
+        public static final String ELEM_USE_SERIALIZATION = "UseMessageSerialization";
+        public static final String ELEM_ENFORCE_RM = "EnforceRM";
+        
+        public static final QName Q_ELEM_POLICY = new QName(URI_POLICY_NS, ELEM_POLICY, ATTR_WSP);
+        public static final QName Q_ELEM_RMASSERTION = new QName(URI_RM_POLICY_NS, ELEM_RMASSERTION, ATTR_WSRM);
+        public static final QName Q_ELEM__RMBEAN = new QName(URI_RM_POLICY_NS, "RMBean", ATTR_WSRM);
+        public static final QName Q_ELEM_ACK_INTERVAL = new QName(URI_RM_POLICY_NS, ELEM_ACK_INTERVAL, ATTR_WSRM);
+        public static final QName Q_ELEM_RETRANS_INTERVAL = new QName(URI_RM_POLICY_NS, ELEM_RETRANS_INTERVAL, ATTR_WSRM);
+        public static final QName Q_ELEM_MAX_RETRANS_COUNT = new QName(URI_RM_POLICY_NS, ELEM_MAX_RETRANS_COUNT, ATTR_WSRM);
+        public static final QName Q_ELEM_EXP_BACKOFF = new QName(URI_RM_POLICY_NS, ELEM_EXP_BACKOFF, ATTR_WSRM);
+        public static final QName Q_ELEM_INACTIVITY_TIMEOUT = new QName(URI_RM_POLICY_NS, ELEM_INACTIVITY_TIMEOUT, ATTR_WSRM);
+        public static final QName Q_ELEM_INACTIVITY_TIMEOUT_MEASURES = new QName(URI_RM_POLICY_NS, ELEM_INACTIVITY_TIMEOUT_MEASURES, ATTR_WSRM);
+        public static final QName Q_ELEM_SEQUENCE_REMOVAL_TIMEOUT = new QName(URI_RM_POLICY_NS, ELEM_DELETION_TIMEOUT, ATTR_WSRM);
+        public static final QName Q_ELEM_SEQUENCE_REMOVAL_TIMEOUT_MEASURES = new QName(URI_RM_POLICY_NS, ELEM_DELETION_TIMEOUT_MEASURES, ATTR_WSRM);
+        public static final QName Q_ELEM_INVOKE_INORDER = new QName(URI_RM_POLICY_NS, ELEM_INVOKE_INORDER, ATTR_WSRM);
+        public static final QName Q_ELEM_MSG_TYPES_TO_DROP = new QName(URI_RM_POLICY_NS, ELEM_MSG_TYPES_TO_DROP, ATTR_WSRM);
+        public static final QName Q_ELEM_STORAGE_MGR =new QName(URI_RM_POLICY_NS, ELEM_STORAGE_MGR, ATTR_WSRM);
+        public static final QName Q_ELEM_SEC_MGR = new QName(URI_RM_POLICY_NS, ELEM_SEC_MGR, ATTR_WSRM);
+        public static final QName Q_ELEM_INMEMORY_STORAGE_MGR =new QName(URI_RM_POLICY_NS, ELEM_INMEMORY_STORAGE_MGR, ATTR_WSRM);
+        public static final QName Q_ELEM_PERMANENT_STORAGE_MGR =new QName(URI_RM_POLICY_NS, ELEM_PERMANENT_STORAGE_MGR, ATTR_WSRM);
+        public static final QName Q_ELEM_MAKE_CONNECTION = new QName(URI_RM_POLICY_NS, ELEM_MAKE_CONNECTION, ATTR_WSRM);
+        public static final QName Q_ELEM_ENABLED = new QName(URI_RM_POLICY_NS, ELEM_ENABLED, ATTR_WSRM);
+        public static final QName Q_ELEM_USE_RM_ANON_URI = new QName(URI_RM_POLICY_NS, ELEM_USE_RM_ANON_URI, ATTR_WSRM);
+        public static final QName Q_ELEM_USE_SERIALIZATION = new QName(URI_RM_POLICY_NS, ELEM_USE_SERIALIZATION, ATTR_WSRM);
+        public static final QName Q_ELEM_ENFORCE_RM = new QName(URI_RM_POLICY_NS, ELEM_ENFORCE_RM, ATTR_WSRM);
+        
+    }
+}

Added: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaException.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaException.java?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaException.java (added)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaException.java Mon Apr 23 02:54:53 2007
@@ -0,0 +1,44 @@
+/*
+ * Copyright  1999-2004 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.sandesha2;
+
+import org.apache.axis2.AxisFault;
+
+/**
+ * Exception class of Sandesa2.
+ */
+
+public class SandeshaException extends AxisFault  {
+
+	private static final long serialVersionUID = 730653663339985226L;
+
+	public SandeshaException (String message) {
+		super (message);
+	}
+	
+	public SandeshaException (Exception e) {
+		super (e);
+	}
+
+	public SandeshaException (String message,Exception e) {
+		super (message,e);
+	}
+	
+	
+	
+}

Added: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java?view=auto&rev=531400
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java (added)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java Mon Apr 23 02:54:53 2007
@@ -0,0 +1,286 @@
+/*
+ * Copyright  1999-2004 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.sandesha2;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisDescription;
+import org.apache.axis2.description.AxisModule;
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.Parameter;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.modules.Module;
+import org.apache.axis2.modules.ModulePolicyExtension;
+import org.apache.axis2.modules.PolicyExtension;
+import org.apache.axis2.util.TargetResolver;
+import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.Policy;
+import org.apache.sandesha2.i18n.SandeshaMessageHelper;
+import org.apache.sandesha2.i18n.SandeshaMessageKeys;
+import org.apache.sandesha2.policy.RMPolicyExtension;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+import org.apache.sandesha2.security.SecurityManager;
+import org.apache.sandesha2.storage.SandeshaStorageException;
+import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.util.PropertyManager;
+import org.apache.sandesha2.util.SandeshaUtil;
+
+/**
+ * The Module class of Sandesha2.
+ */
+
+public class SandeshaModule implements Module, ModulePolicyExtension {
+    
+    private Log log = LogFactory.getLog(SandeshaModule.class);
+    
+	// initialize the module
+	public void init(ConfigurationContext configContext,
+			AxisModule module) throws AxisFault {
+		if(log.isDebugEnabled()) log.debug("Entry: SandeshaModule::init, " + configContext);
+
+		AxisConfiguration config = configContext.getAxisConfiguration();
+
+		//storing the Sandesha module as a parameter.
+		Parameter parameter = new Parameter(Sandesha2Constants.MODULE_CLASS_LOADER,module.getModuleClassLoader());
+		config.addParameter(parameter);
+
+		//init the i18n messages
+		SandeshaMessageHelper.innit();
+		
+		//storing the module as a static variable
+		SandeshaUtil.setAxisModule(module);
+		
+		// continueUncompletedSequences (storageManager,configCtx);
+
+		SandeshaPolicyBean constantPropertyBean = PropertyManager.loadPropertiesFromDefaultValues();
+		SandeshaPolicyBean propertyBean = PropertyManager.loadPropertiesFromModuleDescPolicy(module,constantPropertyBean);
+		
+		if (propertyBean==null) {
+			String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotLoadModulePolicies);
+			log.error (message);
+			
+			propertyBean = PropertyManager.loadPropertiesFromDefaultValues();
+		} else {
+			if (log.isDebugEnabled()) {
+				String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.modulePoliciesLoaded);
+				log.info (message);
+			}
+		}
+		
+		parameter = new Parameter (Sandesha2Constants.SANDESHA_PROPERTY_BEAN, propertyBean);
+		config.addParameter(parameter);
+		
+		// Reset both storage managers
+		parameter = config.getParameter(Sandesha2Constants.INMEMORY_STORAGE_MANAGER);
+		if(parameter != null) config.removeParameter(parameter);
+		parameter = config.getParameter(Sandesha2Constants.PERMANENT_STORAGE_MANAGER);
+		if(parameter != null) config.removeParameter(parameter);
+
+		try {
+			StorageManager inMemorytorageManager = SandeshaUtil.getInMemoryStorageManager(configContext);
+			inMemorytorageManager.initStorage(module);
+		} catch (SandeshaStorageException e) {
+			String message = SandeshaMessageHelper.getMessage(
+					SandeshaMessageKeys.cannotInitInMemoryStorageManager,
+					e.toString());
+			log.debug(message,e);
+		}
+		
+		try {
+			StorageManager permanentStorageManager = SandeshaUtil.getPermanentStorageManager(configContext);
+			permanentStorageManager.initStorage(module);
+		} catch (SandeshaStorageException e) {
+			String message = SandeshaMessageHelper.getMessage(
+					SandeshaMessageKeys.cannotInitPersistentStorageManager,
+					e.toString());
+			log.debug(message,e);
+		}
+		
+		// Reset the security manager, and then load it
+		parameter = config.getParameter(Sandesha2Constants.SECURITY_MANAGER);
+		if(parameter != null) config.removeParameter(parameter);
+		SecurityManager util = SandeshaUtil.getSecurityManager(configContext);
+		util.initSecurity(module);
+
+		// Mark the config context so that we can run sync 2-way interations over
+		// RM, but at the same time switch it off for unreliable messages.
+		configContext.setProperty(Constants.Configuration.USE_ASYNC_OPERATIONS, Boolean.TRUE);
+		configContext.getAxisConfiguration().addTargetResolver(
+				new TargetResolver() {
+					public void resolveTarget(MessageContext messageContext) {
+						
+						//if Sandesha2 is not engaged we can set the property straight away 
+						
+						boolean engaged = false;
+						
+						//checking weather the module is engaged at the System level
+						AxisConfiguration axisConfiguration = messageContext.getConfigurationContext().getAxisConfiguration();
+						if (axisConfiguration!=null) {
+							Collection modules = axisConfiguration.getEngagedModules();
+							for (Iterator iter = modules.iterator();iter.hasNext();) {
+								String moduleName = (String) iter.next();
+								if (moduleName!=null && moduleName.startsWith (Sandesha2Constants.MODULE_NAME)) {
+									engaged = true;
+								}
+							}
+						}
+						
+						//checking weather the module is engaged at the Service level
+						AxisService service = messageContext.getAxisService();
+						if (service!=null) {
+							Collection modules = service.getEngagedModules();
+							for (Iterator iter = modules.iterator();iter.hasNext();) {
+								AxisModule module = (AxisModule) iter.next();
+								String name = module.getName();
+								if (name!=null && name.startsWith (Sandesha2Constants.MODULE_NAME)) {
+									engaged = true;
+								}
+							}
+						}
+
+						//checking weather the module is engaged at the Operation level
+						AxisOperation operation = messageContext.getAxisOperation();
+						if (operation!=null) {
+							Collection modules = operation.getEngagedModules();
+							for (Iterator iter = modules.iterator();iter.hasNext();) {
+								AxisModule module = (AxisModule) iter.next();
+								String name = module.getName();
+								if (name!=null && name.startsWith (Sandesha2Constants.MODULE_NAME)) {
+									engaged = true;
+								}
+							}
+						}
+						
+						//if the module is not engaed we mark the message as unreliable.
+						if (!engaged) {
+							if(log.isDebugEnabled()) log.debug("Unsetting USE_ASYNC_OPERATIONS for unreliable message");
+							messageContext.setProperty(Constants.Configuration.USE_ASYNC_OPERATIONS, Boolean.FALSE);
+						}
+						
+						//Even when Sandesha2 is engaged this may be marked as unreliable.
+						if(log.isDebugEnabled()) log.debug("Entry: SandeshaModule::resolveTarget");
+						if(SandeshaUtil.isMessageUnreliable(messageContext)) {
+							if(log.isDebugEnabled()) log.debug("Unsetting USE_ASYNC_OPERATIONS for unreliable message");
+							messageContext.setProperty(Constants.Configuration.USE_ASYNC_OPERATIONS, Boolean.FALSE);
+						}
+						if(log.isDebugEnabled()) log.debug("Exit: SandeshaModule::resolveTarget");
+					}
+				}
+		);
+
+		if(log.isDebugEnabled()) log.debug("Exit: SandeshaModule::init");
+	}
+
+	public void engageNotify(AxisDescription axisDescription) throws AxisFault {
+		if(log.isDebugEnabled()) log.debug("Entry: SandeshaModule::engageNotify, " + axisDescription);
+		
+		SandeshaPolicyBean parentPropertyBean = SandeshaUtil.getPropertyBean(axisDescription.getParent());
+		
+		SandeshaPolicyBean axisDescPropertyBean = PropertyManager.loadPropertiesFromAxisDescription(axisDescription,parentPropertyBean);
+		
+		if (axisDescPropertyBean!=null) {
+			Parameter parameter = new Parameter ();
+			parameter.setName(Sandesha2Constants.SANDESHA_PROPERTY_BEAN);
+			parameter.setValue(axisDescPropertyBean);
+			axisDescription.addParameter(parameter);
+		}
+		
+		// When we engage Sandesha for a Service, we check to see if there are
+		// any OUT_IN MEPs on it's operations. If there are then we record that,
+		// so that we know we should send an Offer for WSRM 1.0 Sequences.
+		// We check the operation names, as the RM operations are added in as
+		// well, and and we only want to consider the user's operations.
+		if(axisDescription instanceof AxisService) {
+			AxisService service = (AxisService) axisDescription;
+			Iterator ops = service.getOperations();
+			while(ops.hasNext()) {
+				AxisOperation op = (AxisOperation) ops.next();
+				log.debug("Examining operation " + op.getName() + ", mep " + op.getMessageExchangePattern());
+
+				String name = null;
+				QName qName = op.getName();
+				if(qName != null) name = qName.getLocalPart();
+				if(name != null && name.startsWith(Sandesha2Constants.SANDESHA_OP_PREFIX))
+					break;
+
+				// If we get to here then we must have one of the user's operations, so
+				// check the MEP.
+				if(op.getAxisSpecifMEPConstant() == WSDLConstants.MEP_CONSTANT_OUT_IN) {
+					Parameter p = new Parameter(Sandesha2Constants.SERVICE_CONTAINS_OUT_IN_MEPS, Boolean.TRUE);
+					service.addParameter(p);
+					break;
+				}
+			}
+		} else if(axisDescription instanceof AxisOperation) {
+				AxisOperation op = (AxisOperation) axisDescription;
+				log.debug("Examining operation " + op.getName() + ", mep " + op.getAxisSpecifMEPConstant());
+	
+				String name = null;
+				QName qName = op.getName();
+				if(qName != null) name = qName.getLocalPart();
+				if(name != null && !name.startsWith(Sandesha2Constants.SANDESHA_OP_PREFIX)) {
+	
+				// If we get to here then we must have one of the user's operations, so
+				// check the MEP.
+				if(op.getAxisSpecifMEPConstant() == WSDLConstants.MEP_CONSTANT_OUT_IN) {
+					Parameter p = new Parameter(Sandesha2Constants.SERVICE_CONTAINS_OUT_IN_MEPS, Boolean.TRUE);
+					op.getParent().addParameter(p);
+				}
+			}
+		} 
+
+
+		if(log.isDebugEnabled()) log.debug("Exit: SandeshaModule::engageNotify");
+	}
+
+	public PolicyExtension getPolicyExtension() {
+		return new RMPolicyExtension();
+	}
+
+	public void shutdown(ConfigurationContext configurationContext) throws AxisFault {
+		if(log.isDebugEnabled()) log.debug("Entry: SandeshaModule::shutdown, " + configurationContext);
+		SandeshaUtil.
+			getSandeshaStorageManager(configurationContext, configurationContext.getAxisConfiguration())
+				.shutdown();
+		if(log.isDebugEnabled()) log.debug("Exit: SandeshaModule::shutdown");
+	}
+
+    public void applyPolicy(Policy policy, AxisDescription axisDescription) throws AxisFault {
+        // TODO 
+        
+    }
+
+    public boolean canSupportAssertion(Assertion assertion) {
+        // TODO 
+        return true;
+    }
+    
+    
+
+}



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