You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by oz...@apache.org on 2004/06/21 17:58:49 UTC

cvs commit: jakarta-slide/src/share/org/apache/slide/store ExtendedStore.java

ozeigermann    2004/06/21 08:58:49

  Modified:    src/share/org/apache/slide/store ExtendedStore.java
  Log:
  - Added some FIXMEs
  - Fixed minor bugs that did not enforce enlistment of certain retrieval methods into transactions
  
  Revision  Changes    Path
  1.11      +12 -10    jakarta-slide/src/share/org/apache/slide/store/ExtendedStore.java
  
  Index: ExtendedStore.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/ExtendedStore.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ExtendedStore.java	6 May 2004 09:17:54 -0000	1.10
  +++ ExtendedStore.java	21 Jun 2004 15:58:49 -0000	1.11
  @@ -755,8 +755,7 @@
                   if (tempObject != null) {
                       return ((NodeRevisionDescriptors) tempObject).cloneObject();
                   } else {
  -                    NodeRevisionDescriptors revisionDescriptors =
  -                        revisionDescriptorsStore.retrieveRevisionDescriptors(uri);
  +                    NodeRevisionDescriptors revisionDescriptors = super.retrieveRevisionDescriptors(uri);
                       descriptorsCache.put(uri.toString(), revisionDescriptors);
                       revisionDescriptors.validate(uri.toString());
                       return revisionDescriptors.cloneObject();
  @@ -820,8 +819,7 @@
                   if (result != null) {
                       return ((NodeRevisionDescriptor) result).cloneObject();
                   } else {
  -                    NodeRevisionDescriptor revisionDescriptor =
  -                        revisionDescriptorStore.retrieveRevisionDescriptor(uri, revisionNumber);
  +                    NodeRevisionDescriptor revisionDescriptor = super.retrieveRevisionDescriptor(uri, revisionNumber);
                       revisionDescriptor.validate();
                       descriptorCache.put(uri + "-" + revisionNumber, revisionDescriptor);
                       return revisionDescriptor.cloneObject();
  @@ -931,6 +929,7 @@
           return XA_OK;
       }
   
  +    // FIXME needs suspend and resume here as well!
       public void start(Xid xid, int flags) throws XAException {
           // XXX we do not suspend, so we do not resume
           if (flags == TMNOFLAGS || flags == TMJOIN) {
  @@ -959,6 +958,9 @@
       }
   
       protected void releaseTransientLocks() {
  +        // XXX can be the case when an external transaction took up work in another thread
  +        // no need to implement suspend and resume here as tlocks will not be used with external transactions 
  +        if (locks.get() == null) return;
   
           Xid txId = (Xid) activeTransactionBranch.get();
           for (Iterator it = ((HashSet)locks.get()).iterator(); it.hasNext();) {
  @@ -977,7 +979,7 @@
               return permissions;
           } else {
               permissions = new Vector();
  -            Enumeration permissionsList = securityStore.enumeratePermissions(uri);
  +            Enumeration permissionsList = super.enumeratePermissions(uri);
               while (permissionsList.hasMoreElements()) {
                   NodePermission tempPermission = (NodePermission) permissionsList.nextElement();
                   tempPermission.validate(uri.toString());
  @@ -994,7 +996,7 @@
               return locksVector;
           } else {
               locksVector = new Vector();
  -            Enumeration lockList = lockStore.enumerateLocks(uri);
  +            Enumeration lockList = super.enumerateLocks(uri);
               while (lockList.hasMoreElements()) {
                   NodeLock tempLock = (NodeLock) lockList.nextElement();
                   tempLock.validate(uri.toString());
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org