Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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,
  *
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
  * UK.  
  *
  * $Id: BasicLockStore.java 2342 2006-03-30 13:06:17Z  $
  */
 
 package com.arjuna.ats.internal.txoj.lockstore;
 
A very basic lock store implementation. It saves the locks in process, i.e., in the memory of the JVM.

Author(s):
Mark Little (mark@arjuna.com)
Version:
$Id: BasicLockStore.java 2342 2006-03-30 13:06:17Z $
Since:
JTS 1.0.
 
 
 public class BasicLockStore extends LockStore
 {
 
     /*
      * This implementation is for purely local-applet locks, so we don't need
      * the key.
      */
 
     public BasicLockStore()
     {
         if (..isTraceEnabled()) {
             ..trace("BasicLockStore.BasicLockStore()");
         }
     }
 
     public InputObjectState read_state (Uid uString tName)
             throws LockStoreException
     {
         if (..isTraceEnabled()) {
             ..trace("BasicLockStore.read_state(" + u + ", " + tName + ")");
         }
 
         return .read_state(utName);
     }
 
     public boolean remove_state (Uid uString tName)
     {
         if (..isTraceEnabled()) {
             ..trace("BasicLockStore.remove_state(" + u + ", " + tName + ")");
         }
 
         return .remove_state(utName);
     }
 
     public boolean write_committed (Uid uString tNameOutputObjectState state)
     {
         if (..isTraceEnabled()) {
             ..trace("BasicLockStore.write_committed(" + u + ", " + tName + ", "
                     + state + ")");
         }
 
         return .write_committed(utNamestate);
     }
 
     private static LockStoreSegment segmentStore = new LockStoreSegment();
 
 };
 
 {
    public LockStoreSegment()
    {
         = null;
    }
    public synchronized boolean write_committed (Uid uString tName,
            OutputObjectState state)
    {
        if (state.size() <= 0)
            return false;
        LockStoreList ptr = find(tName);
        if (ptr == null)
        {
            ptr = new LockStoreList(tName);
            ptr.setNext();
             = ptr;
        }
        ptr.add(ustate);
        return true;
    }
    public synchronized InputObjectState read_state (Uid uString tName)
            throws LockStoreException
    {
        LockStoreList ptr = find(tName);
        if (ptr == null)
            return null;
        return ptr.get(u);
    }
    public synchronized boolean remove_state (Uid uString tName)
    {
        boolean found = false;
        LockStoreList ptr = ;
        while ((!found) && (ptr != null))
        {
            if (ptr.name().compareTo(tName) == 0)
                found = true;
            else
                ptr = ptr.getNext();
        }
        if (!found)
            return true;
        else
            ptr.remove(u);
        return true;
    }
    public synchronized boolean remove_segment (String tName)
    {
        boolean found = false;
        LockStoreList ptr = ;
        LockStoreList trail = null;
        while ((!found) && (ptr != null))
        {
            if (ptr.name().compareTo(tName) == 0)
                found = true;
            else
            {
                trail = ptr;
                ptr = ptr.getNext();
            }
        }
        if (!found)
            return true;
        else
        {
            if (trail == null// remove headOfList
                 = ptr.getNext();
            else
                trail.setNext(ptr.getNext());
            ptr = null;
        }
        return true;
    }
    private LockStoreList find (String tName)
    {
        boolean found = false;
        LockStoreList ptr = ;
        while ((!found) && (ptr != null))
        {
            if (ptr.name().compareTo(tName) == 0)
                found = true;
            else
                ptr = ptr.getNext();
        }
        return ptr;
    }
    private LockStoreList headOfList;
};
    public LockStoreList(String tName)
    {
         = tName;
         = null;
    }
    public String name ()
    {
        return ;
    }
    public void setNext (LockStoreList n)
    {
         = n;
    }
    public LockStoreList getNext ()
    {
        return ;
    }
    public boolean add (Uid uOutputObjectState state)
    {
        LockStateStore ptr = find(u);
        if (ptr == null)
        {
            ptr = new LockStateStore(ustate);
            ptr._next = ;
             = ptr;
        }
        else
            ptr._state = state;
        return true;
    }
    public InputObjectState get (Uid uthrows LockStoreException
    {
        LockStateStore ptr = find(u);
        if (ptr == null)
            return null;
        else
            return new InputObjectState(ptr._state);
    }
    public boolean remove (Uid u)
    {
        boolean found = false;
        LockStateStore ptr = ;
        LockStateStore trail = null;
        while ((!found) && (ptr != null))
        {
            if (ptr._id.equals(u))
                found = true;
            else
            {
                trail = ptr;
                ptr = ptr._next;
            }
        }
        if (!found)
            return false;
        else
        {
            if (trail == null// remove headOfList
                 = ptr._next;
            else
                trail._next = ptr._next;
        }
        return true;
    }
    private LockStateStore find (Uid u)
    {
        boolean found = false;
        LockStateStore ptr = ;
        while ((!found) && (ptr != null))
        {
            if (ptr._id.equals(u))
                found = true;
            else
                ptr = ptr._next;
        }
        return ptr;
    }
    private LockStoreList _next;
    private String _name;
    private LockStateStore headOfList;
    public LockStateStore(Uid uOutputObjectState s)
    {
         = u;
         = s;
         = null;
    }
    public Uid _id;
    public OutputObjectState _state;
    public LockStateStore _next;
};
New to GrepCode? Check out our FAQ X