From 8c87d847286dfedb9400e04704a2880c7cec1424 Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Thu, 23 Oct 2008 14:10:34 +0000 Subject: [PATCH] Removed Commons Attributes support for Transactional --- .../AttributesTransactionAttributeSource.java | 151 ------------------ 1 file changed, 151 deletions(-) delete mode 100644 org.springframework.transaction/src/main/java/org/springframework/transaction/interceptor/AttributesTransactionAttributeSource.java diff --git a/org.springframework.transaction/src/main/java/org/springframework/transaction/interceptor/AttributesTransactionAttributeSource.java b/org.springframework.transaction/src/main/java/org/springframework/transaction/interceptor/AttributesTransactionAttributeSource.java deleted file mode 100644 index 8865a163ff9..00000000000 --- a/org.springframework.transaction/src/main/java/org/springframework/transaction/interceptor/AttributesTransactionAttributeSource.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2002-2007 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.transaction.interceptor; - -import java.lang.reflect.Method; -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -import org.springframework.beans.factory.InitializingBean; -import org.springframework.metadata.Attributes; -import org.springframework.util.Assert; -import org.springframework.util.ObjectUtils; - -/** - * Implementation of the {@link TransactionAttributeSource} interface that reads - * metadata via Spring's {@link org.springframework.metadata.Attributes} abstraction. - * - *

Typically used for reading in source-level attributes via Commons Attributes. - * - * @author Rod Johnson - * @author Juergen Hoeller - * @see org.springframework.metadata.Attributes - * @see org.springframework.metadata.commons.CommonsAttributes - */ -public class AttributesTransactionAttributeSource extends AbstractFallbackTransactionAttributeSource - implements InitializingBean { - - /** - * Underlying Attributes implementation that we're using. - */ - private Attributes attributes; - - - /** - * Create a new AttributesTransactionAttributeSource. - * @see #setAttributes - */ - public AttributesTransactionAttributeSource() { - } - - /** - * Create a new AttributesTransactionAttributeSource. - * @param attributes the Attributes implementation to use - * @see org.springframework.metadata.commons.CommonsAttributes - */ - public AttributesTransactionAttributeSource(Attributes attributes) { - Assert.notNull(attributes, "Attributes must not be null"); - this.attributes = attributes; - } - - /** - * Set the Attributes implementation to use. - * @see org.springframework.metadata.commons.CommonsAttributes - */ - public void setAttributes(Attributes attributes) { - this.attributes = attributes; - } - - public void afterPropertiesSet() { - Assert.notNull(this.attributes, "Property 'attributes' is required"); - } - - - protected TransactionAttribute findTransactionAttribute(Method method) { - Assert.notNull(this.attributes, "Property 'attributes' is required"); - return findTransactionAttribute(this.attributes.getAttributes(method)); - } - - protected TransactionAttribute findTransactionAttribute(Class clazz) { - Assert.notNull(this.attributes, "Property 'attributes' is required"); - return findTransactionAttribute(this.attributes.getAttributes(clazz)); - } - - /** - * Return the transaction attribute, given this set of attributes - * attached to a method or class. - *

Protected rather than private as subclasses may want to customize - * how this is done: for example, returning a TransactionAttribute - * affected by the values of other attributes. - *

This implementation takes into account RollbackRuleAttributes, - * if the TransactionAttribute is a RuleBasedTransactionAttribute. - * @param atts attributes attached to a method or class (may be null) - * @return TransactionAttribute the corresponding transaction attribute, - * or null if none was found - */ - protected TransactionAttribute findTransactionAttribute(Collection atts) { - if (atts == null) { - return null; - } - - TransactionAttribute txAttribute = null; - - // Check whether there is a transaction attribute. - for (Iterator it = atts.iterator(); it.hasNext() && txAttribute == null; ) { - Object att = it.next(); - if (att instanceof TransactionAttribute) { - txAttribute = (TransactionAttribute) att; - } - } - - // Check if we have a RuleBasedTransactionAttribute. - if (txAttribute instanceof RuleBasedTransactionAttribute) { - RuleBasedTransactionAttribute rbta = (RuleBasedTransactionAttribute) txAttribute; - // We really want value: bit of a hack. - List rollbackRules = new LinkedList(); - for (Iterator it = atts.iterator(); it.hasNext(); ) { - Object att = it.next(); - if (att instanceof RollbackRuleAttribute) { - rollbackRules.add(att); - } - } - // Repeatedly setting this isn't elegant, but it works. - rbta.setRollbackRules(rollbackRules); - } - - return txAttribute; - } - - - public boolean equals(Object other) { - if (this == other) { - return true; - } - if (!(other instanceof AttributesTransactionAttributeSource)) { - return false; - } - AttributesTransactionAttributeSource otherTas = (AttributesTransactionAttributeSource) other; - return ObjectUtils.nullSafeEquals(this.attributes, otherTas.attributes); - } - - public int hashCode() { - return AttributesTransactionAttributeSource.class.hashCode(); - } - -}