[exo-jcr-commits] exo-jcr SVN: r1608 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Jan 28 09:13:25 EST 2010


Author: sergiykarpenko
Date: 2010-01-28 09:13:25 -0500 (Thu, 28 Jan 2010)
New Revision: 1608

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java
Log:
EXOJCR-448: isRecordAlreadyExistsException updated

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java	2010-01-28 13:42:00 UTC (rev 1607)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java	2010-01-28 14:13:25 UTC (rev 1608)
@@ -88,15 +88,15 @@
    /**
     * MYSQL_PK_CONSTRAINT_DETECT.
     */
-   private static final Pattern MYSQL_PK_CONSTRAINT_DETECT = Pattern.compile(MYSQL_PK_CONSTRAINT_DETECT_PATTERN,
-      Pattern.CASE_INSENSITIVE);
+   private static final Pattern MYSQL_PK_CONSTRAINT_DETECT =
+      Pattern.compile(MYSQL_PK_CONSTRAINT_DETECT_PATTERN, Pattern.CASE_INSENSITIVE);
 
    /**
     * DB2_PK_CONSTRAINT_DETECT_PATTERN.
-    * %tableName% must be replaced with original table name before compile Pattern.
+    * %s must be replaced with original table name before compile Pattern.
     */
    private static final String DB2_PK_CONSTRAINT_DETECT_PATTERN =
-      "(.*DB2 SQL error+.*SQLCODE: -803+.*SQLSTATE: 23505+.*%tableName%.*)+?";
+      "(.*DB2 SQL error+.*SQLCODE: -803+.*SQLSTATE: 23505+.*%s.*)+?";
 
    /**
     * DB2_PK_CONSTRAINT_DETECT.
@@ -166,7 +166,7 @@
             }
 
             // make error pattern for DB2
-            String pattern = DB2_PK_CONSTRAINT_DETECT_PATTERN.replaceAll("%tableName%", tableName);
+            String pattern = String.format(DB2_PK_CONSTRAINT_DETECT_PATTERN, tableName);
 
             DB2_PK_CONSTRAINT_DETECT = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
 
@@ -317,15 +317,9 @@
          // most of supported dbs prints PK name in exception
          return true;
       }
-
-      // check DB2 dialect
-
-      if (DBConstants.DB_DIALECT_DB2.equalsIgnoreCase(dialect))
+      else if (DBConstants.DB_DIALECT_DB2.equalsIgnoreCase(dialect))
       {
-         if (DB2_PK_CONSTRAINT_DETECT.matcher(err).find())
-         {
-            return true;
-         }
+         return DB2_PK_CONSTRAINT_DETECT.matcher(err).find();
       }
 
       // NOTICE! As an additional check we may ask the database for property currently processed in



More information about the exo-jcr-commits mailing list