17 changed files with 190 additions and 2 deletions
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
/* |
||||
* Copyright 2002-2005 the original author or authors. |
||||
* |
||||
* 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.springframework.jdbc.support; |
||||
|
||||
import org.springframework.dao.DataAccessException; |
||||
|
||||
/** |
||||
* @author Thomas Risberg |
||||
*/ |
||||
public class CustomErrorCodeException extends DataAccessException { |
||||
|
||||
public CustomErrorCodeException(String msg) { |
||||
super(msg); |
||||
} |
||||
|
||||
public CustomErrorCodeException(String msg, Throwable ex) { |
||||
super(msg, ex); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,78 @@
@@ -0,0 +1,78 @@
|
||||
/* |
||||
* Copyright 2002-2008 the original author or authors. |
||||
* |
||||
* 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.springframework.jdbc.support; |
||||
|
||||
import java.sql.SQLDataException; |
||||
import java.sql.SQLException; |
||||
import java.sql.SQLFeatureNotSupportedException; |
||||
import java.sql.SQLIntegrityConstraintViolationException; |
||||
import java.sql.SQLInvalidAuthorizationSpecException; |
||||
import java.sql.SQLNonTransientConnectionException; |
||||
import java.sql.SQLRecoverableException; |
||||
import java.sql.SQLSyntaxErrorException; |
||||
import java.sql.SQLTimeoutException; |
||||
import java.sql.SQLTransactionRollbackException; |
||||
import java.sql.SQLTransientConnectionException; |
||||
|
||||
/** |
||||
* Class to generate Java 6 SQLException subclasses for testing purposes. |
||||
* |
||||
* @author Thomas Risberg |
||||
*/ |
||||
public class SQLExceptionSubclassFactory { |
||||
|
||||
public static SQLException newSQLDataException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLDataException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLFeatureNotSupportedException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLFeatureNotSupportedException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLIntegrityConstraintViolationException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLIntegrityConstraintViolationException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLInvalidAuthorizationSpecException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLInvalidAuthorizationSpecException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLNonTransientConnectionException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLNonTransientConnectionException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLSyntaxErrorException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLSyntaxErrorException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLTransactionRollbackException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLTransactionRollbackException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLTransientConnectionException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLTransientConnectionException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLTimeoutException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLTimeoutException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
public static SQLException newSQLRecoverableException(String reason, String SQLState, int vendorCode) { |
||||
return new SQLRecoverableException(reason, SQLState, vendorCode); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> |
||||
|
||||
<beans> |
||||
|
||||
<!-- |
||||
Whacky error codes for testing |
||||
--> |
||||
<bean id="Oracle" class="org.springframework.jdbc.support.SQLErrorCodes"> |
||||
<property name="badSqlGrammarCodes"><value>1,2</value></property> |
||||
<property name="dataIntegrityViolationCodes"><value>1,1400,1722</value></property> |
||||
<property name="customTranslations"> |
||||
<list> |
||||
<bean class="org.springframework.jdbc.support.CustomSQLErrorCodesTranslation"> |
||||
<property name="errorCodes"><value>999</value></property> |
||||
<property name="exceptionClass"> |
||||
<value>org.springframework.jdbc.support.CustomErrorCodeException</value> |
||||
</property> |
||||
</bean> |
||||
</list> |
||||
</property> |
||||
</bean> |
||||
|
||||
</beans> |
||||
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> |
||||
|
||||
<beans> |
||||
|
||||
<!-- |
||||
Whacky error codes for testing |
||||
--> |
||||
<bean id="Oracle" class="org.springframework.jdbc.support.SQLErrorCodes"> |
||||
<property name="badSqlGrammarCodes"><value>1,2</value></property> |
||||
<property name="dataIntegrityViolationCodes"><value>1,1400,1722</value></property> |
||||
</bean> |
||||
|
||||
</beans> |
||||
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> |
||||
|
||||
<beans> |
||||
|
||||
<!-- |
||||
Whacky error codes for testing |
||||
--> |
||||
<bean id="Oracle" class="org.springframework.jdbc.support.SQLErrorCodes"> |
||||
<property name="badSqlGrammarCodes"><value>1,2,942</value></property> |
||||
<property name="dataIntegrityViolationCodes"><value>1,1400,1722</value></property> |
||||
</bean> |
||||
|
||||
<bean id="DB0" class="org.springframework.jdbc.support.SQLErrorCodes"> |
||||
<property name="databaseProductName"><value>*DB0</value></property> |
||||
<property name="badSqlGrammarCodes"><value>-204,1,2</value></property> |
||||
<property name="dataIntegrityViolationCodes"><value>3,4</value></property> |
||||
</bean> |
||||
|
||||
<bean id="DB1" class="org.springframework.jdbc.support.SQLErrorCodes"> |
||||
<property name="databaseProductName"><value>DB1*</value></property> |
||||
<property name="badSqlGrammarCodes"><value>-204,1,2</value></property> |
||||
<property name="dataIntegrityViolationCodes"><value>3,4</value></property> |
||||
</bean> |
||||
|
||||
<bean id="DB2" class="org.springframework.jdbc.support.SQLErrorCodes"> |
||||
<property name="databaseProductName"><value>*DB2*</value></property> |
||||
<property name="badSqlGrammarCodes"><value>-204,1,2</value></property> |
||||
<property name="dataIntegrityViolationCodes"><value>3,4</value></property> |
||||
</bean> |
||||
|
||||
<bean id="DB3" class="org.springframework.jdbc.support.SQLErrorCodes"> |
||||
<property name="databaseProductName"><value>*DB3*</value></property> |
||||
<property name="badSqlGrammarCodes"><value>-204,1,2</value></property> |
||||
<property name="dataIntegrityViolationCodes"><value>3,4</value></property> |
||||
</bean> |
||||
|
||||
</beans> |
||||
Loading…
Reference in new issue