提交 e55573aa 编写于 作者: T terrymanu

remove useless TransactionType.find

上级 7085b3b9
......@@ -24,20 +24,5 @@ package io.shardingsphere.core.constant.transaction;
*/
public enum TransactionType {
LOCAL, XA, BASE;
/**
* Find transaction type by name.
*
* @param name name of transaction type
* @return transaction type
*/
public static TransactionType find(final String name) {
for (TransactionType each : TransactionType.values()) {
if (name.equals(each.name())) {
return each;
}
}
throw new UnsupportedOperationException(String.format("Cannot find transaction type of [%s]", name));
}
LOCAL, XA, BASE
}
......@@ -40,6 +40,15 @@ public final class ShardingTransactionHandlerRegistry {
private static final ShardingTransactionHandlerRegistry INSTANCE = new ShardingTransactionHandlerRegistry();
/**
* Get instance of sharding transaction handler registry.
*
* @return sharding transaction handler registry
*/
public static ShardingTransactionHandlerRegistry getInstance() {
return INSTANCE;
}
/**
* Load sharding transaction handler.
*/
......@@ -55,15 +64,6 @@ public final class ShardingTransactionHandlerRegistry {
}
}
/**
* Get instance of sharding transaction handler registry.
*
* @return sharding transaction handler registry
*/
public static ShardingTransactionHandlerRegistry getInstance() {
return INSTANCE;
}
/**
* Get transaction handler by type.
*
......
......@@ -84,7 +84,7 @@ public abstract class AbstractConnectionAdapter extends AbstractUnsupportedOpera
rootInvokeHook.start();
this.transactionType = transactionType;
shardingTransactionHandler = ShardingTransactionHandlerRegistry.getInstance().getHandler(transactionType);
if (transactionType != TransactionType.LOCAL) {
if (TransactionType.LOCAL != transactionType) {
Preconditions.checkNotNull(shardingTransactionHandler, String.format("Cannot find transaction manager of [%s]", transactionType));
}
}
......
......@@ -69,7 +69,7 @@ public class ShardingDataSource extends AbstractDataSourceAdapter {
@Override
public final ShardingConnection getConnection() {
if (TransactionType.XA == TransactionTypeHolder.get()) {
if (null != getXaDataSourceMap() && getXaDataSourceMap().isEmpty()) {
if (null != getXaDataSourceMap() && !getXaDataSourceMap().isEmpty()) {
return new ShardingConnection(getXaDataSourceMap(), shardingContext, TransactionType.XA);
}
log.warn("XA transaction resource have not load, using Local transaction instead!");
......
......@@ -179,7 +179,6 @@ public final class ShardingDataSourceTest {
assertThat(shardingConnection.getDataSourceMap().size(), is(1));
assertThat(shardingConnection.getTransactionType(), is(TransactionType.XA));
assertThat(shardingConnection.getShardingTransactionHandler(), instanceOf(FixedXAShardingTransactionHandler.class));
TransactionTypeHolder.set(TransactionType.LOCAL);
shardingConnection = shardingDataSource.getConnection();
assertThat(shardingConnection.getConnection("ds"), is(dataSource.getConnection()));
......
......@@ -49,7 +49,7 @@ public final class ShardingCTLSetBackendHandler extends AbstractBackendHandler {
}
switch (shardingTCLStatement.get().getKey()) {
case "TRANSACTION_TYPE":
backendConnection.setTransactionType(TransactionType.find(shardingTCLStatement.get().getValue()));
backendConnection.setTransactionType(TransactionType.valueOf(shardingTCLStatement.get().getValue()));
break;
default:
return new CommandResponsePackets(new ErrPacket(String.format(" could not support this sctl grammar [%s].", sql)));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册