Author: chamikara
Date: Sun Sep 9 21:39:41 2007
New Revision: 574127
URL: http://svn.apache.org/viewvc?rev=574127&view=rev
Log:
Added a method to the InMemoryBeanMgr.java to check for Key conflicts. Other
BeanManagers were modified use this when inserting entries to see whether the
new entry have conflicts with the old once.
Modified:
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryBeanMgr.java
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMDBeanMgr.java
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMSBeanMgr.java
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/util/SequenceManager.java
Modified:
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryBeanMgr.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryBeanMgr.java?rev=574127&r1=574126&r2=574127&view=diff
==============================================================================
---
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryBeanMgr.java
(original)
+++
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryBeanMgr.java
Sun Sep 9 21:39:41 2007
@@ -146,5 +146,25 @@
return result;
}
-
+
+ /**
+ * This try to find conflicting entries in the current table with the
passed findBean list.
+ * Each find bean represents a key.
+ *
+ * @param findBeanList
+ * @throws SandeshaStorageException
+ */
+ protected void checkKeys (List findBeanList) throws
SandeshaStorageException {
+
+ for (Iterator iter = findBeanList.iterator(); iter.hasNext();) {
+ RMBean rmBean = (RMBean) iter.next();
+
+ List conflicts = find(rmBean);
+ if (conflicts.size()>0) {
+ //we only report the first conflict here.
+ throw new SandeshaStorageException ("Key
conflict occured with the bean " + conflicts.get(0));
+ }
+ }
+ }
+
}
Modified:
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java?rev=574127&r1=574126&r2=574127&view=diff
==============================================================================
---
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java
(original)
+++
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java
Sun Sep 9 21:39:41 2007
@@ -17,6 +17,7 @@
package org.apache.sandesha2.storage.inmemory;
+import java.util.ArrayList;
import java.util.List;
import org.apache.axis2.context.AbstractContext;
@@ -25,6 +26,7 @@
import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beanmanagers.InvokerBeanMgr;
import org.apache.sandesha2.storage.beans.InvokerBean;
+import org.apache.sandesha2.storage.beans.RMSBean;
public class InMemoryInvokerBeanMgr extends InMemoryBeanMgr implements
InvokerBeanMgr {
@@ -33,6 +35,18 @@
}
public boolean insert(InvokerBean bean) throws SandeshaStorageException
{
+
+ //checking weather there are any conflicting entries in the
current table.
+ List findBeanList = new ArrayList ();
+
+ InvokerBean findBean = new InvokerBean ();
+ if (bean.getMessageContextRefKey()!=null) {
+ findBean.setMessageContextRefKey
(bean.getMessageContextRefKey());
+ findBeanList.add(findBean);
+ }
+
+ checkKeys (findBeanList);
+
boolean result = super.insert(bean.getMessageContextRefKey(),
bean);
mgr.getInMemoryTransaction().setReceivedMessages(true);
return result;
Modified:
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMDBeanMgr.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMDBeanMgr.java?rev=574127&r1=574126&r2=574127&view=diff
==============================================================================
---
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMDBeanMgr.java
(original)
+++
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMDBeanMgr.java
Sun Sep 9 21:39:41 2007
@@ -17,6 +17,7 @@
package org.apache.sandesha2.storage.inmemory;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -26,6 +27,7 @@
import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
import org.apache.sandesha2.storage.beans.RMDBean;
+import org.apache.sandesha2.storage.beans.RMSBean;
public class InMemoryRMDBeanMgr extends InMemoryBeanMgr implements RMDBeanMgr {
@@ -42,6 +44,19 @@
}
public boolean insert(RMDBean bean) throws SandeshaStorageException {
+
+ //checking weather there are any conflicting entries in the
current table.
+ List findBeanList = new ArrayList ();
+
+ RMDBean findBean = new RMDBean ();
+
+ if (bean.getSequenceID()!=null) {
+ findBean.setSequenceID(bean.getSequenceID());
+ findBeanList.add(findBean);
+ }
+
+ checkKeys (findBeanList);
+
return super.insert(bean.getSequenceID(), bean);
}
Modified:
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMSBeanMgr.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMSBeanMgr.java?rev=574127&r1=574126&r2=574127&view=diff
==============================================================================
---
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMSBeanMgr.java
(original)
+++
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryRMSBeanMgr.java
Sun Sep 9 21:39:41 2007
@@ -17,6 +17,8 @@
package org.apache.sandesha2.storage.inmemory;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.apache.axis2.context.AbstractContext;
@@ -24,6 +26,8 @@
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beanmanagers.RMSBeanMgr;
+import org.apache.sandesha2.storage.beans.RMBean;
+import org.apache.sandesha2.storage.beans.RMDBean;
import org.apache.sandesha2.storage.beans.RMSBean;
public class InMemoryRMSBeanMgr extends InMemoryBeanMgr implements RMSBeanMgr {
@@ -33,6 +37,24 @@
}
public boolean insert(RMSBean bean) throws SandeshaStorageException {
+
+ //checking weather there are any conflicting entries in the
current table.
+ List findBeanList = new ArrayList ();
+
+ RMSBean findBean = new RMSBean ();
+ if (bean.getSequenceID()!=null) {
+ findBean.setSequenceID(bean.getSequenceID());
+ findBeanList.add(findBean);
+ }
+
+ if (bean.getCreateSeqMsgID()!=null) {
+ findBean = new RMSBean ();
+ findBean.setCreateSeqMsgID(bean.getCreateSeqMsgID());
+ findBeanList.add(findBean);
+ }
+
+ checkKeys (findBeanList);
+
return super.insert(bean.getCreateSeqMsgID(), bean);
}
@@ -55,5 +77,5 @@
public RMSBean findUnique (RMSBean bean) throws SandeshaException {
return (RMSBean) super.findUnique(bean);
}
-
+
}
Modified:
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java?rev=574127&r1=574126&r2=574127&view=diff
==============================================================================
---
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java
(original)
+++
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java
Sun Sep 9 21:39:41 2007
@@ -17,6 +17,7 @@
package org.apache.sandesha2.storage.inmemory;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -29,6 +30,7 @@
import org.apache.sandesha2.i18n.SandeshaMessageKeys;
import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
+import org.apache.sandesha2.storage.beans.RMSBean;
import org.apache.sandesha2.storage.beans.SenderBean;
public class InMemorySenderBeanMgr extends InMemoryBeanMgr implements
SenderBeanMgr {
@@ -51,6 +53,18 @@
if (bean.getMessageID() == null)
throw new
SandeshaStorageException(SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.nullMsgId));
+
+ //checking weather there are any conflicting entries in the
current table.
+ List findBeanList = new ArrayList ();
+
+ SenderBean findBean = new SenderBean ();
+ if (bean.getMessageID()!=null) {
+ findBean.setMessageID (bean.getMessageID());
+ findBeanList.add(findBean);
+ }
+
+ checkKeys (findBeanList);
+
boolean result = super.insert(bean.getMessageID(), bean);
mgr.getInMemoryTransaction().setSentMessages(true);
return result;
Modified:
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/util/SequenceManager.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/util/SequenceManager.java?rev=574127&r1=574126&r2=574127&view=diff
==============================================================================
---
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/util/SequenceManager.java
(original)
+++
webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2/util/SequenceManager.java
Sun Sep 9 21:39:41 2007
@@ -279,6 +279,7 @@
public static boolean hasSequenceTimedOut(RMSBean rmsBean, String
internalSequenceId, StorageManager storageManager)
throws SandeshaException {
+ //FIXME - get this policy from the service level.
SandeshaPolicyBean propertyBean =
SandeshaUtil.getPropertyBean(storageManager.getContext().getAxisConfiguration());
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]