ozeigermann    2004/12/15 08:50:37

  Modified:    src/stores/org/apache/slide/store/impl/rdbms
                        SQLServerRDBMSAdapter.java MySqlRDBMSAdapter.java
                        StandardRDBMSAdapter.java PostgresRDBMSAdapter.java
                        DB2RDBMSAdapter.java
               src/stores/org/apache/slide/store/mem
                        AbstractTransientStore.java
               src/webdav/server/org/apache/slide/webdav/method
                        AbstractWebdavMethod.java
               src/stores/org/apache/slide/store/txfile
                        AbstractTxFileStoreService.java
  Added:       src/share/org/apache/slide/store
                        ConcurrencyConflictError.java
  Removed:     src/share/org/apache/slide/store
                        ConcurrencyConflictException.java
  Log:
  Made ConcurrencyConflictExecption an ConcurrencyConflictError
  which it really is
  
  Revision  Changes    Path
  1.10      +7 -7      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/SQLServerRDBMSAdapter.java
  
  Index: SQLServerRDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/SQLServerRDBMSAdapter.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SQLServerRDBMSAdapter.java        11 Dec 2004 18:26:16 -0000      1.9
  +++ SQLServerRDBMSAdapter.java        15 Dec 2004 16:50:26 -0000      1.10
  @@ -36,7 +36,7 @@
   import org.apache.slide.content.NodeRevisionDescriptor;
   import org.apache.slide.content.RevisionDescriptorNotFoundException;
   import org.apache.slide.macro.ConflictException;
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.util.logger.Logger;
   
   /**
  @@ -63,13 +63,13 @@
               case 1205 : // thread was deadlock victim
                   getLogger().log(e.getErrorCode() + ": Deadlock resolved on " 
+ uri, LOG_CHANNEL, Logger.WARNING);
   //                return new ServiceAccessException(service, new 
ConflictException(uri));
  -                throw new ConcurrencyConflictException(e, uri);
  +                throw new ConcurrencyConflictError(e, uri);
   
               case 547 : // referential integraty constaint was violated (like 
in storeObject on table URI )
               case 2627 : // primary key constraint violation (like in 
storeContent on table VERSION_CONTENT)
                   getLogger().log(e.getErrorCode() + ": Low isolation conflict 
for " + uri, LOG_CHANNEL, Logger.WARNING);
   //                return new ServiceAccessException(service, new 
ConflictException(uri));
  -                throw new ConcurrencyConflictException(e, uri);
  +                throw new ConcurrencyConflictError(e, uri);
   
               default :
                   return super.createException(e, uri);
  
  
  
  1.14      +6 -6      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/MySqlRDBMSAdapter.java
  
  Index: MySqlRDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/MySqlRDBMSAdapter.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- MySqlRDBMSAdapter.java    11 Dec 2004 18:26:16 -0000      1.13
  +++ MySqlRDBMSAdapter.java    15 Dec 2004 16:50:27 -0000      1.14
  @@ -35,7 +35,7 @@
   import org.apache.slide.content.*;
   import org.apache.slide.common.*;
   import org.apache.slide.macro.ConflictException;
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.structure.ObjectNotFoundException;
   import org.apache.slide.util.logger.Logger;
   
  @@ -63,7 +63,7 @@
               case 1213 : // thread was deadlock victim
                   getLogger().log(e.getErrorCode() + ": Deadlock resolved on " 
+ uri, LOG_CHANNEL, Logger.WARNING);
   //              return new ServiceAccessException(this, new 
ConflictException(uri));
  -                throw new ConcurrencyConflictException(e, uri);
  +                throw new ConcurrencyConflictError(e, uri);
   
               default :
                   return super.createException(e, uri);
  
  
  
  1.42      +7 -7      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/StandardRDBMSAdapter.java
  
  Index: StandardRDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/StandardRDBMSAdapter.java,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- StandardRDBMSAdapter.java 11 Dec 2004 18:26:16 -0000      1.41
  +++ StandardRDBMSAdapter.java 15 Dec 2004 16:50:27 -0000      1.42
  @@ -28,7 +28,7 @@
   import org.apache.slide.lock.LockTokenNotFoundException;
   import org.apache.slide.lock.NodeLock;
   import org.apache.slide.security.NodePermission;
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.structure.LinkNode;
   import org.apache.slide.structure.ObjectAlreadyExistsException;
   import org.apache.slide.structure.ObjectNode;
  @@ -1459,12 +1459,12 @@
               if (sqlstate.startsWith("23")) {
                   getLogger().log(e.getErrorCode() + ": Low isolation conflict 
for " + uri, LOG_CHANNEL,
                           Logger.WARNING);
  -                throw new ConcurrencyConflictException(e, uri);
  +                throw new ConcurrencyConflictError(e, uri);
   
               } else if (sqlstate.startsWith("40")) {
                   getLogger().log(e.getErrorCode() + ": Deadlock resolved on " 
+ uri, LOG_CHANNEL,
                           Logger.WARNING);
  -                throw new ConcurrencyConflictException(e, uri);
  +                throw new ConcurrencyConflictError(e, uri);
               }
           }
           getLogger().log(
  
  
  
  1.15      +5 -5      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/PostgresRDBMSAdapter.java
  
  Index: PostgresRDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/PostgresRDBMSAdapter.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- PostgresRDBMSAdapter.java 11 Dec 2004 18:26:16 -0000      1.14
  +++ PostgresRDBMSAdapter.java 15 Dec 2004 16:50:27 -0000      1.15
  @@ -37,7 +37,7 @@
   import org.apache.slide.lock.NodeLock;
   import org.apache.slide.macro.ConflictException;
   import org.apache.slide.security.NodePermission;
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.structure.ObjectNode;
   import org.apache.slide.structure.ObjectNotFoundException;
   import org.apache.slide.util.logger.Logger;
  
  
  
  1.10      +6 -6      
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/DB2RDBMSAdapter.java
  
  Index: DB2RDBMSAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/DB2RDBMSAdapter.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DB2RDBMSAdapter.java      13 Dec 2004 16:06:39 -0000      1.9
  +++ DB2RDBMSAdapter.java      15 Dec 2004 16:50:27 -0000      1.10
  @@ -27,7 +27,7 @@
   import org.apache.slide.content.*;
   import org.apache.slide.lock.NodeLock;
   import org.apache.slide.security.NodePermission;
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.structure.LinkNode;
   import org.apache.slide.structure.ObjectNode;
   import org.apache.slide.structure.ObjectNotFoundException;
  @@ -551,7 +551,7 @@
             case 911 : // thread was deadlock victim
                 getLogger().log(e.getErrorCode() + ": Deadlock resolved on " + 
uri, LOG_CHANNEL, Logger.WARNING);
   //            return new ServiceAccessException(this, new 
ConflictException(uri));
  -              throw new ConcurrencyConflictException(e, uri);
  +              throw new ConcurrencyConflictError(e, uri);
   
             default :
                 return super.createException(e, uri);
  
  
  
  1.7       +5 -5      
jakarta-slide/src/stores/org/apache/slide/store/mem/AbstractTransientStore.java
  
  Index: AbstractTransientStore.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/mem/AbstractTransientStore.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractTransientStore.java       10 Dec 2004 12:55:56 -0000      1.6
  +++ AbstractTransientStore.java       15 Dec 2004 16:50:34 -0000      1.7
  @@ -50,7 +50,7 @@
   import org.apache.slide.common.ServiceParameterErrorException;
   import org.apache.slide.common.ServiceParameterMissingException;
   import org.apache.slide.common.ServiceResetFailedException;
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.util.logger.Logger;
   import org.apache.slide.util.logger.TxLogger;
   
  @@ -106,7 +106,7 @@
            this.xaResource.commit(xid, onePhase);
         }
         catch (ConflictException e) {
  -          throw new ConcurrencyConflictException();
  +          throw new ConcurrencyConflictError();
   /*
            this.xaResource.rollback(xid);
            // TODO it would be great if we could throw something
  
  
  
  1.69      +6 -6      
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java
  
  Index: AbstractWebdavMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- AbstractWebdavMethod.java 13 Dec 2004 16:02:26 -0000      1.68
  +++ AbstractWebdavMethod.java 15 Dec 2004 16:50:34 -0000      1.69
  @@ -76,7 +76,7 @@
   import org.apache.slide.search.Search;
   import org.apache.slide.security.AccessDeniedException;
   import org.apache.slide.security.Security;
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.structure.LinkedObjectNotFoundException;
   import org.apache.slide.structure.ObjectNode;
   import org.apache.slide.structure.ObjectNotFoundException;
  @@ -418,13 +418,13 @@
               retryUponConflict = isRepeatUponConflict() && 
!slideToken.isExternalTransaction();
               int retries = getMaxRetryRepeats();
   
  -            ConcurrencyConflictException finalCce = null;
  +            ConcurrencyConflictError finalCce = null;
   
               while (!done && retries != 0) {
                   try {
                       executeRedirect();
                       done = true;
  -                } catch (ConcurrencyConflictException cce) {
  +                } catch (ConcurrencyConflictError cce) {
                       finalCce = cce;
                       if (retryUponConflict) {
                           retries--;
  
  
  
  1.1                  
jakarta-slide/src/share/org/apache/slide/store/ConcurrencyConflictError.java
  
  Index: ConcurrencyConflictError.java
  ===================================================================
  /*
   * $Header: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/store/ConcurrencyConflictError.java,v
 1.1 2004/12/15 16:50:34 ozeigermann Exp $
   * $Revision: 1.1 $
   * $Date: 2004/12/15 16:50:34 $
   *
   * ====================================================================
   *
   * Copyright 1999-2002 The Apache Software Foundation 
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   *
   */
  
  package org.apache.slide.store;
  
  import java.sql.SQLException;
  
  /**
   * Error gets thrown from the store layer upon failure caused by
   * other concurrent requests. Such failures include deadlocks, unserializable
   * transactions and other spurious behaviour caused by insufficient isolation.
   *
   * <em>Note:</em> This must be an error to ensure it passes the store layer 
and 
   * gets caught in the WebDAV layer only
   *
   * @version $Revision: 1.1 $
   */
  public class ConcurrencyConflictError extends Error {
      
      protected int errorCode;
      protected String uri;
      
      public ConcurrencyConflictError(int errorCode, String message, String 
uri) {
          super(message);
          this.errorCode = errorCode;
          this.uri = uri;
      }
  
      public ConcurrencyConflictError(SQLException e, String uri) {
          this(e.getErrorCode(), e.getMessage(), uri);
      }
  
      public ConcurrencyConflictError() {
          this(-1, "Conflict Exception", null);
      }
  
      public String toString() {
          StringBuffer buf = new StringBuffer();
          
          if (uri != null) {
              buf.append(uri).append(": ");
          }
          if (getMessage() != null) {
              buf.append(getMessage());
          }
          if (errorCode != -1) {
              buf.append("(").append(errorCode).append(")");
          }
          return buf.toString();
      }
      /**
       * @return Returns the errorCode.
       */
      public int getErrorCode() {
          return errorCode;
      }
      /**
       * @return Returns the uri.
       */
      public String getUri() {
          return uri;
      }
  }
  
  
  
  1.19      +5 -5      
jakarta-slide/src/stores/org/apache/slide/store/txfile/AbstractTxFileStoreService.java
  
  Index: AbstractTxFileStoreService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/txfile/AbstractTxFileStoreService.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- AbstractTxFileStoreService.java   14 Dec 2004 12:31:24 -0000      1.18
  +++ AbstractTxFileStoreService.java   15 Dec 2004 16:50:35 -0000      1.19
  @@ -37,7 +37,7 @@
   import javax.transaction.xa.XAResource;
   import javax.transaction.xa.Xid;
   
  -import org.apache.slide.store.ConcurrencyConflictException;
  +import org.apache.slide.store.ConcurrencyConflictError;
   import org.apache.slide.util.logger.TxLogger;
   import org.apache.slide.util.logger.Logger;
   
  @@ -405,7 +405,7 @@
                   Logger.INFO);
   
   //            throw new ServiceAccessException(this, new 
ConflictException(uri));
  -            throw new 
ConcurrencyConflictException(((ResourceManagerException) cause).getStatus(),
  +            throw new ConcurrencyConflictError(((ResourceManagerException) 
cause).getStatus(),
                       ((ResourceManagerException) cause).getMessage(), uri);
   
           } else {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to