You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2005/09/10 16:54:51 UTC

svn commit: r280012 - in /webservices/sandesha/trunk/src/org/apache/sandesha2: ./ msgprocessors/ msgreceivers/ storage/ storage/beanmanagers/ storage/beans/ storage/inmemory/ storage/persistent/

Author: chamikara
Date: Sat Sep 10 07:51:55 2005
New Revision: 280012

URL: http://svn.apache.org/viewcvs?rev=280012&view=rev
Log:
Applied sankas changes to the storage classes, and make the scenarios work after new changes. (Some classes were removed)

Added:
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/AbstractBeanMgrFactory.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemBeanMgrFactory.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemCreateSeqBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemNextMsgBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemRetransmitterBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemSequencePropretyBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemStorageMapBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentBeanMgrFactory.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentCreateSeqBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentNextMsgBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentRetransmitterBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentSequencePropretyBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentStorageMapBeanMgr.java
Removed:
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/InMemoryStorageMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/PermanentStorageMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/StorageManager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/StorageManagerFactory.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CRUD.java
Modified:
    webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/RetransmitterBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/StorageMapBeanMgr.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RetransmitterBean.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/StorageMapBean.java

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java Sat Sep 10 07:51:55 2005
@@ -31,6 +31,7 @@
 import org.apache.axis2.soap.SOAPFactory;
 import org.apache.axis2.wsdl.builder.wsdl4j.WSDL11MEPFinder;
 import org.apache.sandesha2.msgreceivers.RMMessageReceiver;
+import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.util.SandeshaUtil;
@@ -130,9 +131,15 @@
 		sequenceAck.setIdentifier(id);
 
 		//SequencePropertyBean seqPropBean = new SequencePropertyBean (newSequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES,acksTo);
-		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.DEFAULT_STORAGE_TYPE);
-		SequencePropertyBean msgNosBean = (SequencePropertyBean) beanMgr.retrieve(sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES);
-		String msgNoList = (String) msgNosBean.getValue();
+//		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.DEFAULT_STORAGE_TYPE);
+//		SequencePropertyBean msgNosBean = (SequencePropertyBean) beanMgr.retrieve(sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES);
+//		String msgNoList = (String) msgNosBean.getValue();
+		
+		SequencePropertyBeanMgr seqPropMgr = AbstractBeanMgrFactory.getBeanMgrFactory(Constants.DEFAULT_STORAGE_TYPE).
+					getSequencePropretyBeanMgr();
+		
+		SequencePropertyBean seqBean = seqPropMgr.retrieve(sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES);
+		String msgNoList = (String) seqBean.getValue();
 		System.out.println ("Message No List:" + msgNoList);
 		
 		AcknowledgementRange[] ackRangeArr = SandeshaUtil.getAckRangeArray(msgNoList);

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SequenceMenager.java Sat Sep 10 07:51:55 2005
@@ -8,6 +8,7 @@
 
 import java.util.ArrayList;
 
+import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 
@@ -19,9 +20,14 @@
 public class SequenceMenager {
 
 	public static void setUpNewSequence (String sequenceId) {
+//		SequencePropertyBean seqPropBean = new SequencePropertyBean (sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES,"");
+//		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.DEFAULT_STORAGE_TYPE);
+//		beanMgr.create(seqPropBean);
+	
 		SequencePropertyBean seqPropBean = new SequencePropertyBean (sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES,"");
-		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.DEFAULT_STORAGE_TYPE);
-		beanMgr.create(seqPropBean);
+		SequencePropertyBeanMgr seqPropMgr = AbstractBeanMgrFactory.getBeanMgrFactory(Constants.DEFAULT_STORAGE_TYPE).
+				getSequencePropretyBeanMgr();
+		seqPropMgr.insert(seqPropBean);
 	}
 	
 	public void removeSequence (String sequence) {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Sat Sep 10 07:51:55 2005
@@ -23,6 +23,7 @@
 import org.apache.sandesha2.MsgInitializer;
 import org.apache.sandesha2.MsgValidator;
 import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.util.SandeshaUtil;
@@ -43,10 +44,14 @@
 		//setting ack range
 		Sequence sequence = (Sequence) rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_SEQUENCE);
 		String sequenceId = sequence.getIdentifier().getIdentifier();
-		SequencePropertyBeanMgr mgr = new SequencePropertyBeanMgr (Constants.STORAGE_TYPE_IN_MEMORY);
+
+		//		SequencePropertyBeanMgr mgr = new SequencePropertyBeanMgr (Constants.STORAGE_TYPE_IN_MEMORY);
 		
-		SequencePropertyBean msgsBean = (SequencePropertyBean) mgr.retrieve( sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES);
-		SequencePropertyBean acksToBean = (SequencePropertyBean) mgr.retrieve( sequenceId,Constants.SEQ_PROPERTY_ACKS_TO);
+		SequencePropertyBeanMgr seqPropMgr = AbstractBeanMgrFactory.getBeanMgrFactory(Constants.DEFAULT_STORAGE_TYPE).
+				getSequencePropretyBeanMgr();
+
+		SequencePropertyBean msgsBean = seqPropMgr.retrieve( sequenceId,Constants.SEQ_PROPERTY_RECEIVED_MESSAGES);
+		SequencePropertyBean acksToBean = seqPropMgr.retrieve( sequenceId,Constants.SEQ_PROPERTY_ACKS_TO);
 		
 		long msgNo = sequence.getMessageNumber().getMessageNumber();
 		if (msgNo==0)
@@ -59,7 +64,7 @@
 			messagesStr = Long.toString(msgNo);
 		
 		msgsBean.setValue(messagesStr);
-		mgr.update(msgsBean);
+		seqPropMgr.update(msgsBean);
 			
 		String acksToStr = null;
 		try {

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java Sat Sep 10 07:51:55 2005
@@ -50,6 +50,7 @@
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.RMMsgCreator;
 import org.apache.sandesha2.SequenceMenager;
+import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
 import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 import org.apache.sandesha2.wsrm.CreateSequence;
@@ -101,9 +102,12 @@
 			throw new AxisFault ("Acks to not present in the create sequence message");
 		
 		SequencePropertyBean seqPropBean = new SequencePropertyBean (newSequenceId,Constants.SEQ_PROPERTY_ACKS_TO,acksTo);
-		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.DEFAULT_STORAGE_TYPE);
-		beanMgr.create(seqPropBean);
+//		SequencePropertyBeanMgr beanMgr = new SequencePropertyBeanMgr (Constants.DEFAULT_STORAGE_TYPE);
+//		beanMgr.create(seqPropBean);
 		
+		SequencePropertyBeanMgr seqPropMgr = AbstractBeanMgrFactory.getBeanMgrFactory(Constants.DEFAULT_STORAGE_TYPE).
+					getSequencePropretyBeanMgr();
+		seqPropMgr.insert(seqPropBean);
 		outMessage.setResponseWritten(true);
 
 	}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/AbstractBeanMgrFactory.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/AbstractBeanMgrFactory.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/AbstractBeanMgrFactory.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/AbstractBeanMgrFactory.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage;
+
+import org.apache.sandesha2.Constants;
+import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.RetransmitterBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.StorageMapBeanMgr;
+import org.apache.sandesha2.storage.inmemory.InMemBeanMgrFactory;
+import org.apache.sandesha2.storage.persistent.PersistentBeanMgrFactory;
+
+import com.sun.corba.se.internal.core.Constant;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public abstract class AbstractBeanMgrFactory {
+
+	
+	public abstract CreateSeqBeanMgr getCreateSeqBeanMgr();
+	
+	public abstract NextMsgBeanMgr getNextMsgBean();
+	
+	public abstract RetransmitterBeanMgr getRetransmitterBeanMgr();
+	
+	public abstract SequencePropertyBeanMgr getSequencePropretyBeanMgr();
+	
+	public abstract StorageMapBeanMgr getStorageMapBeanMgr();
+		
+	public static AbstractBeanMgrFactory getBeanMgrFactory (int storageType) {
+		switch (storageType) {
+			case Constants.STORAGE_TYPE_PERSISTANCE:
+				return new PersistentBeanMgrFactory();
+			case Constants.STORAGE_TYPE_IN_MEMORY:
+				return new  InMemBeanMgrFactory();
+			default: 
+				return null;
+		}
+	}
+}

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -1,55 +1,35 @@
 /*
- * Copyright  1999-2004 The Apache Software Foundation.
+ * 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
+ * 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.
- *
+ * 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.storage.beanmanagers;
 
-import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.StorageManagerFactory;
+import java.sql.ResultSet;
+import java.util.Collection;
+
 import org.apache.sandesha2.storage.beans.CreateSeqBean;
-import org.apache.sandesha2.storage.beans.RMBean;
 
 /**
- * @author 
- * 
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
  */
-public class CreateSeqBeanMgr implements CRUD {
-	
-	private StorageManager storageMgr;
-	
-	public CreateSeqBeanMgr(int storageType) {
-		storageMgr = StorageManagerFactory.getStorageManager(storageType);
-	}
-	
-	public boolean create(RMBean bean) {
-		if (!(bean instanceof CreateSeqBean)) {
-			throw new IllegalArgumentException("argument should be CreateSeqBean type");
-		}
-		return storageMgr.createCreateSeq((CreateSeqBean) bean);
-	}
-
-	public boolean delete(String key) {
-		return storageMgr.deleteCreateSeq(key);
-	}
-	
-	public RMBean retrieve(String key) {
-		return storageMgr.retrieveCreateSeq(key);
-	}
-	
-	public boolean update(RMBean bean) {
-		return storageMgr.updateCreateSeq((CreateSeqBean) bean);
-	}
+public interface CreateSeqBeanMgr {
+	public boolean insert(CreateSeqBean bean);
+	public boolean delete(String msgId);
+	public CreateSeqBean retrieve(String msgId);
+	public boolean update(CreateSeqBean bean);
+	public Collection find(CreateSeqBean bean);
+	public ResultSet find(String query);
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -1,58 +1,35 @@
 /*
- * Copyright  1999-2004 The Apache Software Foundation.
+ * 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
+ * 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.
- *
+ * 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.storage.beanmanagers;
 
-import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.StorageManagerFactory;
+import java.sql.ResultSet;
+import java.util.Collection;
+
 import org.apache.sandesha2.storage.beans.NextMsgBean;
-import org.apache.sandesha2.storage.beans.RMBean;
 
 /**
- * @author 
- * 
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
  */
-public class NextMsgBeanMgr implements CRUD {
-	
-	private StorageManager storageMgr;
-	
-	public NextMsgBeanMgr(int storageType) {
-		storageMgr = StorageManagerFactory.getStorageManager(storageType);		
-	}
-
-	public boolean create(RMBean bean) {
-		if (!(bean instanceof NextMsgBean)) {
-			throw new IllegalArgumentException();
-		}
-		return storageMgr.createNextMsg((NextMsgBean) bean);
-	}	
-	
-	public boolean delete(String key) {
-		return storageMgr.deleteNextMsgBean(key);
-	}
-	
-	public RMBean retrieve(String key) {
-		return storageMgr.retrieveNextMsgBean(key);
-	}
-	
-	public boolean update(RMBean bean) {
-		if (!(bean instanceof NextMsgBean)) {
-			throw new IllegalArgumentException();
-		}
-		return storageMgr.updateNextMsgBean((NextMsgBean) bean);
-	}
+public interface NextMsgBeanMgr {
+	public boolean delete(String sequenceId);
+	public NextMsgBean retrieve(String sequenceId);
+	public boolean insert(NextMsgBean bean);
+	public ResultSet find(String query);
+	public Collection find(NextMsgBean bean);
+	public boolean update(NextMsgBean bean);
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/RetransmitterBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/RetransmitterBeanMgr.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/RetransmitterBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/RetransmitterBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -1,57 +1,37 @@
 /*
- * Copyright  1999-2004 The Apache Software Foundation.
+ * 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
+ * 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.
- *
+ * 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.storage.beanmanagers;
 
-import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.StorageManagerFactory;
-import org.apache.sandesha2.storage.beans.RMBean;
+import java.sql.ResultSet;
+import java.util.Collection;
+
 import org.apache.sandesha2.storage.beans.RetransmitterBean;
 
 /**
- * @author 
- * 
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
  */
-public class RetransmitterBeanMgr implements CRUD {
+public interface RetransmitterBeanMgr {
+	public boolean delete(String MessageId);
+	public RetransmitterBean retrieve(String MessageId);
+	public boolean insert(RetransmitterBean bean);
+	public ResultSet find(String query);
+	public Collection find(RetransmitterBean bean);
+	public boolean update(RetransmitterBean bean);
 	
-	private StorageManager storageMgr;
-	
-	public RetransmitterBeanMgr(int storageType) {
-		storageMgr = StorageManagerFactory.getStorageManager(storageType);
-	}
-	public boolean create(RMBean bean) {
-		if (!(bean instanceof RetransmitterBean)) {
-			throw new IllegalArgumentException();			
-		}
-		return storageMgr.createRetransmitterBean((RetransmitterBean) bean);	
-	}
-	
-	public boolean delete(String key) {
-		return storageMgr.deleteRetransmitterBean(key);
-	}
-	
-	public RMBean retrieve(String key) {
-		return storageMgr.retrieveRetransmitterBean(key);
-	}
-	
-	public boolean update(RMBean bean) {
-		if (!(bean instanceof RetransmitterBean)) {
-			throw new IllegalArgumentException();
-		}
-		return storageMgr.updateRetransmitterBean((RetransmitterBean) bean);
-	}
+
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -16,52 +16,21 @@
  */
 package org.apache.sandesha2.storage.beanmanagers;
 
-import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.StorageManagerFactory;
-import org.apache.sandesha2.storage.beans.RMBean;
+import java.sql.ResultSet;
+import java.util.Collection;
+
 import org.apache.sandesha2.storage.beans.SequencePropertyBean;
 
 /**
+ * @author Chamikara Jayalath <ch...@wso2.com>
  * @author Sanka Samaranayake <ss...@gmail.com>
  */
-public class SequencePropertyBeanMgr implements CRUD {
-
-	private StorageManager storageMgr;
-	
-	public SequencePropertyBeanMgr(int storageType){
-		storageMgr = StorageManagerFactory.getStorageManager(storageType);
-	}
-	
-	public boolean create(RMBean key) {
-		if (!(key instanceof SequencePropertyBean)) {
-			throw new IllegalArgumentException();
-		}
-		return storageMgr.createSequencePropertyBean((SequencePropertyBean) key);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.sandesha2.storage.beanmanagers.CRUD#retrieve(java.lang.String)
-	 */
-	public RMBean retrieve(String key) {
-		return storageMgr.retrieveSequencePropertyBean(key);
-	}
+public interface SequencePropertyBeanMgr {
+	public boolean delete(String sequenceId, String name);
+	public SequencePropertyBean retrieve(String sequenceId, String name);
+	public boolean insert(SequencePropertyBean bean);
+	public ResultSet find(String query);
+	public Collection find(SequencePropertyBean bean); 
+	public boolean update(SequencePropertyBean bean);
 	
-	public RMBean retrieve(String sequenceId, String name) {
-		return retrieve(sequenceId + name);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.sandesha2.storage.beanmanagers.CRUD#update(org.apache.sandesha2.storage.beans.RMBean)
-	 */
-	public boolean update(RMBean bean) {
-		if (!(bean instanceof SequencePropertyBean)) {
-			throw new IllegalArgumentException();
-		}
-		return storageMgr.updateSequencePropertyBean((SequencePropertyBean) bean);
-	}
-
-	public boolean delete(String key) {
-		return storageMgr.deleteSequencePropertyBean(key);
-	}
-
-}
+}
\ No newline at end of file

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/StorageMapBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/StorageMapBeanMgr.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/StorageMapBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/StorageMapBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -1,57 +1,35 @@
 /*
- * Copyright  1999-2004 The Apache Software Foundation.
+ * 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
+ * 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.
- *
+ * 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.storage.beanmanagers;
 
-import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.StorageManagerFactory;
-import org.apache.sandesha2.storage.beans.RMBean;
+import java.sql.ResultSet;
+import java.util.Collection;
+
 import org.apache.sandesha2.storage.beans.StorageMapBean;
 
+
 /**
- * @author 
- * 
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
  */
-public class StorageMapBeanMgr implements CRUD {
-	private StorageManager storageMgr;
-	
-	public StorageMapBeanMgr(int storageType) {
-		storageMgr = StorageManagerFactory.getStorageManager(storageType);
-	}
-
-	public boolean create(RMBean object) {
-		if (!(object instanceof StorageMapBean)) {
-			throw new IllegalArgumentException();
-		} 
-		return storageMgr.createStorageMapBean((StorageMapBean) object);
-	}
-	
-	public boolean delete(String primaryKey) {
-		return storageMgr.deleteStorageMapBean(primaryKey);
-	}
-		
-	public RMBean retrieve(String primaryKey) {
-		return storageMgr.retrieveStorageMapBean(primaryKey);
-	}
-	
-	public boolean update(RMBean bean) {
-		if (!(bean instanceof StorageMapBean)) {
-			throw new IllegalArgumentException();
-		}
-		return storageMgr.updateStorageMapBean((StorageMapBean) bean);
-	}
+public interface StorageMapBeanMgr {
+	public boolean delete(String key);
+	public StorageMapBean retrieve(String key);
+	public ResultSet find(String query);
+	public Collection find(StorageMapBean bean);
+	public boolean update(StorageMapBean bean);
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java Sat Sep 10 07:51:55 2005
@@ -1,28 +1,8 @@
-/*
- * 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.storage.beans;
 
-/**
- * @author 
- * 
- */
+import java.io.Serializable;
 
-public class CreateSeqBean implements RMBean {
+public class CreateSeqBean implements Serializable{
 	private String CreateSeqMsgId;
 	private String SequenceId;
 	
@@ -50,4 +30,4 @@
 	public void setSequenceId(String sequenceId) {
 		SequenceId = sequenceId;
 	}
-}
+}
\ No newline at end of file

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java Sat Sep 10 07:51:55 2005
@@ -17,11 +17,13 @@
 
 package org.apache.sandesha2.storage.beans;
 
+import java.io.Serializable;
+
 /**
  * @author 
  * 
  */
-public class NextMsgBean implements RMBean {
+public class NextMsgBean implements Serializable {
 	private String SequenceId;
 	private String NextMsgNoToProcess;
 	

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RetransmitterBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RetransmitterBean.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RetransmitterBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RetransmitterBean.java Sat Sep 10 07:51:55 2005
@@ -17,16 +17,18 @@
 
 package org.apache.sandesha2.storage.beans;
 
+import java.io.Serializable;
+
 /**
  * @author 
  * 
  */
-public class RetransmitterBean implements RMBean{
+public class RetransmitterBean implements Serializable {
 
-	private String MessageId;
-	private String Key;
+	private String messageId;
+	private String key;
 	private long LastSentTime;
-	private boolean Send; 
+	private Boolean Send; 
 	private String CreateSeqMsgId;
 	
 	
@@ -46,13 +48,13 @@
 	 * @return Returns the key.
 	 */
 	public String getKey() {
-		return Key;
+		return key;
 	}
 	/**
 	 * @param key The key to set.
 	 */
 	public void setKey(String key) {
-		Key = key;
+		this.key = key;
 	}
 	/**
 	 * @return Returns the lastSentTime.
@@ -70,24 +72,24 @@
 	 * @return Returns the messageId.
 	 */
 	public String getMessageId() {
-		return MessageId;
+		return messageId;
 	}
 	/**
 	 * @param messageId The messageId to set.
 	 */
 	public void setMessageId(String messageId) {
-		MessageId = messageId;
+		this.messageId = messageId;
 	}
 	/**
 	 * @return Returns the send.
 	 */
-	public boolean isSend() {
+	public Boolean isSend() {
 		return Send;
 	}
 	/**
 	 * @param send The send to set.
 	 */
-	public void setSend(boolean send) {
-		Send = send;
+	public void setSend(Boolean send) {
+		this.Send = send;
 	}
 }

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java Sat Sep 10 07:51:55 2005
@@ -16,10 +16,12 @@
  */
 package org.apache.sandesha2.storage.beans;
 
+import java.io.Serializable;
+
 /**
  * @author Sanka Samaranayake <ss...@gmail.com>
  */
-public class SequencePropertyBean implements RMBean{
+public class SequencePropertyBean implements Serializable {
 
 	private String sequenceId;
 	private String name;

Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/StorageMapBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/StorageMapBean.java?rev=280012&r1=280011&r2=280012&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/StorageMapBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/StorageMapBean.java Sat Sep 10 07:51:55 2005
@@ -17,11 +17,13 @@
 
 package org.apache.sandesha2.storage.beans;
 
+import java.io.Serializable;
+
 /**
  * @author 
  * 
  */
-public class StorageMapBean implements RMBean {
+public class StorageMapBean implements Serializable {
 
 	private String Key;
 	private int MsgNo;

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemBeanMgrFactory.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemBeanMgrFactory.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemBeanMgrFactory.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemBeanMgrFactory.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.inmemory;
+
+import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
+import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.RetransmitterBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.StorageMapBeanMgr;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class InMemBeanMgrFactory extends AbstractBeanMgrFactory {
+
+	public CreateSeqBeanMgr getCreateSeqBeanMgr() {
+		return new InMemCreateSeqBeanMgr();
+	}
+
+	public NextMsgBeanMgr getNextMsgBean() {
+		return new InMemNextMsgBeanMgr();
+	}
+
+	public RetransmitterBeanMgr getRetransmitterBeanMgr() {
+		return new InMemRetransmitterBeanMgr();
+	}
+
+	public SequencePropertyBeanMgr getSequencePropretyBeanMgr() {
+		return new InMemSequencePropretyBeanMgr();
+	}
+	
+	public StorageMapBeanMgr getStorageMapBeanMgr() {
+		return new InMemStorageMapBeanMgr();
+	}
+
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemCreateSeqBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemCreateSeqBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemCreateSeqBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemCreateSeqBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.inmemory;
+
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
+import org.apache.sandesha2.storage.beans.CreateSeqBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+
+public class InMemCreateSeqBeanMgr implements CreateSeqBeanMgr {
+	
+	private static Hashtable table = new Hashtable();
+
+	/**
+	 * 
+	 */
+	public InMemCreateSeqBeanMgr() {
+	}
+
+	public boolean insert(CreateSeqBean bean) {
+		table.put(bean.getCreateSeqMsgId(), bean);
+		return true;
+	}
+
+	public boolean delete(String msgId) {
+		return table.remove(msgId) != null;
+	}
+
+	public CreateSeqBean retrieve(String msgId) {
+		return (CreateSeqBean) table.get(msgId);
+	}
+
+	public boolean update(CreateSeqBean bean) {
+		return table.put(bean.getCreateSeqMsgId(), bean) != null;
+	}
+
+	public Collection find(CreateSeqBean bean) {
+		ArrayList beans = new ArrayList();		
+		Iterator iterator = table.values().iterator();
+		
+		CreateSeqBean temp;		
+		while (iterator.hasNext()) {
+			temp = (CreateSeqBean) iterator.next();
+			if ( (bean.getCreateSeqMsgId() != null 
+						&& bean.getCreateSeqMsgId().equals(temp.getCreateSeqMsgId()))
+						&& (bean.getSequenceId() != null 
+						&& bean.getSequenceId().equals(bean.getSequenceId()))) {
+				beans.add(temp);
+				
+			}
+		}
+		return beans;
+	}
+
+	public ResultSet find(String query) {
+		throw new UnsupportedOperationException("selectRS() is not supported");
+	}
+
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemNextMsgBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemNextMsgBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemNextMsgBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemNextMsgBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.inmemory;
+
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
+import org.apache.sandesha2.storage.beans.NextMsgBean;
+
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class InMemNextMsgBeanMgr implements NextMsgBeanMgr {
+
+	private static Hashtable table = new Hashtable();
+	/**
+	 * 
+	 */
+	public InMemNextMsgBeanMgr() {
+	}
+
+	public boolean delete(String sequenceId) {
+		return table.remove(sequenceId) != null;
+	}
+
+	public NextMsgBean retrieve(String sequenceId) {
+		return (NextMsgBean) table.get(sequenceId);
+	}
+
+	public boolean insert(NextMsgBean bean) {
+		table.put(bean.getSequenceId(), bean);
+		return true;
+	}
+
+	public ResultSet find(String query) {
+		throw new UnsupportedOperationException("selectRS() is not supported");
+	}
+
+	public Collection find(NextMsgBean bean) {
+		ArrayList beans = new ArrayList();
+		Iterator iterator = table.values().iterator();
+		
+		NextMsgBean temp;
+		while (iterator.hasNext()) {
+			temp = (NextMsgBean) iterator.next();
+			
+			if ((bean.getSequenceId() != null 
+					&& bean.getSequenceId().equals(temp.getSequenceId()))
+					&& (bean.getNextMsgNoToProcess() != null
+					&& bean.getNextMsgNoToProcess().equals(temp.getNextMsgNoToProcess()))) {
+				
+				beans.add(temp);			
+			}
+			
+		}
+		return beans;
+	}
+
+	public boolean update(NextMsgBean bean) {
+		return table.put(bean.getSequenceId(), bean) != null ;
+	}
+
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemRetransmitterBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemRetransmitterBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemRetransmitterBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemRetransmitterBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.inmemory;
+
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.apache.sandesha2.storage.beanmanagers.RetransmitterBeanMgr;
+import org.apache.sandesha2.storage.beans.RetransmitterBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class InMemRetransmitterBeanMgr implements RetransmitterBeanMgr {
+	private static Hashtable table = new Hashtable();
+	
+	/**
+	 * 
+	 */
+	public InMemRetransmitterBeanMgr() {
+	}
+
+	public boolean delete(String MessageId) {
+		return table.remove(MessageId) != null;
+	}
+	
+	public RetransmitterBean retrieve(String MessageId) {
+		return (RetransmitterBean) table.get(MessageId);
+	}
+
+	public boolean insert(RetransmitterBean bean) {
+		table.put(bean.getMessageId(), bean);
+		return true;
+	}
+
+	public ResultSet find(String query) {
+		throw new UnsupportedOperationException("selectRS() is not supported");
+	}
+
+	public Collection find(RetransmitterBean bean) {
+		ArrayList beans = new ArrayList();
+		Iterator iterator = table.values().iterator();
+		
+		RetransmitterBean temp;
+		while (iterator.hasNext()) {
+			temp = (RetransmitterBean) iterator.next();
+			if (!(bean.getMessageId() != null 
+					&& bean.getMessageId().equals(temp.getMessageId()))
+					&& (bean.getCreateSeqMsgId() != null
+					&& bean.getCreateSeqMsgId().equals(temp.getCreateSeqMsgId()))
+					&& (bean.getKey() != null 
+					&& bean.getKey().equals(temp.getKey()))
+					&& (bean.getLastSentTime() != -1 
+					&& bean.getLastSentTime() == temp.getLastSentTime())){
+				
+				beans.add(temp);				
+			}
+		}
+		
+		return beans;
+	}
+
+	public boolean update(RetransmitterBean bean) {
+		return table.put(bean.getMessageId(), bean) != null;
+	}
+
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemSequencePropretyBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemSequencePropretyBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemSequencePropretyBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemSequencePropretyBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.inmemory;
+
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.SequencePropertyBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class InMemSequencePropretyBeanMgr implements SequencePropertyBeanMgr {
+	private static Hashtable table = new Hashtable();
+
+	/**
+	 * 
+	 */
+	public InMemSequencePropretyBeanMgr() {
+	}
+
+	public boolean delete(String sequenceId, String name) {
+		return table.remove(sequenceId +":" + name) != null;
+	}
+
+	public SequencePropertyBean retrieve(String sequenceId, String name) {
+		return (SequencePropertyBean) table.get(sequenceId + ":" + name);
+	}
+	
+	public boolean insert(SequencePropertyBean bean) {
+		table.put(bean.getSequenceId() + ":" + bean.getName(), bean);
+		return true;
+	}
+
+	public ResultSet find(String query) {
+		throw new UnsupportedOperationException("selectRS() is not supported");
+	}
+
+	public Collection find(SequencePropertyBean bean) {
+		ArrayList beans = new ArrayList();
+		Iterator iterator = table.values().iterator();
+		SequencePropertyBean temp;
+		
+		while (iterator.hasNext()) {
+			temp = (SequencePropertyBean) iterator.next();
+			
+			if ((bean.getSequenceId() != null 
+					&& bean.getSequenceId().equals(temp.getSequenceId()))
+					&& (bean.getName() != null 
+					&& bean.getName().equals(temp.getName()))
+					&& (bean.getValue() != null 
+					&& bean.getValue().equals(temp.getValue()))) {
+				
+				beans.add(temp);				
+			}
+		}
+		return beans;
+	}
+
+	public boolean update(SequencePropertyBean bean) {
+		return table.put(getId(bean), bean) != null;
+		
+	}
+	
+	private String getId(SequencePropertyBean bean) {
+		return bean.getSequenceId() + ":" + bean.getName();
+	}
+
+}
\ No newline at end of file

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemStorageMapBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemStorageMapBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemStorageMapBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemStorageMapBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.inmemory;
+
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.apache.sandesha2.storage.beanmanagers.StorageMapBeanMgr;
+import org.apache.sandesha2.storage.beans.StorageMapBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class InMemStorageMapBeanMgr implements StorageMapBeanMgr {
+	private static Hashtable table = new Hashtable();
+	
+	/**
+	 * 
+	 */
+	public InMemStorageMapBeanMgr() {
+	}
+
+	public boolean delete(String key) {
+		return table.remove(key) != null; 
+	}
+
+	public StorageMapBean retrieve(String key) {
+		return (StorageMapBean) table.get(key);
+	}
+
+	public ResultSet find(String query) {
+		throw new UnsupportedOperationException("selectRS() is not implemented");
+	}
+	
+	public Collection find(StorageMapBean bean) {
+		ArrayList beans = new ArrayList();
+		Iterator iterator = table.values().iterator();
+		
+		StorageMapBean temp = new StorageMapBean();
+		while (iterator.hasNext()) {
+			temp = (StorageMapBean) iterator.next();
+			if ((bean.getKey() != null 
+					&& bean.getKey().equals(temp.getKey()))
+					&& (bean.getMsgNo() != -1 
+					&& bean.getMsgNo() == temp.getMsgNo())
+					&& (bean.getSequenceId() != null 
+					&& bean.getSequenceId().equals(temp.getSequenceId()))) {
+				
+				beans.add(temp);
+			}
+		}
+		return beans;
+	}
+	
+	public boolean update(StorageMapBean bean) {
+		return table.put(bean.getKey(), bean) != null;
+	}
+
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentBeanMgrFactory.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentBeanMgrFactory.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentBeanMgrFactory.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentBeanMgrFactory.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.persistent;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+
+import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
+import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.RetransmitterBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beanmanagers.StorageMapBeanMgr;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class PersistentBeanMgrFactory extends AbstractBeanMgrFactory {
+	
+	private static String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
+	private static String PROTOCOL = "jdbc:derby:";
+	private static String SANDESHA2_DB = "sandesha2_db";
+	
+	private static String CREATE_SEQUENCE_TABLE = "CREATE TABLE CreateSequence(CreateSeqMsgId VARCHAR(200), SequenceId VARCHAR(200))";
+	private static String CREATE_NEXT_MSG_TABLE = "CREATE TABLE NextMsgSequence(SequenceId VARCHAR(200), NextMsgToProcess VARCHAR(200))";
+	private static String CREATE_RETRANSMITTER_TABLE = "CREATE TABLE Retransmitter(MessageId VARCHAR(200), RKey VARCHAR(200), LastSentTime BIGINT, Send CHAR(1), CreateSeqMsgId VARCHAR(200))";
+	private static String CREATE_STORAGE_MAP_TABLE = "CREATE TABLE StorageMap(SKey VARCHAR(200),MsgNo INTEGER, SequenceId VARCHAR(200))";
+	private static String CREATE_SEQUENCE_PROPERTY_TABLE = "CREATE TABLE SequenceProperty(SequenceId VARCHAR(200), Name VARCHAR(50), Value VARCHAR(200))";
+	
+	private static Connection connection = null;
+	
+	static {
+		try {
+			Class.forName(DRIVER);
+		} catch (Exception ex) {
+			throw new RuntimeException("cannot load the driver", ex);
+		}
+		
+		try {
+			connection = DriverManager.getConnection(PROTOCOL + SANDESHA2_DB);
+			connection.setAutoCommit(false);
+			
+		} catch (Exception ex) {
+			// db might not exist ..
+			try {
+				String str = PROTOCOL + SANDESHA2_DB + ";create=true";
+				connection = DriverManager.getConnection(str);
+				Statement statement = connection.createStatement();
+				statement.executeUpdate(CREATE_SEQUENCE_TABLE);
+				statement.executeUpdate(CREATE_NEXT_MSG_TABLE);
+				statement.executeUpdate(CREATE_RETRANSMITTER_TABLE);
+				statement.executeUpdate(CREATE_STORAGE_MAP_TABLE);
+				statement.executeUpdate(CREATE_SEQUENCE_PROPERTY_TABLE);
+				
+				connection.setAutoCommit(false);
+			} catch (Exception e) {
+				
+				throw new RuntimeException("cannot create the db", e);
+			}
+			
+		}
+	}
+	
+	public static Connection getConnection() {
+		return connection;
+	}
+
+	public CreateSeqBeanMgr getCreateSeqBeanMgr() {
+		return new PersistentCreateSeqBeanMgr();
+	}
+	
+	public NextMsgBeanMgr getNextMsgBean() {
+		return new PersistentNextMsgBeanMgr();
+	}
+	
+	public RetransmitterBeanMgr getRetransmitterBeanMgr() {
+		return new PersistentRetransmitterBeanMgr();
+	}
+	
+	public SequencePropertyBeanMgr getSequencePropretyBeanMgr() {
+		return new PersistentSequencePropretyBeanMgr();
+	}
+
+	public StorageMapBeanMgr getStorageMapBeanMgr() {
+		return new PersistentStorageMapBeanMgr();
+	}
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentCreateSeqBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentCreateSeqBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentCreateSeqBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentCreateSeqBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,151 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.persistent;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
+import org.apache.sandesha2.storage.beans.CreateSeqBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class PersistentCreateSeqBeanMgr implements CreateSeqBeanMgr {
+	
+	public boolean delete(String msgId) {
+		String query = "DELETE FROM CreateSequence WHERE CreateSeqMsgId = '" + msgId + "'" ;
+		
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+			
+		} catch (SQLException ex) {
+			//TODO log this error
+			ex.printStackTrace();			
+		}
+		return false;
+	}
+	
+	public CreateSeqBean retrieve(String msgId) {
+		String query = "SELECT * FROM CreateSequence WHERE  CreateSeqMsgId = '" 
+			+ msgId + "'";
+			
+		try {
+			CreateSeqBean bean = new CreateSeqBean();
+			ResultSet rs = getStatement().executeQuery(query);
+			rs.next();
+			bean.setCreateSeqMsgId(rs.getString("CreateSeqMsgId"));
+			bean.setSequenceId(rs.getString("SequenceId"));
+			
+			return bean;
+		
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+		}
+		return null;
+	}
+	
+	public boolean insert(CreateSeqBean bean) {
+		String query = ("INSERT INTO CreateSequence VALUES ( " 
+				+ "'" + bean.getCreateSeqMsgId() + "', "
+				+ "'" + bean.getSequenceId() + "')");
+		
+		try {
+			getStatement().executeUpdate(query);
+			ResultSet executeQuery = getStatement().executeQuery("select * from CreateSequence");
+			
+			return true;
+		} catch (SQLException ex) {
+			// TODO logs the error .. 
+		}	
+		return false;
+	}
+
+	public ResultSet find(String query) {
+		try {
+			getStatement().executeUpdate(query);
+			ResultSet rs = getStatement().executeQuery(query);
+			return rs;
+		} catch (SQLException ex) {
+			// TODO logs the error .. 
+			ex.printStackTrace();
+		}	
+		return null;
+	}
+	
+	public Collection find(CreateSeqBean bean) {
+		StringBuffer query = new StringBuffer();
+		
+		query.append("SELECT * FROM CreateSequence WHERE");
+		
+		query.append((bean.getCreateSeqMsgId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND CreateMsgSeqId = " + bean.getCreateSeqMsgId() 
+														: " CreateMsgSeqId = " + bean.getCreateSeqMsgId()
+				: "");
+		query.append((bean.getSequenceId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND SequenceId = " + bean.getSequenceId()
+														: " SequenceId = " + bean.getSequenceId()
+				: "");	
+		String queryString = query.toString();
+		
+		if (queryString.indexOf("=") == -1) {
+			query.replace(queryString.indexOf("WHERE"), queryString.length(), "");
+		}
+			
+		try {
+			ResultSet rs = getStatement().executeQuery(query.toString().trim());
+			ArrayList beans = new ArrayList();
+			CreateSeqBean nbean;
+			while (rs.next()) {
+				nbean =new CreateSeqBean();
+				nbean.setCreateSeqMsgId(rs.getString("CreateSeqMsgId"));
+				nbean.setSequenceId(rs.getString("SequenceId"));
+				beans.add(nbean);
+			}			
+			return beans;
+		
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return null;
+	}
+
+	public boolean update(CreateSeqBean bean) {
+		String query = "UPDATE CreateSequence SET CreateSeqMsgId = '" + bean.getCreateSeqMsgId() + "', "
+				+ "SequenceId = '" + bean.getSequenceId() + "' "
+				+ "WHERE CreateSeqMsgId = '" + bean.getCreateSeqMsgId() + "'";
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+		} catch (SQLException ex) {
+			//TODO log the error ..
+			ex.printStackTrace();
+		}
+		
+		return false;
+	}
+	
+	private Statement getStatement() throws SQLException {
+		return PersistentBeanMgrFactory.getConnection().createStatement();
+	}
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentNextMsgBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentNextMsgBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentNextMsgBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentNextMsgBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,150 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.persistent;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
+import org.apache.sandesha2.storage.beans.NextMsgBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class PersistentNextMsgBeanMgr implements NextMsgBeanMgr {
+
+	public boolean delete(String sequenceId) {
+		String query = "DELETE FROM NextMsgSequence WHERE NextMsgSequence = '" + sequenceId + "'" ;
+		
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+			
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}		
+		return false;
+	}
+
+	public NextMsgBean retrieve(String sequenceId) {
+		String query = "SELECT * FROM NextMsgSequence WHERE  SequenceId = '" 
+			+ sequenceId + "'";
+			
+		try {
+			NextMsgBean bean = new NextMsgBean();
+			ResultSet rs = getStatement().executeQuery(query);
+			rs.next();
+			bean.setSequenceId(rs.getString("SequenceId"));
+			bean.setNextMsgNoToProcess(rs.getString("NextMsgToProcess"));
+			return bean;
+			
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();			
+		}
+		return null;
+	}
+
+	public boolean insert(NextMsgBean bean) {
+		String query = ("INSERT INTO NextMsgSequence VALUES ( "
+				+ "'" + bean.getSequenceId() + "', " 
+				+ "'" + bean.getNextMsgNoToProcess() + "')");
+		
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return false;
+	}
+
+	public ResultSet find(String query) {
+		try {
+			getStatement().executeUpdate(query);
+			ResultSet rs = getStatement().executeQuery(query);
+			return rs;
+		} catch (SQLException ex) {
+			// TODO logs the error .. 
+			ex.printStackTrace();
+		}	
+		return null;
+	}
+
+	public Collection find(NextMsgBean bean) {
+		StringBuffer query = new StringBuffer();
+		
+		query.append("SELECT * FROM NextMsgSequence WHERE");
+		
+		query.append((bean.getSequenceId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND SequenceId = " + bean.getSequenceId() 
+														: " SequenceId = " + bean.getSequenceId()
+				: "");
+		query.append((bean.getSequenceId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND NextMsgToProcess = " + bean.getNextMsgNoToProcess()
+														: " NextMsgToProcess = " + bean.getNextMsgNoToProcess()
+				: "");	
+		String queryString = query.toString();
+		
+		if (queryString.indexOf("=") == -1) {
+			query.replace(queryString.indexOf("WHERE"), queryString.length(), "");
+		}
+			
+		try {
+			ResultSet rs = getStatement().executeQuery(query.toString().trim());
+			ArrayList beans = new ArrayList();
+			NextMsgBean nbean;
+			while (rs.next()) {
+				nbean =new NextMsgBean();
+				nbean.setSequenceId(rs.getString("SequenceId"));
+				nbean.setNextMsgNoToProcess(rs.getString("NextMsgToProcess"));
+				beans.add(nbean);
+			}			
+			return beans;
+		
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return null;
+	}
+	
+	public boolean update(NextMsgBean bean) {
+		String query = ("UPDATE NextMsgSequence SET " 
+				+ "SequenceId = '" + bean.getSequenceId() + "', "
+				+ "NextMsgToProcess = '" + bean.getNextMsgNoToProcess() + "'");
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+		} catch (SQLException ex) {
+			ex.printStackTrace();
+			throw new RuntimeException(ex.getMessage());
+		}
+		
+	}
+	
+	private Statement getStatement() throws SQLException {
+		return PersistentBeanMgrFactory.getConnection().createStatement();		
+	}
+
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentRetransmitterBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentRetransmitterBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentRetransmitterBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentRetransmitterBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.persistent;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.sandesha2.storage.beanmanagers.RetransmitterBeanMgr;
+import org.apache.sandesha2.storage.beans.RetransmitterBean;
+
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class PersistentRetransmitterBeanMgr implements RetransmitterBeanMgr {
+	
+	public boolean delete(String messageId) {
+		String query = "DELETE FROM Retransmitter WHERE RKey = '" + messageId + "'" ;
+		
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+			
+		} catch (SQLException ex) {
+			//TODO
+			ex.printStackTrace();
+			
+		}
+		return false;
+	}
+	
+	public boolean insert(RetransmitterBean bean) {
+		String query = ("INSERT INTO Retransmitter VALUES ( " 
+				+ "'" + bean.getMessageId() + "', "
+				+ "'" + bean.getKey() + "', " 
+				+ bean.getLastSentTime() +", "
+				+ ((bean.isSend().booleanValue()) ? "'T'" : "'F'") + ", "
+				+ "'" + bean.getCreateSeqMsgId() + "'"
+				+ ")");
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+		} catch (SQLException ex) {
+			//TODO logs the error .. 
+			ex.printStackTrace();
+		}
+		return false;
+	}
+	
+	public RetransmitterBean retrieve(String messageId) {
+		String query = "SELECT * FROM Retransmitter WHERE MessageId = '" + messageId + "'";
+
+		try {
+			RetransmitterBean bean = new RetransmitterBean();
+			ResultSet rs = getStatement().executeQuery(query);
+			rs.next();
+			bean.setCreateSeqMsgId(rs.getString("CreateSeqMsgId"));
+			bean.setKey(rs.getString("RKey"));
+			bean.setLastSentTime(rs.getLong("LastSentTime"));
+			bean.setMessageId(rs.getString("MessageId"));
+			bean.setSend(new Boolean(rs.getBoolean("Send")));
+				
+			return bean;
+			
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();					
+		}
+		return null;
+	}
+
+	public ResultSet find(String query) {
+		try {
+			getStatement().executeUpdate(query);
+			ResultSet rs = getStatement().executeQuery(query);
+			return rs;
+		} catch (SQLException ex) {
+			// TODO logs the error .. 
+			ex.printStackTrace();
+		}	
+		return null;
+	}
+	
+	public Collection find(RetransmitterBean bean) {
+		StringBuffer query = new StringBuffer();
+		
+		query.append("SELECT * FROM Retransmitter WHERE");
+		
+		query.append((bean.getMessageId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND MessageId = " + bean.getMessageId() 
+														: " MessageId = " + bean.getMessageId()
+				: "");
+		query.append((bean.getCreateSeqMsgId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND CreateSequenceMsgId = " + bean.getCreateSeqMsgId()
+														: " CreateSequenceMsgId = " + bean.getCreateSeqMsgId()
+				: "");
+		query.append((bean.getKey() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND RKey = " + bean.getKey()
+														: " RKey = " + bean.getKey()
+				: "");
+		query.append((bean.getLastSentTime() != -1) 
+				? (query.toString().indexOf("=") != -1) ? " AND LastSentTime = " + bean.getLastSentTime()
+														: " LastSentTime = " + bean.getLastSentTime()
+				: "");
+		query.append((bean.isSend() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND Send = '" + bean.isSend().booleanValue() + "'"
+														: " Send = '" + bean.isSend().booleanValue() + "'"
+				: "");
+		
+		String queryString = query.toString();
+		
+		if (queryString.indexOf("=") == -1) {
+			query.replace(queryString.indexOf("WHERE"), queryString.length(), "");
+		}
+			
+		try {
+			ResultSet rs = getStatement().executeQuery(query.toString().trim());
+			ArrayList beans = new ArrayList();
+			RetransmitterBean nbean;
+			while (rs.next()) {
+				nbean = new RetransmitterBean();
+				nbean.setMessageId(rs.getString("MessageId"));
+				nbean.setCreateSeqMsgId(rs.getString("CreateSeqMsgId"));
+				nbean.setKey(rs.getString("RKey"));
+				nbean.setLastSentTime(rs.getLong("LastSentTime"));
+				nbean.setSend(new Boolean(rs.getBoolean("Send")));
+				beans.add(nbean);
+			}			
+			return beans;
+		
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return null;
+	}
+	
+	public boolean update(RetransmitterBean bean) {
+		String query = "UPDATE Retransmitter SET " 
+			+ "MessageId = '" + bean.getMessageId() + "', "
+			+ "RKey = '" + bean.getKey() + "', " 
+			+ "LastSentTime = "+ bean.getLastSentTime() +", "
+			+ "Send = " + ((bean.isSend().booleanValue()) ? "'T'" : "'F'") + ", "
+			+ "CreateSeqMsgId = '" + bean.getCreateSeqMsgId() + "'";
+		
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return false;
+	}
+	
+	private Statement getStatement() throws SQLException {
+		return PersistentBeanMgrFactory.getConnection().createStatement();
+	}
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentSequencePropretyBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentSequencePropretyBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentSequencePropretyBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentSequencePropretyBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.persistent;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.SequencePropertyBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class PersistentSequencePropretyBeanMgr implements SequencePropertyBeanMgr {
+
+	public boolean delete(String sequenceId, String name) {
+		String query = "DELETE FROM SequenceProperty WHERE SequenceId = '" 
+			+ sequenceId + ":" + name + "'" ;
+		
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+			
+		} catch (SQLException ex) {
+			// TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return false;
+	}
+
+	public SequencePropertyBean retrieve(String sequenceId, String name) {
+		String query = "SELECT * FROM SequenceProperty WHERE  SequenceId = '" 
+			+ sequenceId + ":" + name + "'";
+			
+		try {
+			SequencePropertyBean bean = new SequencePropertyBean();
+			ResultSet rs = getStatement().executeQuery(query);
+			rs.next();
+			bean.setSequenceId(rs.getString("SequenceId"));
+			bean.setName(rs.getString("Name"));
+			bean.setValue(rs.getString("Value"));
+			
+			return bean;
+			
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return null;
+	}
+	
+	public boolean insert(SequencePropertyBean bean) {
+		String query = ("INSERT INTO SequenceProperty VALUES ( " 
+				+ "'" + bean.getSequenceId() + "', "
+				+ "'" + bean.getName() + "', " 
+				+ "'" + bean.getValue() + ", "
+				+ ")");
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+		} catch (SQLException ex) {
+			//TODO logs the error .. 
+			ex.printStackTrace();
+		}
+		return false;
+	}
+
+	public ResultSet find(String query) {
+		try {
+			getStatement().executeUpdate(query);
+			ResultSet rs = getStatement().executeQuery(query);
+			return rs;
+		} catch (SQLException ex) {
+			// TODO logs the error .. 
+			ex.printStackTrace();
+		}	
+		return null;
+	}
+
+	public Collection find(SequencePropertyBean bean) {
+		StringBuffer query = new StringBuffer();
+		
+		query.append("SELECT * FROM SequenceProperty WHERE");
+		
+		query.append((bean.getSequenceId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND SequenceId = " + bean.getSequenceId() 
+														: " SequenceId = " + bean.getSequenceId()
+				: "");
+		query.append((bean.getName() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND Name = " + bean.getName()
+														: " Name = " + bean.getName()
+				: "");	
+		query.append((bean.getValue() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND Value = " + bean.getValue()
+														: " Value = " + bean.getValue()
+				: "");	
+		String queryString = query.toString();
+		
+		if (queryString.indexOf("=") == -1) {
+			query.replace(queryString.indexOf("WHERE"), queryString.length(), "");
+		}
+			
+		try {
+			ResultSet rs = getStatement().executeQuery(query.toString().trim());
+			ArrayList beans = new ArrayList();
+			SequencePropertyBean nbean;
+			while (rs.next()) {
+				nbean = new SequencePropertyBean();
+				nbean.setSequenceId(rs.getString("SequenceId"));
+				nbean.setName(rs.getString("Name"));
+				nbean.setValue(rs.getString("Value"));
+				beans.add(nbean);
+			}			
+			return beans;
+		
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+		}
+		return null;
+	}
+
+	public boolean update(SequencePropertyBean bean) {
+		String query = ("UPDATE SequenceProperty SET " 
+				+ "SequenceId = '" + bean.getSequenceId() + "', " 
+				+"Name = '" + bean.getName() +"', "
+				+ "Value = '" + bean.getValue() + "'");
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+		} catch (SQLException ex) {
+			//TODO logs the error .. 
+			ex.printStackTrace();
+		}
+		return false;
+		
+	}
+	
+	private Statement getStatement() throws SQLException {
+		return PersistentBeanMgrFactory.getConnection().createStatement();
+	}
+
+}

Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentStorageMapBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentStorageMapBeanMgr.java?rev=280012&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentStorageMapBeanMgr.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/PersistentStorageMapBeanMgr.java Sat Sep 10 07:51:55 2005
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.sandesha2.storage.persistent;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.sandesha2.storage.beanmanagers.StorageMapBeanMgr;
+import org.apache.sandesha2.storage.beans.CreateSeqBean;
+import org.apache.sandesha2.storage.beans.StorageMapBean;
+
+/**
+ * @author Chamikara Jayalath <ch...@wso2.com>
+ * @author Sanka Samaranayake <ss...@gmail.com>
+ */
+public class PersistentStorageMapBeanMgr implements StorageMapBeanMgr {
+
+	public boolean delete(String key) {		
+		String query = "DELETE FROM StorageMap WHERE SKey = '" + key + "'" ;
+		try {
+			getStatement().executeUpdate(query);
+			return true;
+			
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();			
+		}
+		return false;
+	}
+	
+	public StorageMapBean retrieve(String key) {
+		String query = "SELECT * FROM StorageMap WHERE  SKey = '" 
+			+ key + "'";
+			
+		try {
+			StorageMapBean bean = new StorageMapBean();
+			ResultSet rs = getStatement().executeQuery(query);
+			rs.next();
+			bean.setKey(rs.getString("SKey"));
+			bean.setMsgNo(rs.getInt("MsgNo"));
+			bean.setSequenceId(rs.getString("SequenceId"));
+			
+			return bean;
+			
+		} catch (SQLException ex) {
+			// TODO logs the error ..
+			ex.printStackTrace();			
+		}
+		return null;
+	}
+	
+	public ResultSet find(String query) {
+		try {
+			getStatement().executeUpdate(query);
+			ResultSet rs = getStatement().executeQuery(query);
+			return rs;
+		} catch (SQLException ex) {
+			// TODO logs the error .. 
+			ex.printStackTrace();
+		}	
+		return null;
+	}
+
+	public Collection find(StorageMapBean bean) {
+		StringBuffer query = new StringBuffer();
+
+		query.append("SELECT * FROM StorageMap WHERE");
+		query.append((bean.getKey() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND SKey = " + bean.getKey() 
+														: " SKey = " + bean.getKey()
+				: "");
+		query.append((bean.getMsgNo() != -1) 
+				? (query.toString().indexOf("=") != -1) ? " AND MsgNo = " + bean.getMsgNo()
+														: " MsgNo = " + bean.getMsgNo()
+				: "");
+		query.append((bean.getSequenceId() != null) 
+				? (query.toString().indexOf("=") != -1) ? " AND SequenceId = " + bean.getSequenceId()
+														: " SequenceId = " + bean.getSequenceId()
+				: "");
+		
+		String queryString = query.toString();
+		
+		if (queryString.indexOf("=") == -1) {
+			query.replace(queryString.indexOf("WHERE"), queryString.length(), "");
+		}
+			
+		try {
+			ResultSet rs = getStatement().executeQuery(query.toString().trim());
+			ArrayList beans = new ArrayList();
+			StorageMapBean nbean;
+			while (rs.next()) {
+				nbean = new StorageMapBean();
+				nbean.setKey(rs.getString("SKey"));
+				nbean.setSequenceId(rs.getString("SequenceId"));
+				nbean.setMsgNo(rs.getInt("MsgNo"));
+				beans.add(nbean);
+			}			
+			return beans;
+		
+		} catch (SQLException ex) {
+			//TODO logs the error ..
+			ex.printStackTrace();
+		}
+		return null;
+	}
+
+	public boolean update(StorageMapBean bean) {
+		
+		throw new UnsupportedOperationException();
+	}
+	
+	public Statement getStatement() throws SQLException {
+		return PersistentBeanMgrFactory.getConnection().createStatement();
+	}
+
+}



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