unico       2004/07/05 06:39:38

  Modified:    src/stores/org/apache/slide/store/impl/rdbms
                        PostgresRDBMSAdapter.java
  Log:
  prevent possible NPE during error handling
  
  Revision  Changes    Path
  1.8       +32 -27    
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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PostgresRDBMSAdapter.java 8 Jun 2004 07:52:35 -0000       1.7
  +++ PostgresRDBMSAdapter.java 5 Jul 2004 13:39:38 -0000       1.8
  @@ -315,30 +315,35 @@
                 */
   
                String sqlstate = e.getSQLState();
  +             
  +        if (sqlstate != null) {
  +            if (sqlstate.startsWith("23")) {
  +                getLogger().log(e.getErrorCode() + ": Deadlock resolved on " + uri,
  +                    LOG_CHANNEL, Logger.WARNING);
  +                return new ServiceAccessException(service, new 
ConflictException(uri));
  +            } else if (sqlstate.startsWith("40")) {
  +                getLogger().log(
  +                    e.getErrorCode() + ": Deadlock resolved on " + uri,
  +                    LOG_CHANNEL,
  +                    Logger.WARNING);
  +                return new ServiceAccessException(service, new 
ConflictException(uri));
  +            } else {
  +                getLogger().log(
  +                    "SQL error "
  +                        + e.getErrorCode()
  +                        + " on "
  +                        + uri
  +                        + ": "
  +                        + e.getMessage(),
  +                    LOG_CHANNEL,
  +                    Logger.ERROR);
   
  -             if (sqlstate.startsWith("23")) {
  -                     getLogger().log(e.getErrorCode() + ": Deadlock resolved on " + 
uri,
  -                             LOG_CHANNEL, Logger.WARNING);
  -                     return new ServiceAccessException(service, new 
ConflictException(uri));
  -             } else if (sqlstate.startsWith("40")) {
  -                     getLogger().log(
  -                             e.getErrorCode() + ": Deadlock resolved on " + uri,
  -                             LOG_CHANNEL,
  -                             Logger.WARNING);
  -                     return new ServiceAccessException(service, new 
ConflictException(uri));
  -             } else {
  -                     getLogger().log(
  -                             "SQL error "
  -                                     + e.getErrorCode()
  -                                     + " on "
  -                                     + uri
  -                                     + ": "
  -                                     + e.getMessage(),
  -                             LOG_CHANNEL,
  -                             Logger.ERROR);
  -
  -                     return new ServiceAccessException(service, e);
  -             }
  +                return new ServiceAccessException(service, e);
  +            }
  +        }
  +        else {
  +            return super.createException(e, uri);
  +        }
        }
   
       public boolean isSequenceSupported(Connection conn) {
  
  
  

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

Reply via email to