diff --git a/spring-core/src/main/java/org/springframework/util/xml/AbstractXMLEventReader.java b/spring-core/src/main/java/org/springframework/util/xml/AbstractXMLEventReader.java index b9ba717fe6..12a934b981 100644 --- a/spring-core/src/main/java/org/springframework/util/xml/AbstractXMLEventReader.java +++ b/spring-core/src/main/java/org/springframework/util/xml/AbstractXMLEventReader.java @@ -27,6 +27,7 @@ import org.springframework.util.ClassUtils; /** * Abstract base class for {@code XMLEventReader}s. + * * @author Arjen Poutsma * @since 5.0 */ @@ -34,6 +35,7 @@ abstract class AbstractXMLEventReader implements XMLEventReader { private boolean closed; + @Override public Object next() { try { @@ -113,12 +115,17 @@ abstract class AbstractXMLEventReader implements XMLEventReader { throw new IllegalArgumentException("Property not supported: [" + name + "]"); } + @Override + public void close() { + this.closed = true; + } + /** * Returns {@code true} if closed; {@code false} otherwise. * @see #close() */ protected boolean isClosed() { - return closed; + return this.closed; } /** @@ -133,8 +140,4 @@ abstract class AbstractXMLEventReader implements XMLEventReader { } } - @Override - public void close() { - closed = true; - } } diff --git a/spring-core/src/main/java/org/springframework/util/xml/ListBasedXMLEventReader.java b/spring-core/src/main/java/org/springframework/util/xml/ListBasedXMLEventReader.java index 0962262ba1..6abb577ea1 100644 --- a/spring-core/src/main/java/org/springframework/util/xml/ListBasedXMLEventReader.java +++ b/spring-core/src/main/java/org/springframework/util/xml/ListBasedXMLEventReader.java @@ -35,20 +35,22 @@ class ListBasedXMLEventReader extends AbstractXMLEventReader { private int cursor = 0; + public ListBasedXMLEventReader(List events) { Assert.notNull(events, "'events' must not be null"); this.events = Collections.unmodifiableList(events); } + @Override public boolean hasNext() { - return cursor != events.size(); + return (this.cursor != this.events.size()); } @Override public XMLEvent nextEvent() { - if (cursor < events.size()) { - return events.get(cursor++); + if (this.cursor < this.events.size()) { + return this.events.get(this.cursor++); } else { throw new NoSuchElementException(); @@ -57,8 +59,8 @@ class ListBasedXMLEventReader extends AbstractXMLEventReader { @Override public XMLEvent peek() { - if (cursor < events.size()) { - return events.get(cursor); + if (this.cursor < this.events.size()) { + return this.events.get(this.cursor); } else { return null; @@ -70,4 +72,5 @@ class ListBasedXMLEventReader extends AbstractXMLEventReader { super.close(); this.events.clear(); } + } diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java index 7795d92210..106e3bcd83 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java @@ -17,6 +17,7 @@ package org.springframework.transaction.interceptor; import java.lang.reflect.Method; +import java.util.Map; import java.util.Properties; import java.util.concurrent.ConcurrentHashMap; @@ -85,7 +86,7 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init new NamedThreadLocal<>("Current aspect-driven transaction"); - private final ConcurrentHashMap transactionManagerCache = + private final Map transactionManagerCache = new ConcurrentHashMap<>(); /** @@ -243,7 +244,7 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init public void afterPropertiesSet() { if (getTransactionManager() == null && this.beanFactory == null) { throw new IllegalStateException( - "Setting the property 'transactionManager' or running in a ListableBeanFactory is required"); + "Setting the property 'transactionManager' or running in a BeanFactory is required"); } if (this.transactionAttributeSource == null) { throw new IllegalStateException( @@ -449,17 +450,16 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init TransactionInfo txInfo = new TransactionInfo(tm, txAttr, joinpointIdentification); if (txAttr != null) { - // We need a transaction for this method + // We need a transaction for this method... if (logger.isTraceEnabled()) { logger.trace("Getting transaction for [" + txInfo.getJoinpointIdentification() + "]"); } - // The transaction manager will flag an error if an incompatible tx already exists + // The transaction manager will flag an error if an incompatible tx already exists. txInfo.newTransactionStatus(status); } else { - // The TransactionInfo.hasTransaction() method will return - // false. We created it only to preserve the integrity of - // the ThreadLocal stack maintained in this class. + // The TransactionInfo.hasTransaction() method will return false. We created it only + // to preserve the integrity of the ThreadLocal stack maintained in this class. if (logger.isTraceEnabled()) logger.trace("Don't need to create transaction for [" + joinpointIdentification + "]: This method isn't transactional.");