[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