You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2007/09/10 06:39:43 UTC

svn commit: r574127 - in /webservices/sandesha/branches/sandesha2/java/1_3/modules/core/src/main/java/org/apache/sandesha2: storage/inmemory/ util/

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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org