public class org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator extends org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator
super_class: org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
{
private static final int MESSAGE_ONLY_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MESSAGE_THROWABLE_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MESSAGE_SQLEX_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MESSAGE_SQL_THROWABLE_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int MESSAGE_SQL_SQLEX_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private org.springframework.jdbc.support.SQLErrorCodes sqlErrorCodes;
descriptor: Lorg/springframework/jdbc/support/SQLErrorCodes;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.<init>:()V
1: aload 0
new org.springframework.jdbc.support.SQLExceptionSubclassTranslator
dup
invokespecial org.springframework.jdbc.support.SQLExceptionSubclassTranslator.<init>:()V
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setFallbackTranslator:(Lorg/springframework/jdbc/support/SQLExceptionTranslator;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
public void <init>(javax.sql.DataSource);
descriptor: (Ljavax/sql/DataSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>:()V
1: aload 0
aload 1
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource:(Ljavax/sql/DataSource;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 3 1 dataSource Ljavax/sql/DataSource;
MethodParameters:
Name Flags
dataSource
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>:()V
1: aload 0
aload 1
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDatabaseProductName:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 3 1 dbName Ljava/lang/String;
MethodParameters:
Name Flags
dbName
public void <init>(org.springframework.jdbc.support.SQLErrorCodes);
descriptor: (Lorg/springframework/jdbc/support/SQLErrorCodes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>:()V
1: aload 0
aload 1
putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 3 1 sec Lorg/springframework/jdbc/support/SQLErrorCodes;
MethodParameters:
Name Flags
sec
public void setDataSource(javax.sql.DataSource);
descriptor: (Ljavax/sql/DataSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.springframework.jdbc.support.SQLErrorCodesFactory.getInstance:()Lorg/springframework/jdbc/support/SQLErrorCodesFactory;
aload 1
invokevirtual org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes:(Ljavax/sql/DataSource;)Lorg/springframework/jdbc/support/SQLErrorCodes;
putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 2 1 dataSource Ljavax/sql/DataSource;
MethodParameters:
Name Flags
dataSource
public void setDatabaseProductName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.springframework.jdbc.support.SQLErrorCodesFactory.getInstance:()Lorg/springframework/jdbc/support/SQLErrorCodesFactory;
aload 1
invokevirtual org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes:(Ljava/lang/String;)Lorg/springframework/jdbc/support/SQLErrorCodes;
putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 2 1 dbName Ljava/lang/String;
MethodParameters:
Name Flags
dbName
public void setSqlErrorCodes(org.springframework.jdbc.support.SQLErrorCodes);
descriptor: (Lorg/springframework/jdbc/support/SQLErrorCodes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 2 1 sec Lorg/springframework/jdbc/support/SQLErrorCodes;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
sec
public org.springframework.jdbc.support.SQLErrorCodes getSqlErrorCodes();
descriptor: ()Lorg/springframework/jdbc/support/SQLErrorCodes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected org.springframework.dao.DataAccessException doTranslate(java.lang.String, java.lang.String, java.sql.SQLException);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
astore 4
start local 4 1: aload 4
instanceof java.sql.BatchUpdateException
ifeq 6
aload 4
invokevirtual java.sql.SQLException.getNextException:()Ljava/sql/SQLException;
ifnull 6
2: aload 4
invokevirtual java.sql.SQLException.getNextException:()Ljava/sql/SQLException;
astore 5
start local 5 3: aload 5
invokevirtual java.sql.SQLException.getErrorCode:()I
ifgt 4
aload 5
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
ifnull 6
4: StackMap locals: java.sql.SQLException java.sql.SQLException
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
ldc "Using nested SQLException from the BatchUpdateException"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
5: aload 5
astore 4
end local 5 6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.customTranslate:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
astore 5
start local 5 7: aload 5
ifnull 9
8: aload 5
areturn
9: StackMap locals: org.springframework.dao.DataAccessException
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
ifnull 15
10: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCustomSqlExceptionTranslator:()Lorg/springframework/jdbc/support/SQLExceptionTranslator;
astore 6
start local 6 11: aload 6
ifnull 15
12: aload 6
aload 1
aload 2
aload 4
invokeinterface org.springframework.jdbc.support.SQLExceptionTranslator.translate:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
astore 7
start local 7 13: aload 7
ifnull 15
14: aload 7
areturn
end local 7 end local 6 15: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
ifnull 73
16: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.isUseSqlStateForTranslation:()Z
ifeq 19
17: aload 4
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
astore 6
start local 6 18: goto 24
end local 6 19: StackMap locals:
StackMap stack:
aload 4
astore 7
start local 7 20: goto 22
21: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException top java.sql.SQLException
StackMap stack:
aload 7
invokevirtual java.sql.SQLException.getCause:()Ljava/lang/Throwable;
checkcast java.sql.SQLException
astore 7
22: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.sql.SQLException.getErrorCode:()I
ifne 23
aload 7
invokevirtual java.sql.SQLException.getCause:()Ljava/lang/Throwable;
instanceof java.sql.SQLException
ifne 21
23: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.sql.SQLException.getErrorCode:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
astore 6
end local 7 start local 6 24: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException java.lang.String
StackMap stack:
aload 6
ifnull 73
25: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCustomTranslations:()[Lorg/springframework/jdbc/support/CustomSQLErrorCodesTranslation;
astore 7
start local 7 26: aload 7
ifnull 39
27: aload 7
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 38
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[] top int int org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack:
28: aload 11
iload 9
aaload
astore 8
start local 8 29: aload 8
invokevirtual org.springframework.jdbc.support.CustomSQLErrorCodesTranslation.getErrorCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 37
30: aload 8
invokevirtual org.springframework.jdbc.support.CustomSQLErrorCodesTranslation.getExceptionClass:()Ljava/lang/Class;
ifnull 37
31: aload 0
32: aload 1
aload 2
aload 4
aload 8
invokevirtual org.springframework.jdbc.support.CustomSQLErrorCodesTranslation.getExceptionClass:()Ljava/lang/Class;
33: invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.createCustomException:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Ljava/lang/Class;)Lorg/springframework/dao/DataAccessException;
astore 12
start local 12 34: aload 12
ifnull 37
35: aload 0
aload 1
aload 2
aload 4
iconst_1
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
36: aload 12
areturn
end local 12 end local 8 37: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
38: iload 9
iload 10
if_icmplt 28
39: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getBadSqlGrammarCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 44
40: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
41: new org.springframework.jdbc.BadSqlGrammarException
dup
aload 1
aload 2
ifnull 42
aload 2
goto 43
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 41 new 41 java.lang.String
42: ldc ""
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 41 new 41 java.lang.String java.lang.String
43: aload 4
invokespecial org.springframework.jdbc.BadSqlGrammarException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)V
areturn
44: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getInvalidResultSetAccessCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 49
45: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
46: new org.springframework.jdbc.InvalidResultSetAccessException
dup
aload 1
aload 2
ifnull 47
aload 2
goto 48
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 46 new 46 java.lang.String
47: ldc ""
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 46 new 46 java.lang.String java.lang.String
48: aload 4
invokespecial org.springframework.jdbc.InvalidResultSetAccessException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)V
areturn
49: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDuplicateKeyCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 52
50: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
51: new org.springframework.dao.DuplicateKeyException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DuplicateKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
52: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDataIntegrityViolationCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 55
53: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
54: new org.springframework.dao.DataIntegrityViolationException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DataIntegrityViolationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
55: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getPermissionDeniedCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 58
56: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
57: new org.springframework.dao.PermissionDeniedDataAccessException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.PermissionDeniedDataAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
58: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDataAccessResourceFailureCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 61
59: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
60: new org.springframework.dao.DataAccessResourceFailureException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DataAccessResourceFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
61: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getTransientDataAccessResourceCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 64
62: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
63: new org.springframework.dao.TransientDataAccessResourceException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.TransientDataAccessResourceException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
64: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCannotAcquireLockCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 67
65: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
66: new org.springframework.dao.CannotAcquireLockException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.CannotAcquireLockException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
67: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDeadlockLoserCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 70
68: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
69: new org.springframework.dao.DeadlockLoserDataAccessException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DeadlockLoserDataAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
70: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCannotSerializeTransactionCodes:()[Ljava/lang/String;
aload 6
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 73
71: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
72: new org.springframework.dao.CannotSerializeTransactionException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.CannotSerializeTransactionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 7 end local 6 73: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 79
74: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
ifnull 77
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/jdbc/support/SQLErrorCodes;
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.isUseSqlStateForTranslation:()Z
ifeq 77
75: new java.lang.StringBuilder
dup
ldc "SQL state '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "', error code '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.sql.SQLException.getErrorCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 76: goto 78
end local 6 77: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Error code '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.sql.SQLException.getErrorCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 78: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to translate SQLException with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", will now try the fallback translator"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
end local 6 79: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 80 1 task Ljava/lang/String;
0 80 2 sql Ljava/lang/String;
0 80 3 ex Ljava/sql/SQLException;
1 80 4 sqlEx Ljava/sql/SQLException;
3 6 5 nestedSqlEx Ljava/sql/SQLException;
7 80 5 dae Lorg/springframework/dao/DataAccessException;
11 15 6 customTranslator Lorg/springframework/jdbc/support/SQLExceptionTranslator;
13 15 7 customDex Lorg/springframework/dao/DataAccessException;
18 19 6 errorCode Ljava/lang/String;
24 73 6 errorCode Ljava/lang/String;
20 24 7 current Ljava/sql/SQLException;
26 73 7 customTranslations [Lorg/springframework/jdbc/support/CustomSQLErrorCodesTranslation;
29 37 8 customTranslation Lorg/springframework/jdbc/support/CustomSQLErrorCodesTranslation;
34 37 12 customException Lorg/springframework/dao/DataAccessException;
76 77 6 codes Ljava/lang/String;
78 79 6 codes Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
task
sql
ex
protected org.springframework.dao.DataAccessException customTranslate(java.lang.String, java.lang.String, java.sql.SQLException);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 1 1 task Ljava/lang/String;
0 1 2 sql Ljava/lang/String;
0 1 3 sqlEx Ljava/sql/SQLException;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
task
sql
sqlEx
protected org.springframework.dao.DataAccessException createCustomException(java.lang.String, java.lang.String, java.sql.SQLException, java.lang.Class<?>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Ljava/lang/Class;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 4
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
astore 6
start local 6 2: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 25
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
StackMap stack:
3: aload 10
iload 8
aaload
astore 7
start local 7 4: aload 7
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
astore 11
start local 11 5: aload 11
arraylength
iconst_1
if_icmpne 8
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 8
6: iload 5
iconst_1
if_icmpge 8
7: iconst_1
istore 5
8: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[] java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.Class[]
StackMap stack:
aload 11
arraylength
iconst_2
if_icmpne 12
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 12
9: ldc Ljava/lang/Throwable;
aload 11
iconst_1
aaload
if_acmpne 12
10: iload 5
iconst_2
if_icmpge 12
11: iconst_2
istore 5
12: StackMap locals:
StackMap stack:
aload 11
arraylength
iconst_2
if_icmpne 16
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 16
13: ldc Ljava/sql/SQLException;
aload 11
iconst_1
aaload
if_acmpne 16
14: iload 5
iconst_3
if_icmpge 16
15: iconst_3
istore 5
16: StackMap locals:
StackMap stack:
aload 11
arraylength
iconst_3
if_icmpne 20
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 20
17: ldc Ljava/lang/String;
aload 11
iconst_1
aaload
if_acmpne 20
ldc Ljava/lang/Throwable;
aload 11
iconst_2
aaload
if_acmpne 20
18: iload 5
iconst_4
if_icmpge 20
19: iconst_4
istore 5
20: StackMap locals:
StackMap stack:
aload 11
arraylength
iconst_3
if_icmpne 24
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 24
21: ldc Ljava/lang/String;
aload 11
iconst_1
aaload
if_acmpne 24
ldc Ljava/sql/SQLException;
aload 11
iconst_2
aaload
if_acmpne 24
22: iload 5
iconst_5
if_icmpge 24
23: iconst_5
istore 5
end local 11 end local 7 24: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
iload 9
if_icmplt 3
26: iload 5
tableswitch { // 1 - 5
1: 47
2: 42
3: 37
4: 32
5: 27
default: 52
}
27: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[]
StackMap stack:
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
dup
iconst_2
ldc Ljava/sql/SQLException;
aastore
astore 8
start local 8 28: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
astore 9
start local 9 29: aload 4
aload 8
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 30: aload 7
aload 9
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
31: areturn
end local 9 end local 8 end local 7 32: StackMap locals:
StackMap stack:
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
dup
iconst_2
ldc Ljava/lang/Throwable;
aastore
astore 10
start local 10 33: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
astore 11
start local 11 34: aload 4
aload 10
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 35: aload 7
aload 11
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
36: areturn
end local 11 end local 10 end local 7 37: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/sql/SQLException;
aastore
astore 12
start local 12 38: iconst_2
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
aload 3
aastore
astore 13
start local 13 39: aload 4
aload 12
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 40: aload 7
aload 13
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
41: areturn
end local 13 end local 12 end local 7 42: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/Throwable;
aastore
astore 14
start local 14 43: iconst_2
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
aload 3
aastore
astore 15
start local 15 44: aload 4
aload 14
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 45: aload 7
aload 15
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
46: areturn
end local 15 end local 14 end local 7 47: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
astore 16
start local 16 48: iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
astore 17
start local 17 49: aload 4
aload 16
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 50: aload 7
aload 17
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
51: areturn
end local 17 end local 16 end local 7 52: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
ifeq 56
53: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to find appropriate constructor of custom exception class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
54: aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
55: invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
56: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 57: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class
StackMap stack: java.lang.Throwable
astore 5
start local 5 58: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
ifeq 60
59: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to instantiate custom exception class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
60: StackMap locals: java.lang.Throwable
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 61 1 task Ljava/lang/String;
0 61 2 sql Ljava/lang/String;
0 61 3 sqlEx Ljava/sql/SQLException;
0 61 4 exceptionClass Ljava/lang/Class<*>;
1 57 5 constructorType I
2 57 6 constructors [Ljava/lang/reflect/Constructor;
4 24 7 constructor Ljava/lang/reflect/Constructor<*>;
5 24 11 parameterTypes [Ljava/lang/Class;
30 32 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
35 37 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
40 42 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
45 47 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
50 52 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
28 32 8 messageAndSqlAndSqlExArgsClass [Ljava/lang/Class;
29 32 9 messageAndSqlAndSqlExArgs [Ljava/lang/Object;
33 37 10 messageAndSqlAndThrowableArgsClass [Ljava/lang/Class;
34 37 11 messageAndSqlAndThrowableArgs [Ljava/lang/Object;
38 42 12 messageAndSqlExArgsClass [Ljava/lang/Class;
39 42 13 messageAndSqlExArgs [Ljava/lang/Object;
43 47 14 messageAndThrowableArgsClass [Ljava/lang/Class;
44 47 15 messageAndThrowableArgs [Ljava/lang/Object;
48 52 16 messageOnlyArgsClass [Ljava/lang/Class;
49 52 17 messageOnlyArgs [Ljava/lang/Object;
58 61 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 31 57 Class java.lang.Throwable
32 36 57 Class java.lang.Throwable
37 41 57 Class java.lang.Throwable
42 46 57 Class java.lang.Throwable
47 51 57 Class java.lang.Throwable
52 56 57 Class java.lang.Throwable
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Ljava/lang/Class<*>;)Lorg/springframework/dao/DataAccessException;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
3:
MethodParameters:
Name Flags
task
sql
sqlEx
exceptionClass
private void logTranslation(java.lang.String, java.lang.String, java.sql.SQLException, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 10
1: iload 4
ifeq 2
ldc "Custom translation of"
goto 3
StackMap locals:
StackMap stack:
2: ldc "Translating"
StackMap locals:
StackMap stack: java.lang.String
3: astore 5
start local 5 4: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SQLException with SQL state '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "', error code '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getErrorCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "', message ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 2
ifnull 7
new java.lang.StringBuilder
dup
ldc "; SQL was ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 8
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException int java.lang.String
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
7: ldc ""
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException int java.lang.String
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for task ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
end local 5 10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 11 1 task Ljava/lang/String;
0 11 2 sql Ljava/lang/String;
0 11 3 sqlEx Ljava/sql/SQLException;
0 11 4 custom Z
4 10 5 intro Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
3:
MethodParameters:
Name Flags
task
sql
sqlEx
custom
}
SourceFile: "SQLErrorCodeSQLExceptionTranslator.java"