Sync with 3.1.x
* 3.1.x: (61 commits) Compensate for changes in JDK 7 Introspector Avoid 'type mismatch' errors in ExtendedBeanInfo Polish ExtendedBeanInfo and tests Infer AnnotationAttributes method return types Minor fix in MVC reference doc chapter Hibernate 4.1 etc TypeDescriptor equals implementation accepts annotations in any order "setBasenames" uses varargs now (for programmatic setup; SPR-9106) @ActiveProfiles mechanism works with @ImportResource as well (SPR-8992 polishing clarified Resource's "getFilename" method to consistently return null substituteNamedParameters detects and unwraps SqlParameterValue object Replace spaces with tabs Consider security in ClassUtils#getMostSpecificMethod Adding null check for username being null. Improvements for registering custom SQL exception translators in app c SPR-7680 Adding QueryTimeoutException to the DataAccessException hiera Minor polish in WebMvcConfigurationSupport Detect overridden boolean getters in ExtendedBeanInfo Polish ExtendedBeanInfoTests ...
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2006 the original author or authors.
|
||||
* Copyright 2002-2012 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.
|
||||
@@ -43,4 +43,14 @@ public class EmptyResultDataAccessException extends IncorrectResultSizeDataAcces
|
||||
super(msg, expectedSize, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for EmptyResultDataAccessException.
|
||||
* @param msg the detail message
|
||||
* @param expectedSize the expected result size
|
||||
* @param ex the wrapped exception
|
||||
*/
|
||||
public EmptyResultDataAccessException(String msg, int expectedSize, Throwable ex) {
|
||||
super(msg, expectedSize, 0, ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2006 the original author or authors.
|
||||
* Copyright 2002-2012 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.
|
||||
@@ -68,8 +68,8 @@ public class IncorrectResultSizeDataAccessException extends DataRetrievalFailure
|
||||
/**
|
||||
* Constructor for IncorrectResultSizeDataAccessException.
|
||||
* @param msg the detail message
|
||||
* @param ex the wrapped exception
|
||||
* @param expectedSize the expected result size
|
||||
* @param ex the wrapped exception
|
||||
*/
|
||||
public IncorrectResultSizeDataAccessException(String msg, int expectedSize, Throwable ex) {
|
||||
super(msg, ex);
|
||||
@@ -89,19 +89,32 @@ public class IncorrectResultSizeDataAccessException extends DataRetrievalFailure
|
||||
this.actualSize = actualSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for IncorrectResultSizeDataAccessException.
|
||||
* @param msg the detail message
|
||||
* @param expectedSize the expected result size
|
||||
* @param actualSize the actual result size (or -1 if unknown)
|
||||
* @param ex the wrapped exception
|
||||
*/
|
||||
public IncorrectResultSizeDataAccessException(String msg, int expectedSize, int actualSize, Throwable ex) {
|
||||
super(msg, ex);
|
||||
this.expectedSize = expectedSize;
|
||||
this.actualSize = actualSize;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the expected result size.
|
||||
*/
|
||||
public int getExpectedSize() {
|
||||
return expectedSize;
|
||||
return this.expectedSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the actual result size (or -1 if unknown).
|
||||
*/
|
||||
public int getActualSize() {
|
||||
return actualSize;
|
||||
return this.actualSize;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2011 the original author or authors.
|
||||
* Copyright 2002-2012 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.
|
||||
@@ -17,11 +17,11 @@
|
||||
package org.springframework.transaction.annotation;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.ImportAware;
|
||||
import org.springframework.core.annotation.AnnotationAttributes;
|
||||
import org.springframework.core.type.AnnotationMetadata;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.util.Assert;
|
||||
@@ -37,11 +37,12 @@ import org.springframework.util.Assert;
|
||||
@Configuration
|
||||
public abstract class AbstractTransactionManagementConfiguration implements ImportAware {
|
||||
|
||||
protected Map<String, Object> enableTx;
|
||||
protected AnnotationAttributes enableTx;
|
||||
protected PlatformTransactionManager txManager;
|
||||
|
||||
public void setImportMetadata(AnnotationMetadata importMetadata) {
|
||||
this.enableTx = importMetadata.getAnnotationAttributes(EnableTransactionManagement.class.getName(), false);
|
||||
this.enableTx = AnnotationAttributes.fromMap(
|
||||
importMetadata.getAnnotationAttributes(EnableTransactionManagement.class.getName(), false));
|
||||
Assert.notNull(this.enableTx,
|
||||
"@EnableTransactionManagement is not present on importing class " +
|
||||
importMetadata.getClassName());
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2011 the original author or authors.
|
||||
* Copyright 2002-2012 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.
|
||||
@@ -44,7 +44,7 @@ public class ProxyTransactionManagementConfiguration extends AbstractTransaction
|
||||
new BeanFactoryTransactionAttributeSourceAdvisor();
|
||||
advisor.setTransactionAttributeSource(transactionAttributeSource());
|
||||
advisor.setAdvice(transactionInterceptor());
|
||||
advisor.setOrder(((Integer)this.enableTx.get("order")));
|
||||
advisor.setOrder(this.enableTx.<Integer>getNumber("order"));
|
||||
return advisor;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user