You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by wu...@apache.org on 2021/04/13 13:06:58 UTC
[shardingsphere] branch master updated: Rename ComposableSQLToken
(#10077)
This is an automated email from the ASF dual-hosted git repository.
wuweijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 61200c6 Rename ComposableSQLToken (#10077)
61200c6 is described below
commit 61200c65886879cf185a131c5dbb2e6adacc246d
Author: Liang Zhang <te...@163.com>
AuthorDate: Tue Apr 13 21:06:18 2021 +0800
Rename ComposableSQLToken (#10077)
* Rename ComposableSQLToken
* Refactor OwnerToken
---
...tionalSQLToken.java => ComposableSQLToken.java} | 36 ++++++++-------------
.../rewrite/sql/token/pojo/generic/OwnerToken.java | 37 ++++++++++------------
...LTokenTest.java => ComposableSQLTokenTest.java} | 18 +++++------
.../sql/token/pojo/generic/OwnerTokenTest.java | 14 ++++----
4 files changed, 46 insertions(+), 59 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/CombinationalSQLToken.java b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/ComposableSQLToken.java
similarity index 72%
rename from shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/CombinationalSQLToken.java
rename to shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/ComposableSQLToken.java
index 4929c2e..2a70b6d 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/CombinationalSQLToken.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/ComposableSQLToken.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.infra.rewrite.sql.token.pojo.generic;
+import lombok.Getter;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.Substitutable;
@@ -24,37 +25,26 @@ import java.util.Collection;
import java.util.LinkedList;
/**
- * Combinational sql token.
+ * Composable SQL token.
*/
-public final class CombinationalSQLToken extends SQLToken implements Substitutable {
-
+@Getter
+public final class ComposableSQLToken extends SQLToken implements Substitutable {
+
private final Collection<SQLToken> sqlTokens = new LinkedList<>();
-
+
private final int stopIndex;
-
- public CombinationalSQLToken(final int startIndex, final int stopIndex) {
+
+ public ComposableSQLToken(final int startIndex, final int stopIndex) {
super(startIndex);
this.stopIndex = stopIndex;
}
-
+
/**
- * add sql token.
- * @param sqlToken sql token
+ * Add SQL token.
+ *
+ * @param sqlToken SQL token
*/
public void addSQLToken(final SQLToken sqlToken) {
- this.sqlTokens.add(sqlToken);
- }
-
- /**
- * get sql tokens.
- * @return sql tokens
- */
- public Collection<SQLToken> getSQLTokens() {
- return sqlTokens;
- }
-
- @Override
- public int getStopIndex() {
- return stopIndex;
+ sqlTokens.add(sqlToken);
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerToken.java b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerToken.java
index 638c48e..3201866 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerToken.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerToken.java
@@ -31,16 +31,17 @@ import java.util.Set;
* Owner token.
*/
public final class OwnerToken extends SQLToken implements Substitutable, RouteUnitAware {
-
+
@Getter
private final int stopIndex;
-
+
private final String ownerName;
-
+
private final String tableName;
-
+
+ // TODO need to clear the quoteCharacter's owner
private final QuoteCharacter quoteCharacter;
-
+
public OwnerToken(final int startIndex, final int stopIndex, final String ownerName, final String tableName, final QuoteCharacter quoteCharacter) {
super(startIndex);
this.stopIndex = stopIndex;
@@ -48,7 +49,16 @@ public final class OwnerToken extends SQLToken implements Substitutable, RouteUn
this.tableName = tableName;
this.quoteCharacter = quoteCharacter;
}
-
+
+ /**
+ * Get quote character.
+ *
+ * @return quote character
+ */
+ public QuoteCharacter getQuoteCharacter() {
+ return Objects.nonNull(quoteCharacter) ? quoteCharacter : QuoteCharacter.NONE;
+ }
+
@Override
public String toString(final RouteUnit routeUnit) {
if (Objects.nonNull(ownerName) && tableName.equals(ownerName)) {
@@ -58,22 +68,9 @@ public final class OwnerToken extends SQLToken implements Substitutable, RouteUn
}
return toString();
}
-
+
@Override
public String toString() {
return Objects.isNull(ownerName) ? "" : getQuoteCharacter().wrap(ownerName) + ".";
}
-
- @Override
- public int getStopIndex() {
- return stopIndex;
- }
-
- /**
- * get QuoteCharacter.
- * @return column QuoteCharacter
- */
- public QuoteCharacter getQuoteCharacter() {
- return Objects.nonNull(quoteCharacter) ? quoteCharacter : QuoteCharacter.NONE;
- }
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/CombinationalSQLTokenTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/ComposableSQLTokenTest.java
similarity index 71%
rename from shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/CombinationalSQLTokenTest.java
rename to shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/ComposableSQLTokenTest.java
index b13e64a..b5e5722 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/CombinationalSQLTokenTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/ComposableSQLTokenTest.java
@@ -26,18 +26,18 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-public final class CombinationalSQLTokenTest {
-
+public final class ComposableSQLTokenTest {
+
@Test
- public void assertCombinationalSQLToken() {
- CombinationalSQLToken combinationalSQLToken = new CombinationalSQLToken(0, 1);
+ public void assertComposableSQLToken() {
+ ComposableSQLToken composableSQLToken = new ComposableSQLToken(0, 1);
SQLToken sqlToken = mock(SQLToken.class);
when(sqlToken.getStartIndex()).thenReturn(2);
when(sqlToken.compareTo(any(SQLToken.class))).thenReturn(0);
- combinationalSQLToken.addSQLToken(sqlToken);
- assertThat(combinationalSQLToken.getStartIndex(), is(0));
- assertThat(combinationalSQLToken.getStopIndex(), is(1));
- assertThat(combinationalSQLToken.getSQLTokens().size(), is(1));
- assertThat(combinationalSQLToken.getSQLTokens().iterator().next().compareTo(sqlToken), is(0));
+ composableSQLToken.addSQLToken(sqlToken);
+ assertThat(composableSQLToken.getStartIndex(), is(0));
+ assertThat(composableSQLToken.getStopIndex(), is(1));
+ assertThat(composableSQLToken.getSqlTokens().size(), is(1));
+ assertThat(composableSQLToken.getSqlTokens().iterator().next().compareTo(sqlToken), is(0));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerTokenTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerTokenTest.java
index 66289bf..3ae5ee1 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerTokenTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/OwnerTokenTest.java
@@ -28,47 +28,47 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
public final class OwnerTokenTest {
-
+
@Test
public void assertOwnerTokenWithOwnerNameEqualsTableName() {
OwnerToken ownerToken = new OwnerToken(0, 1, "t_user", "t_user", QuoteCharacter.NONE);
assertThat(ownerToken.toString(buildRouteUnit()), is("t_user_0."));
assertTokenGrid(ownerToken);
}
-
+
@Test
public void assertOwnerTokenWithOwnerNameNotEqualsTableName() {
OwnerToken ownerToken = new OwnerToken(0, 1, "u", "t_user", QuoteCharacter.NONE);
assertThat(ownerToken.toString(buildRouteUnit()), is("u."));
assertTokenGrid(ownerToken);
}
-
+
@Test
public void assertOwnerTokenWithNoRouteUnitAndOwnerNameEqualsTableName() {
OwnerToken ownerToken = new OwnerToken(0, 1, "t_user_detail", "t_user_detail", QuoteCharacter.NONE);
assertThat(ownerToken.toString(), is("t_user_detail."));
assertTokenGrid(ownerToken);
}
-
+
@Test
public void assertOwnerTokenWithNoRouteUnitAndOwnerNameNotEqualsTableName() {
OwnerToken ownerToken = new OwnerToken(0, 1, "ud", "t_user_detail", QuoteCharacter.NONE);
assertThat(ownerToken.toString(), is("ud."));
assertTokenGrid(ownerToken);
}
-
+
@Test
public void assertOwnerTokenWithNoRouteUnitAndOwnerNameIsEmpty() {
OwnerToken ownerToken = new OwnerToken(0, 1, null, "t_user_detail", QuoteCharacter.NONE);
assertThat(ownerToken.toString(), is(""));
assertTokenGrid(ownerToken);
}
-
+
private void assertTokenGrid(final OwnerToken ownerToken) {
assertThat(ownerToken.getStartIndex(), is(0));
assertThat(ownerToken.getStopIndex(), is(1));
}
-
+
private RouteUnit buildRouteUnit() {
return new RouteUnit(new RouteMapper("logic_db", "logic_db"), Collections.singletonList(new RouteMapper("t_user", "t_user_0")));
}