You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by to...@apache.org on 2022/05/04 16:25:18 UTC
[shardingsphere] branch master updated: Move cosId related into shardingsphere-sharding-cosid module (#17320)
This is an automated email from the ASF dual-hosted git repository.
totalo 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 d3e294e5b16 Move cosId related into shardingsphere-sharding-cosid module (#17320)
d3e294e5b16 is described below
commit d3e294e5b16f5561776b4bf68d3f148550c2ad47
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu May 5 00:24:54 2022 +0800
Move cosId related into shardingsphere-sharding-cosid module (#17320)
---
pom.xml | 6 ----
.../shardingsphere-sharding/pom.xml | 1 +
.../shardingsphere-sharding-core/pom.xml | 12 +++----
.../sharding/hint/HintInlineShardingAlgorithm.java | 12 ++++---
...hardingsphere.sharding.spi.KeyGenerateAlgorithm | 2 --
...e.shardingsphere.sharding.spi.ShardingAlgorithm | 3 --
.../strategy/ShardingStrategyFactoryTest.java | 2 +-
.../fixture/HintShardingAlgorithmFixture.java | 42 ----------------------
.../type/hint/HintShardingStrategyTest.java | 2 +-
...e.shardingsphere.sharding.spi.ShardingAlgorithm | 1 -
.../{ => shardingsphere-sharding-plugin}/pom.xml | 9 ++---
.../shardingsphere-sharding-cosid}/pom.xml | 28 ++++++++++-----
.../cosid/algorithm}/CosIdAlgorithmConstants.java | 2 +-
.../keygen/CosIdKeyGenerateAlgorithm.java | 4 +--
.../keygen/CosIdSnowflakeKeyGenerateAlgorithm.java | 17 +++++++--
.../AbstractCosIdIntervalShardingAlgorithm.java | 4 +--
.../interval/CosIdIntervalShardingAlgorithm.java | 4 +--
.../CosIdSnowflakeIntervalShardingAlgorithm.java | 6 ++--
.../sharding}/mod/CosIdModShardingAlgorithm.java | 4 +--
...hardingsphere.sharding.spi.KeyGenerateAlgorithm | 6 ++--
....shardingsphere.sharding.spi.ShardingAlgorithm} | 7 ++--
.../sharding/cosid/algorithm}/Arguments.java | 2 +-
.../keygen/CosIdKeyGenerateAlgorithmTest.java | 20 +++++------
.../CosIdSnowflakeKeyGenerateAlgorithmTest.java | 41 +++++++++++----------
.../keygen/fixture/WorkerIdGeneratorFixture.java} | 18 +++++-----
.../CosIdIntervalShardingAlgorithmTest.java | 16 ++++-----
...osIdSnowflakeIntervalShardingAlgorithmTest.java | 6 ++--
.../mod/CosIdModShardingAlgorithmTest.java | 6 ++--
28 files changed, 123 insertions(+), 160 deletions(-)
diff --git a/pom.xml b/pom.xml
index 89bd62a41f6..1a476267fc2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,7 +104,6 @@
<opentelemetry.version>1.3.0</opentelemetry.version>
<opentelemetry-autoconfigure.version>1.3.0-alpha</opentelemetry-autoconfigure.version>
- <cosid.version>1.8.6</cosid.version>
<jnanoid.version>2.0.0</jnanoid.version>
<bcprov-jdk15on.version>1.70</bcprov-jdk15on.version>
@@ -578,11 +577,6 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>me.ahoo.cosid</groupId>
- <artifactId>cosid-core</artifactId>
- <version>${cosid.version}</version>
- </dependency>
<dependency>
<groupId>com.aventrix.jnanoid</groupId>
<artifactId>jnanoid</artifactId>
diff --git a/shardingsphere-features/shardingsphere-sharding/pom.xml b/shardingsphere-features/shardingsphere-sharding/pom.xml
index f2774f92140..7d6ceb39393 100644
--- a/shardingsphere-features/shardingsphere-sharding/pom.xml
+++ b/shardingsphere-features/shardingsphere-sharding/pom.xml
@@ -33,5 +33,6 @@
<module>shardingsphere-sharding-core</module>
<module>shardingsphere-sharding-distsql</module>
<module>shardingsphere-sharding-spring</module>
+ <module>shardingsphere-sharding-plugin</module>
</modules>
</project>
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/pom.xml b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/pom.xml
index 0293875c7ce..1d0f8354c22 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/pom.xml
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/pom.xml
@@ -69,6 +69,11 @@
<artifactId>shardingsphere-infra-merge</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-mode-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-system-datetime</artifactId>
@@ -76,7 +81,7 @@
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-mode-core</artifactId>
+ <artifactId>shardingsphere-sharding-cosid</artifactId>
<version>${project.version}</version>
</dependency>
@@ -123,11 +128,6 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>me.ahoo.cosid</groupId>
- <artifactId>cosid-core</artifactId>
- </dependency>
-
<dependency>
<groupId>com.aventrix.jnanoid</groupId>
<artifactId>jnanoid</artifactId>
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java
index 2f766a6cea5..fbdc315c1cb 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java
@@ -41,7 +41,7 @@ public final class HintInlineShardingAlgorithm implements HintShardingAlgorithm<
private static final String HINT_INLINE_VALUE_PROPERTY_NAME = "value";
- private String algorithmExpression;
+ private volatile String algorithmExpression;
@Getter
@Setter
@@ -49,9 +49,13 @@ public final class HintInlineShardingAlgorithm implements HintShardingAlgorithm<
@Override
public void init(final Properties props) {
- String expression = props.getProperty(ALGORITHM_EXPRESSION_KEY, DEFAULT_ALGORITHM_EXPRESSION);
- Preconditions.checkNotNull(expression, "Inline sharding algorithm expression cannot be null.");
- algorithmExpression = InlineExpressionParser.handlePlaceHolder(expression.trim());
+ algorithmExpression = getAlgorithmExpression(props);
+ }
+
+ private String getAlgorithmExpression(final Properties props) {
+ String algorithmExpression = props.getProperty(ALGORITHM_EXPRESSION_KEY, DEFAULT_ALGORITHM_EXPRESSION);
+ Preconditions.checkNotNull(algorithmExpression, "Inline sharding algorithm expression can not be null.");
+ return InlineExpressionParser.handlePlaceHolder(algorithmExpression.trim());
}
@Override
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
index 3429c747b22..3ce4e58b0d4 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
@@ -17,5 +17,3 @@
org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm
org.apache.shardingsphere.sharding.algorithm.keygen.UUIDKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.CosIdKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
index 4a096518df9..2af81f319e6 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
@@ -25,6 +25,3 @@ org.apache.shardingsphere.sharding.algorithm.sharding.datetime.IntervalShardingA
org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm
org.apache.shardingsphere.sharding.algorithm.sharding.complex.ComplexInlineShardingAlgorithm
org.apache.shardingsphere.sharding.algorithm.sharding.hint.HintInlineShardingAlgorithm
-org.apache.shardingsphere.sharding.algorithm.sharding.cosid.mod.CosIdModShardingAlgorithm
-org.apache.shardingsphere.sharding.algorithm.sharding.cosid.interval.CosIdIntervalShardingAlgorithm
-org.apache.shardingsphere.sharding.algorithm.sharding.cosid.interval.CosIdSnowflakeIntervalShardingAlgorithm
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/ShardingStrategyFactoryTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/ShardingStrategyFactoryTest.java
index f92d45bb1fa..01bd1778f40 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/ShardingStrategyFactoryTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/ShardingStrategyFactoryTest.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.sharding.route.strategy;
import org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration;
import org.apache.shardingsphere.sharding.api.config.strategy.sharding.HintShardingStrategyConfiguration;
import org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration;
+import org.apache.shardingsphere.sharding.fixture.HintShardingAlgorithmFixture;
import org.apache.shardingsphere.sharding.route.strategy.fixture.ComplexKeysShardingAlgorithmFixture;
-import org.apache.shardingsphere.sharding.route.strategy.fixture.HintShardingAlgorithmFixture;
import org.apache.shardingsphere.sharding.route.strategy.fixture.StandardShardingAlgorithmFixture;
import org.apache.shardingsphere.sharding.route.strategy.type.complex.ComplexShardingStrategy;
import org.apache.shardingsphere.sharding.route.strategy.type.hint.HintShardingStrategy;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/fixture/HintShardingAlgorithmFixture.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/fixture/HintShardingAlgorithmFixture.java
deleted file mode 100644
index e61c350c134..00000000000
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/fixture/HintShardingAlgorithmFixture.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.shardingsphere.sharding.route.strategy.fixture;
-
-import org.apache.shardingsphere.sharding.api.sharding.hint.HintShardingAlgorithm;
-import org.apache.shardingsphere.sharding.api.sharding.hint.HintShardingValue;
-
-import java.util.Collection;
-import java.util.Collections;
-
-public final class HintShardingAlgorithmFixture implements HintShardingAlgorithm<Integer> {
-
- @Override
- public Collection<String> doSharding(final Collection<String> availableTargetNames, final HintShardingValue<Integer> shardingValue) {
- for (String each : availableTargetNames) {
- if (each.endsWith(String.valueOf(shardingValue.getValues().iterator().next() % 2))) {
- return Collections.singletonList(each);
- }
- }
- return null;
- }
-
- @Override
- public String getType() {
- return "HINT_TEST";
- }
-}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/type/hint/HintShardingStrategyTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/type/hint/HintShardingStrategyTest.java
index 8823fa85be2..afc29859299 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/type/hint/HintShardingStrategyTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/strategy/type/hint/HintShardingStrategyTest.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.sharding.route.strategy.type.hint;
import com.google.common.collect.Sets;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.datanode.DataNodeInfo;
+import org.apache.shardingsphere.sharding.fixture.HintShardingAlgorithmFixture;
import org.apache.shardingsphere.sharding.route.engine.condition.value.ListShardingConditionValue;
-import org.apache.shardingsphere.sharding.route.strategy.fixture.HintShardingAlgorithmFixture;
import org.junit.Test;
import java.util.Collection;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
index 02930dca115..cb693db5805 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
@@ -19,5 +19,4 @@ org.apache.shardingsphere.sharding.fixture.ComplexKeysShardingAlgorithmFixture
org.apache.shardingsphere.sharding.fixture.HintShardingAlgorithmFixture
org.apache.shardingsphere.sharding.fixture.StandardShardingAlgorithmFixture
org.apache.shardingsphere.sharding.route.strategy.fixture.ComplexKeysShardingAlgorithmFixture
-org.apache.shardingsphere.sharding.route.strategy.fixture.HintShardingAlgorithmFixture
org.apache.shardingsphere.sharding.route.strategy.fixture.StandardShardingAlgorithmFixture
diff --git a/shardingsphere-features/shardingsphere-sharding/pom.xml b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/pom.xml
similarity index 80%
copy from shardingsphere-features/shardingsphere-sharding/pom.xml
copy to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/pom.xml
index f2774f92140..a7c58719680 100644
--- a/shardingsphere-features/shardingsphere-sharding/pom.xml
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/pom.xml
@@ -21,17 +21,14 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-features</artifactId>
+ <artifactId>shardingsphere-sharding</artifactId>
<version>5.1.2-SNAPSHOT</version>
</parent>
- <artifactId>shardingsphere-sharding</artifactId>
+ <artifactId>shardingsphere-sharding-plugin</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<modules>
- <module>shardingsphere-sharding-api</module>
- <module>shardingsphere-sharding-core</module>
- <module>shardingsphere-sharding-distsql</module>
- <module>shardingsphere-sharding-spring</module>
+ <module>shardingsphere-sharding-cosid</module>
</modules>
</project>
diff --git a/shardingsphere-features/shardingsphere-sharding/pom.xml b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/pom.xml
similarity index 66%
copy from shardingsphere-features/shardingsphere-sharding/pom.xml
copy to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/pom.xml
index f2774f92140..bd3d061d6c2 100644
--- a/shardingsphere-features/shardingsphere-sharding/pom.xml
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/pom.xml
@@ -21,17 +21,27 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-features</artifactId>
+ <artifactId>shardingsphere-sharding-plugin</artifactId>
<version>5.1.2-SNAPSHOT</version>
</parent>
- <artifactId>shardingsphere-sharding</artifactId>
- <packaging>pom</packaging>
+ <artifactId>shardingsphere-sharding-cosid</artifactId>
<name>${project.artifactId}</name>
- <modules>
- <module>shardingsphere-sharding-api</module>
- <module>shardingsphere-sharding-core</module>
- <module>shardingsphere-sharding-distsql</module>
- <module>shardingsphere-sharding-spring</module>
- </modules>
+ <properties>
+ <cosid.version>1.8.6</cosid.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-sharding-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>me.ahoo.cosid</groupId>
+ <artifactId>cosid-core</artifactId>
+ <version>${cosid.version}</version>
+ </dependency>
+ </dependencies>
</project>
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/constant/CosIdAlgorithmConstants.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/CosIdAlgorithmConstants.java
similarity index 95%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/constant/CosIdAlgorithmConstants.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/CosIdAlgorithmConstants.java
index 02d67a7d96c..4d8921f8674 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/constant/CosIdAlgorithmConstants.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/CosIdAlgorithmConstants.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.constant;
+package org.apache.shardingsphere.sharding.cosid.algorithm;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdKeyGenerateAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithm.java
similarity index 93%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdKeyGenerateAlgorithm.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithm.java
index 13d50701e01..31e14c3c72f 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdKeyGenerateAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithm.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.keygen;
+package org.apache.shardingsphere.sharding.cosid.algorithm.keygen;
import lombok.Getter;
import lombok.Setter;
import me.ahoo.cosid.CosId;
import me.ahoo.cosid.provider.IdGeneratorProvider;
import me.ahoo.cosid.provider.LazyIdGenerator;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
import org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm;
import java.util.Properties;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java
similarity index 85%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java
index c47fbf70ec0..ccca68a39e7 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.keygen;
+package org.apache.shardingsphere.sharding.cosid.algorithm.keygen;
import com.google.common.base.Preconditions;
import lombok.Getter;
@@ -27,9 +27,10 @@ import me.ahoo.cosid.snowflake.SnowflakeId;
import me.ahoo.cosid.snowflake.StringSnowflakeId;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereInstanceRequiredAlgorithm;
import org.apache.shardingsphere.infra.instance.InstanceContext;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
import org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm;
+import java.util.Calendar;
import java.util.Properties;
/**
@@ -39,7 +40,7 @@ public final class CosIdSnowflakeKeyGenerateAlgorithm implements KeyGenerateAlgo
public static final String TYPE = CosIdAlgorithmConstants.TYPE_PREFIX + "SNOWFLAKE";
- public static final long DEFAULT_EPOCH = SnowflakeKeyGenerateAlgorithm.EPOCH;
+ public static final long DEFAULT_EPOCH;
public static final String AS_STRING_KEY = "as-string";
@@ -55,6 +56,16 @@ public final class CosIdSnowflakeKeyGenerateAlgorithm implements KeyGenerateAlgo
private volatile long epoch;
+ static {
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(2016, Calendar.NOVEMBER, 1);
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
+ calendar.set(Calendar.MINUTE, 0);
+ calendar.set(Calendar.SECOND, 0);
+ calendar.set(Calendar.MILLISECOND, 0);
+ DEFAULT_EPOCH = calendar.getTimeInMillis();
+ }
+
@Override
public void init(final Properties props) {
asString = getAsString(props);
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/AbstractCosIdIntervalShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/AbstractCosIdIntervalShardingAlgorithm.java
similarity index 97%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/AbstractCosIdIntervalShardingAlgorithm.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/AbstractCosIdIntervalShardingAlgorithm.java
index b99af29c879..4792cf5f638 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/AbstractCosIdIntervalShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/AbstractCosIdIntervalShardingAlgorithm.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid.interval;
+package org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval;
import com.google.common.base.Preconditions;
import com.google.common.collect.BoundType;
@@ -24,7 +24,7 @@ import lombok.AccessLevel;
import lombok.Getter;
import me.ahoo.cosid.sharding.IntervalStep;
import me.ahoo.cosid.sharding.IntervalTimeline;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.StandardShardingAlgorithm;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdIntervalShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithm.java
similarity index 95%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdIntervalShardingAlgorithm.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithm.java
index b7a9fd5090a..815915e65fb 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdIntervalShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithm.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid.interval;
+package org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval;
import com.google.common.base.Strings;
import lombok.Getter;
import lombok.Setter;
import me.ahoo.cosid.util.LocalDateTimeConvert;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdSnowflakeIntervalShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithm.java
similarity index 92%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdSnowflakeIntervalShardingAlgorithm.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithm.java
index b5e50bcb1b7..79fa531c87a 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdSnowflakeIntervalShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithm.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid.interval;
+package org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval;
import com.google.common.base.Strings;
import lombok.Getter;
@@ -24,8 +24,8 @@ import me.ahoo.cosid.converter.Radix62IdConverter;
import me.ahoo.cosid.snowflake.MillisecondSnowflakeId;
import me.ahoo.cosid.snowflake.MillisecondSnowflakeIdStateParser;
import me.ahoo.cosid.snowflake.SnowflakeIdStateParser;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
-import org.apache.shardingsphere.sharding.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm;
import java.time.LocalDateTime;
import java.util.Properties;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/mod/CosIdModShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithm.java
similarity index 94%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/mod/CosIdModShardingAlgorithm.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithm.java
index 9fa686eb4ea..ef5dc4fb560 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/mod/CosIdModShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithm.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid.mod;
+package org.apache.shardingsphere.sharding.cosid.algorithm.sharding.mod;
import com.google.common.base.Preconditions;
import lombok.Getter;
import lombok.Setter;
import me.ahoo.cosid.sharding.ModCycle;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.StandardShardingAlgorithm;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
similarity index 70%
copy from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
copy to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
index 3429c747b22..7ada14153e1 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
@@ -15,7 +15,5 @@
# limitations under the License.
#
-org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.UUIDKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.CosIdKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm
+org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdKeyGenerateAlgorithm
+org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
similarity index 70%
copy from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
copy to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
index 3429c747b22..2198fe21a33 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/resources/META-INF/services/org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
@@ -15,7 +15,6 @@
# limitations under the License.
#
-org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.UUIDKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.CosIdKeyGenerateAlgorithm
-org.apache.shardingsphere.sharding.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm
+org.apache.shardingsphere.sharding.cosid.algorithm.sharding.mod.CosIdModShardingAlgorithm
+org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdIntervalShardingAlgorithm
+org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdSnowflakeIntervalShardingAlgorithm
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/Arguments.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/Arguments.java
similarity index 95%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/Arguments.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/Arguments.java
index 2520367f80d..5895e416aa1 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/Arguments.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/Arguments.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid;
+package org.apache.shardingsphere.sharding.cosid.algorithm;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdKeyGenerateAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithmTest.java
similarity index 82%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdKeyGenerateAlgorithmTest.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithmTest.java
index 6031a6ad782..15a2324fca8 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdKeyGenerateAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithmTest.java
@@ -15,21 +15,19 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.keygen;
+package org.apache.shardingsphere.sharding.cosid.algorithm.keygen;
import me.ahoo.cosid.provider.DefaultIdGeneratorProvider;
import me.ahoo.cosid.provider.NotFoundIdGeneratorException;
import me.ahoo.cosid.segment.DefaultSegmentId;
import me.ahoo.cosid.segment.IdSegmentDistributor;
import me.ahoo.cosid.util.MockIdGenerator;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
+import org.hamcrest.CoreMatchers;
import org.junit.Test;
import java.util.Properties;
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.startsWith;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
@@ -44,8 +42,8 @@ public final class CosIdKeyGenerateAlgorithmTest {
props.setProperty(CosIdAlgorithmConstants.ID_NAME_KEY, idName);
CosIdKeyGenerateAlgorithm keyGenerateAlgorithm = new CosIdKeyGenerateAlgorithm();
keyGenerateAlgorithm.init(props);
- assertThat(keyGenerateAlgorithm.generateKey(), is(1L));
- assertThat(keyGenerateAlgorithm.generateKey(), is(2L));
+ assertThat(keyGenerateAlgorithm.generateKey(), CoreMatchers.is(1L));
+ assertThat(keyGenerateAlgorithm.generateKey(), CoreMatchers.is(2L));
}
@Test
@@ -54,8 +52,8 @@ public final class CosIdKeyGenerateAlgorithmTest {
DefaultIdGeneratorProvider.INSTANCE.setShare(defaultSegmentId);
CosIdKeyGenerateAlgorithm keyGenerateAlgorithm = new CosIdKeyGenerateAlgorithm();
keyGenerateAlgorithm.init(new Properties());
- assertThat(keyGenerateAlgorithm.generateKey(), is(1L));
- assertThat(keyGenerateAlgorithm.generateKey(), is(2L));
+ assertThat(keyGenerateAlgorithm.generateKey(), CoreMatchers.is(1L));
+ assertThat(keyGenerateAlgorithm.generateKey(), CoreMatchers.is(2L));
}
@Test(expected = NotFoundIdGeneratorException.class)
@@ -76,8 +74,8 @@ public final class CosIdKeyGenerateAlgorithmTest {
CosIdKeyGenerateAlgorithm keyGenerateAlgorithm = new CosIdKeyGenerateAlgorithm();
keyGenerateAlgorithm.init(props);
Comparable<?> actual = keyGenerateAlgorithm.generateKey();
- assertThat(actual, instanceOf(String.class));
- assertThat(actual.toString(), startsWith("test_"));
+ assertThat(actual, CoreMatchers.instanceOf(String.class));
+ assertThat(actual.toString(), CoreMatchers.startsWith("test_"));
assertTrue(actual.toString().length() <= 16);
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithmTest.java
similarity index 73%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithmTest.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithmTest.java
index a0b0746311f..92b48eae924 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithmTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.keygen;
+package org.apache.shardingsphere.sharding.cosid.algorithm.keygen;
import me.ahoo.cosid.converter.Radix62IdConverter;
import me.ahoo.cosid.snowflake.MillisecondSnowflakeId;
@@ -27,15 +27,14 @@ import org.apache.shardingsphere.infra.instance.ComputeNodeInstance;
import org.apache.shardingsphere.infra.instance.InstanceContext;
import org.apache.shardingsphere.infra.instance.definition.InstanceDefinition;
import org.apache.shardingsphere.infra.lock.LockContext;
-import org.apache.shardingsphere.sharding.algorithm.keygen.fixture.WorkerIdGeneratorFixture;
+import org.apache.shardingsphere.sharding.cosid.algorithm.keygen.fixture.WorkerIdGeneratorFixture;
+import org.hamcrest.CoreMatchers;
import org.junit.Test;
+import org.mockito.Mockito;
import java.util.Properties;
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.mock;
public final class CosIdSnowflakeKeyGenerateAlgorithmTest {
@@ -50,37 +49,37 @@ public final class CosIdSnowflakeKeyGenerateAlgorithmTest {
@Test
public void assertGenerateKey() {
CosIdSnowflakeKeyGenerateAlgorithm cosIdSnowflakeKeyGenerateAlgorithm = new CosIdSnowflakeKeyGenerateAlgorithm();
- cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(FIXTURE_WORKER_ID),
- new ModeConfiguration("Memory", null, false), mock(LockContext.class)));
+ cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(Mockito.mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(FIXTURE_WORKER_ID),
+ new ModeConfiguration("Memory", null, false), Mockito.mock(LockContext.class)));
cosIdSnowflakeKeyGenerateAlgorithm.init(new Properties());
long firstActualKey = (Long) cosIdSnowflakeKeyGenerateAlgorithm.generateKey();
long secondActualKey = (Long) cosIdSnowflakeKeyGenerateAlgorithm.generateKey();
SnowflakeIdState firstActualState = snowflakeIdStateParser.parse(firstActualKey);
SnowflakeIdState secondActualState = snowflakeIdStateParser.parse(secondActualKey);
- assertThat(firstActualState.getMachineId(), is(FIXTURE_WORKER_ID));
- assertThat(firstActualState.getSequence(), is(0L));
- assertThat(secondActualState.getMachineId(), is(FIXTURE_WORKER_ID));
+ assertThat(firstActualState.getMachineId(), CoreMatchers.is(FIXTURE_WORKER_ID));
+ assertThat(firstActualState.getSequence(), CoreMatchers.is(0L));
+ assertThat(secondActualState.getMachineId(), CoreMatchers.is(FIXTURE_WORKER_ID));
long expectedSecondSequence = secondActualState.getTimestamp().isAfter(firstActualState.getTimestamp()) ? 0L : 1L;
- assertThat(secondActualState.getSequence(), is(expectedSecondSequence));
+ assertThat(secondActualState.getSequence(), CoreMatchers.is(expectedSecondSequence));
}
@Test
public void assertGenerateKeyAsString() {
CosIdSnowflakeKeyGenerateAlgorithm cosIdSnowflakeKeyGenerateAlgorithm = new CosIdSnowflakeKeyGenerateAlgorithm();
- cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(FIXTURE_WORKER_ID),
- new ModeConfiguration("Memory", null, false), mock(LockContext.class)));
+ cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(Mockito.mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(FIXTURE_WORKER_ID),
+ new ModeConfiguration("Memory", null, false), Mockito.mock(LockContext.class)));
Properties props = new Properties();
props.setProperty(CosIdSnowflakeKeyGenerateAlgorithm.AS_STRING_KEY, Boolean.TRUE.toString());
cosIdSnowflakeKeyGenerateAlgorithm.init(props);
cosIdSnowflakeKeyGenerateAlgorithm.setProps(props);
Comparable<?> actualKey = cosIdSnowflakeKeyGenerateAlgorithm.generateKey();
- assertThat(actualKey, instanceOf(String.class));
+ assertThat(actualKey, CoreMatchers.instanceOf(String.class));
String actualStringKey = (String) actualKey;
- assertThat(actualStringKey.length(), is(Radix62IdConverter.MAX_CHAR_SIZE));
+ assertThat(actualStringKey.length(), CoreMatchers.is(Radix62IdConverter.MAX_CHAR_SIZE));
long actualLongKey = Radix62IdConverter.PAD_START.asLong(actualStringKey);
SnowflakeIdState actualState = snowflakeIdStateParser.parse(actualLongKey);
- assertThat(actualState.getMachineId(), is(FIXTURE_WORKER_ID));
- assertThat(actualState.getSequence(), is(0L));
+ assertThat(actualState.getMachineId(), CoreMatchers.is(FIXTURE_WORKER_ID));
+ assertThat(actualState.getSequence(), CoreMatchers.is(0L));
}
@Test(expected = NullPointerException.class)
@@ -93,8 +92,8 @@ public final class CosIdSnowflakeKeyGenerateAlgorithmTest {
@Test(expected = IllegalArgumentException.class)
public void assertGenerateKeyWhenNegative() {
CosIdSnowflakeKeyGenerateAlgorithm cosIdSnowflakeKeyGenerateAlgorithm = new CosIdSnowflakeKeyGenerateAlgorithm();
- cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(-1),
- new ModeConfiguration("Memory", null, false), mock(LockContext.class)));
+ cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(Mockito.mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(-1),
+ new ModeConfiguration("Memory", null, false), Mockito.mock(LockContext.class)));
cosIdSnowflakeKeyGenerateAlgorithm.init(new Properties());
cosIdSnowflakeKeyGenerateAlgorithm.generateKey();
}
@@ -102,8 +101,8 @@ public final class CosIdSnowflakeKeyGenerateAlgorithmTest {
@Test(expected = IllegalArgumentException.class)
public void assertGenerateKeyWhenGreaterThen1023() {
CosIdSnowflakeKeyGenerateAlgorithm cosIdSnowflakeKeyGenerateAlgorithm = new CosIdSnowflakeKeyGenerateAlgorithm();
- cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(1024),
- new ModeConfiguration("Memory", null, false), mock(LockContext.class)));
+ cosIdSnowflakeKeyGenerateAlgorithm.setInstanceContext(new InstanceContext(new ComputeNodeInstance(Mockito.mock(InstanceDefinition.class)), new WorkerIdGeneratorFixture(1024),
+ new ModeConfiguration("Memory", null, false), Mockito.mock(LockContext.class)));
cosIdSnowflakeKeyGenerateAlgorithm.init(new Properties());
cosIdSnowflakeKeyGenerateAlgorithm.generateKey();
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/ShardingAlgorithmException.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/fixture/WorkerIdGeneratorFixture.java
similarity index 64%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/ShardingAlgorithmException.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/fixture/WorkerIdGeneratorFixture.java
index 100d83bdaa9..ac4469c5f03 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/ShardingAlgorithmException.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/fixture/WorkerIdGeneratorFixture.java
@@ -15,18 +15,18 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding;
+package org.apache.shardingsphere.sharding.cosid.algorithm.keygen.fixture;
-import org.apache.shardingsphere.infra.exception.ShardingSphereException;
+import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.infra.instance.workerid.WorkerIdGenerator;
-/**
- * Sharding algorithm exception.
- */
-public final class ShardingAlgorithmException extends ShardingSphereException {
+@RequiredArgsConstructor
+public final class WorkerIdGeneratorFixture implements WorkerIdGenerator {
- private static final long serialVersionUID = -8513765890834900694L;
+ private final long fixtureWorkerId;
- public ShardingAlgorithmException(final String errorMessage, final Object... args) {
- super(errorMessage, args);
+ @Override
+ public long generate() {
+ return fixtureWorkerId;
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdIntervalShardingAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithmTest.java
similarity index 98%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdIntervalShardingAlgorithmTest.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithmTest.java
index 97f4a51455c..15fdc45f5a9 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdIntervalShardingAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgorithmTest.java
@@ -15,17 +15,17 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid.interval;
+package org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval;
import com.google.common.collect.Range;
import lombok.RequiredArgsConstructor;
import me.ahoo.cosid.sharding.ExactCollection;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.datanode.DataNodeInfo;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
-import org.apache.shardingsphere.sharding.algorithm.sharding.cosid.Arguments;
import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
+import org.apache.shardingsphere.sharding.cosid.algorithm.Arguments;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
import org.apache.shardingsphere.sharding.factory.ShardingAlgorithmFactory;
import org.junit.Before;
import org.junit.Test;
@@ -172,7 +172,7 @@ public final class CosIdIntervalShardingAlgorithmTest {
private final LocalDateTime dateTime;
private final String expected;
-
+
private CosIdIntervalShardingAlgorithm algorithm;
@Before
@@ -200,7 +200,7 @@ public final class CosIdIntervalShardingAlgorithmTest {
private final Range<LocalDateTime> rangeValue;
private final Collection<String> expected;
-
+
private CosIdIntervalShardingAlgorithm algorithm;
@Before
@@ -228,7 +228,7 @@ public final class CosIdIntervalShardingAlgorithmTest {
private final String value;
private final String expected;
-
+
private CosIdIntervalShardingAlgorithm algorithm;
@Before
@@ -256,7 +256,7 @@ public final class CosIdIntervalShardingAlgorithmTest {
private final Range<String> rangeValue;
private final Collection<String> expected;
-
+
private CosIdIntervalShardingAlgorithm algorithm;
@Before
@@ -284,7 +284,7 @@ public final class CosIdIntervalShardingAlgorithmTest {
private final Date value;
private final String expected;
-
+
private CosIdIntervalShardingAlgorithm algorithm;
@Before
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdSnowflakeIntervalShardingAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithmTest.java
similarity index 95%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdSnowflakeIntervalShardingAlgorithmTest.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithmTest.java
index a3fe6ae2469..b3203819809 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/interval/CosIdSnowflakeIntervalShardingAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIntervalShardingAlgorithmTest.java
@@ -15,15 +15,15 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid.interval;
+package org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval;
import com.google.common.collect.Range;
import lombok.RequiredArgsConstructor;
import me.ahoo.cosid.snowflake.MillisecondSnowflakeId;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.datanode.DataNodeInfo;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
-import org.apache.shardingsphere.sharding.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
+import org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm;
import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
import org.apache.shardingsphere.sharding.factory.ShardingAlgorithmFactory;
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/mod/CosIdModShardingAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithmTest.java
similarity index 97%
rename from shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/mod/CosIdModShardingAlgorithmTest.java
rename to shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithmTest.java
index 993f51cf1a1..ec4196dc491 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/cosid/mod/CosIdModShardingAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/test/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithmTest.java
@@ -15,17 +15,17 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sharding.algorithm.sharding.cosid.mod;
+package org.apache.shardingsphere.sharding.cosid.algorithm.sharding.mod;
import com.google.common.collect.Range;
import lombok.RequiredArgsConstructor;
import me.ahoo.cosid.sharding.ExactCollection;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.datanode.DataNodeInfo;
-import org.apache.shardingsphere.sharding.algorithm.constant.CosIdAlgorithmConstants;
-import org.apache.shardingsphere.sharding.algorithm.sharding.cosid.Arguments;
import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
+import org.apache.shardingsphere.sharding.cosid.algorithm.Arguments;
+import org.apache.shardingsphere.sharding.cosid.algorithm.CosIdAlgorithmConstants;
import org.apache.shardingsphere.sharding.factory.ShardingAlgorithmFactory;
import org.junit.Before;
import org.junit.Test;