[jboss-svn-commits] JBL Code SVN: r33156 - labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat May 29 16:36:27 EDT 2010
Author: mark.little at jboss.com
Date: 2010-05-29 16:36:26 -0400 (Sat, 29 May 2010)
New Revision: 33156
Removed:
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/BaseStore.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ParticipantStore.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/RecoveryStore.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/TxLog.java
Modified:
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStore.java
Log:
https://jira.jboss.org/browse/JBTM-683
Deleted: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/BaseStore.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/BaseStore.java 2010-05-29 16:27:52 UTC (rev 33155)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/BaseStore.java 2010-05-29 20:36:26 UTC (rev 33156)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 1998, 1999, 2000, 2001,
- *
- * Arjuna Solutions Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- */
-
-package com.arjuna.ats.arjuna.objectstore;
-
-/**
- * The BasicStore provides core methods that all implementations MUST provide.
- *
- * @author Mark Little (mark at arjuna.com)
- * @version $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- * @since JTS 1.0.
- */
-
-public interface BaseStore
-{
- /**
- * The type of the object store. This is used to order the
- * instances in the intentions list.
- *
- * @return the type of the record.
- * @see com.arjuna.ats.arjuna.coordinator.RecordType
- */
-
- public int typeIs ();
-
- /**
- * @return the "name" of the object store. Where in the hierarchy it appears, e.g., /ObjectStore/MyName/...
- */
-
- public String getStoreName ();
-}
-
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStore.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStore.java 2010-05-29 16:27:52 UTC (rev 33155)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ObjectStore.java 2010-05-29 20:36:26 UTC (rev 33156)
@@ -59,14 +59,203 @@
* @message com.arjuna.ats.arjuna.objectstore.ObjectStore_1 [com.arjuna.ats.arjuna.objectstore.ObjectStore_1] - No implementation!
*/
-public abstract class ObjectStore implements BaseStore, ParticipantStore, RecoveryStore, TxLog
+// TODO may make this class private when we refactor in terms of templates
+
+public abstract class ObjectStore
{
+ /*
+ * Transactional participants MUST use the following methods. It allows
+ * them to be driven through 2PC.
+ */
+
+ /**
+ * Commit the object's state in the object store.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean commit_state (Uid u, String tn) throws ObjectStoreException;
+
+ /**
+ * Read the object's shadowed state.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ *
+ * @return the state of the object.
+ */
+
+ public abstract InputObjectState read_uncommitted (Uid u, String tn) throws ObjectStoreException;
+
+ /**
+ * Remove the object's uncommitted state.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean remove_uncommitted (Uid u, String tn) throws ObjectStoreException;
+
+ /**
+ * Write a copy of the object's uncommitted state.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ * @param buff The state to write.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean write_uncommitted (Uid u, String tn, OutputObjectState buff) throws ObjectStoreException;
+
+ /*
+ * All ObjectStore implementations that are used to drive recovery
+ * MUST use the following methods.
+ */
+
+ /**
+ * Obtain all of the Uids for a specified type.
+ *
+ * @param s The type to scan for.
+ * @param buff The object state in which to store the Uids
+ * @param m The file type to look for (e.g., committed, shadowed). [StateStatus]
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean allObjUids (String s, InputObjectState buff, int m) throws ObjectStoreException;
+
+ /**
+ * Obtain all of the Uids for all states of the specified type.
+ *
+ * @param s The type to scan for.
+ * @param buff The object state in which to store the Uids
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
public boolean allObjUids (String s, InputObjectState buff) throws ObjectStoreException
{
return allObjUids(s, buff, StateStatus.OS_UNKNOWN);
}
+
+ /**
+ * Obtain all types of objects stored in the object store.
+ *
+ * @param buff The state in which to store the types.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+ public abstract boolean allTypes (InputObjectState buff) throws ObjectStoreException;
+
/**
+ * @param u The object to query.
+ * @param tn The type of the object to query.
+ *
+ * @return the current state of the object's state (e.g., shadowed,
+ * committed ...) [StateStatus]
+ */
+
+ public abstract int currentState (Uid u, String tn) throws ObjectStoreException;
+
+ /**
+ * Hide the object's state in the object store. Used by crash
+ * recovery.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean hide_state (Uid u, String tn) throws ObjectStoreException;
+
+ /**
+ * Reveal a hidden object's state.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean reveal_state (Uid u, String tn) throws ObjectStoreException;
+
+ /**
+ * Read the object's committed state.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ *
+ * @return the state of the object.
+ */
+
+ public abstract InputObjectState read_committed (Uid u, String tn) throws ObjectStoreException;
+
+ /*
+ * Core transaction log methods.
+ */
+
+ /**
+ * Remove the object's committed state.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean remove_committed (Uid u, String tn) throws ObjectStoreException;
+
+ /**
+ * Write a new copy of the object's committed state.
+ *
+ * @param u The object to work on.
+ * @param tn The type of the object to work on.
+ * @param buff The state to write.
+ *
+ * @return <code>true</code> if no errors occurred, <code>false</code>
+ * otherwise.
+ */
+
+ public abstract boolean write_committed (Uid u, String tn, OutputObjectState buff) throws ObjectStoreException;
+
+ /*
+ * The following methods are core to all implementations.
+ */
+
+ /**
+ * The type of the object store. This is used to order the
+ * instances in the intentions list.
+ *
+ * @return the type of the record.
+ * @see com.arjuna.ats.arjuna.coordinator.RecordType
+ */
+
+ public abstract int typeIs ();
+
+ /**
+ * @return the "name" of the object store. Where in the hierarchy it appears, e.g., /ObjectStore/MyName/...
+ */
+
+ public abstract String getStoreName ();
+
+ /**
* Some object store implementations may be running with automatic
* sync disabled. Calling this method will ensure that any states are
* flushed to disk.
Deleted: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ParticipantStore.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ParticipantStore.java 2010-05-29 16:27:52 UTC (rev 33155)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/ParticipantStore.java 2010-05-29 20:36:26 UTC (rev 33156)
@@ -1,98 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 1998, 1999, 2000, 2001,
- *
- * Arjuna Solutions Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- */
-
-package com.arjuna.ats.arjuna.objectstore;
-
-import com.arjuna.ats.arjuna.common.*;
-import com.arjuna.ats.arjuna.state.*;
-
-import com.arjuna.ats.arjuna.exceptions.ObjectStoreException;
-
-/**
- * Transactional participants MUST use this type of ObjectStore. It allows
- * them to be driven through 2PC.
- *
- * @author Mark Little (mark at arjuna.com)
- * @version $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- * @since JTS 1.0.
- */
-
-public interface ParticipantStore extends TxLog
-{
- /**
- * Commit the object's state in the object store.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean commit_state (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Read the object's shadowed state.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- *
- * @return the state of the object.
- */
-
- public InputObjectState read_uncommitted (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Remove the object's uncommitted state.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean remove_uncommitted (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Write a copy of the object's uncommitted state.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- * @param buff The state to write.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean write_uncommitted (Uid u, String tn, OutputObjectState buff) throws ObjectStoreException;
-}
-
Deleted: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/RecoveryStore.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/RecoveryStore.java 2010-05-29 16:27:52 UTC (rev 33155)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/RecoveryStore.java 2010-05-29 20:36:26 UTC (rev 33156)
@@ -1,137 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 1998, 1999, 2000, 2001,
- *
- * Arjuna Solutions Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- */
-
-package com.arjuna.ats.arjuna.objectstore;
-
-import com.arjuna.ats.arjuna.common.*;
-import com.arjuna.ats.arjuna.state.*;
-
-import com.arjuna.ats.arjuna.exceptions.ObjectStoreException;
-
-/**
- * All ObjectStore implementations that are used to drive recovery
- * MUST implement this interface. Because recovery is a superset of
- * transaction logging, those methods are also available.
- *
- * @author Mark Little (mark at arjuna.com)
- * @version $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- * @since JTS 1.0.
- */
-
-public interface RecoveryStore extends TxLog
-{
- /**
- * Obtain all of the Uids for a specified type.
- *
- * @param s The type to scan for.
- * @param buff The object state in which to store the Uids
- * @param m The file type to look for (e.g., committed, shadowed). [StateStatus]
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean allObjUids (String s, InputObjectState buff, int m) throws ObjectStoreException;
-
- public boolean allObjUids (String s, InputObjectState buff) throws ObjectStoreException;
-
- /**
- * Obtain all types of objects stored in the object store.
- *
- * @param buff The state in which to store the types.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean allTypes (InputObjectState buff) throws ObjectStoreException;
-
- /**
- * @param u The object to query.
- * @param tn The type of the object to query.
- *
- * @return the current state of the object's state (e.g., shadowed,
- * committed ...) [StateStatus]
- */
-
- public int currentState (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Hide the object's state in the object store. Used by crash
- * recovery.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean hide_state (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Reveal a hidden object's state.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean reveal_state (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Read the object's committed state.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- *
- * @return the state of the object.
- */
-
- public InputObjectState read_committed (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Is the current state of the object the same as that provided as the last
- * parameter?
- *
- * @param u The object to work on.
- * @param tn The type of the object.
- * @param st The expected type of the object. [StateType]
- *
- * @return <code>true</code> if the current state is as expected,
- * <code>false</code> otherwise.
- */
-
- public boolean isType (Uid u, String tn, int st) throws ObjectStoreException;
-}
-
Deleted: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/TxLog.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/TxLog.java 2010-05-29 16:27:52 UTC (rev 33155)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/objectstore/TxLog.java 2010-05-29 20:36:26 UTC (rev 33156)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 1998, 1999, 2000, 2001,
- *
- * Arjuna Solutions Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- */
-
-package com.arjuna.ats.arjuna.objectstore;
-
-import com.arjuna.ats.arjuna.common.*;
-import com.arjuna.ats.arjuna.state.*;
-
-import com.arjuna.ats.arjuna.exceptions.ObjectStoreException;
-
-/**
- * All transaction logs MUST implement this interface.
- *
- * @author Mark Little (mark at arjuna.com)
- * @version $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
- * @since JTS 1.0.
- */
-
-public interface TxLog extends BaseStore
-{
- /**
- * Remove the object's committed state.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean remove_committed (Uid u, String tn) throws ObjectStoreException;
-
- /**
- * Write a new copy of the object's committed state.
- *
- * @param u The object to work on.
- * @param tn The type of the object to work on.
- * @param buff The state to write.
- *
- * @return <code>true</code> if no errors occurred, <code>false</code>
- * otherwise.
- */
-
- public boolean write_committed (Uid u, String tn, OutputObjectState buff) throws ObjectStoreException;
-
- /**
- * Some object store implementations may be running with automatic
- * sync disabled. Calling this method will ensure that any states are
- * flushed to disk.
- */
-
- public void sync () throws java.io.SyncFailedException, ObjectStoreException;
-}
-
More information about the jboss-svn-commits
mailing list