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