Skip to content

Commit 3e1ab7f

Browse files
Merge pull request #6257 from halibobo1205/feat/remove_quartz
feat(dependencies): remove org.quartz-scheduler:quartz
2 parents 04952bc + ab4b70b commit 3e1ab7f

File tree

10 files changed

+1727
-22
lines changed

10 files changed

+1727
-22
lines changed

common/build.gradle

-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@ dependencies {
3838
api group: 'com.typesafe', name: 'config', version: '1.3.2'
3939
api group: leveldbGroup, name: leveldbName, version: leveldbVersion
4040
api group: 'org.rocksdb', name: 'rocksdbjni', version: '5.15.10'
41-
// https://mvnrepository.com/artifact/org.quartz-scheduler/quartz
42-
api group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.2'
4341
api group: 'io.prometheus', name: 'simpleclient', version: '0.15.0'
4442
api group: 'io.prometheus', name: 'simpleclient_httpserver', version: '0.15.0'
4543
api group: 'io.prometheus', name: 'simpleclient_hotspot', version: '0.15.0'

common/src/main/java/org/tron/common/cron/CronExpression.java

+1,669
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.tron.common.cron;
2+
3+
class ValueSet {
4+
public int value;
5+
6+
public int pos;
7+
}

common/src/main/java/org/tron/common/parameter/CommonParameter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import java.util.Set;
99
import lombok.Getter;
1010
import lombok.Setter;
11-
import org.quartz.CronExpression;
11+
import org.tron.common.cron.CronExpression;
1212
import org.tron.common.args.GenesisBlock;
1313
import org.tron.common.config.DbBackupConfig;
1414
import org.tron.common.logsfilter.EventPluginConfig;

framework/src/main/java/org/tron/core/config/args/Args.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import lombok.extern.slf4j.Slf4j;
4343
import org.apache.commons.collections4.CollectionUtils;
4444
import org.apache.commons.lang3.StringUtils;
45-
import org.quartz.CronExpression;
45+
import org.tron.common.cron.CronExpression;
4646
import org.springframework.beans.factory.annotation.Autowired;
4747
import org.springframework.stereotype.Component;
4848
import org.tron.common.args.Account;

framework/src/main/java/org/tron/core/db/Manager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import lombok.extern.slf4j.Slf4j;
4747
import org.apache.commons.collections4.CollectionUtils;
4848
import org.bouncycastle.util.encoders.Hex;
49-
import org.quartz.CronExpression;
49+
import org.tron.common.cron.CronExpression;
5050
import org.springframework.beans.factory.annotation.Autowired;
5151
import org.springframework.stereotype.Component;
5252
import org.tron.api.GrpcAPI.TransactionInfoList;

framework/src/test/java/org/tron/common/utils/ByteArrayMapTest.java

+30-2
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
import static org.junit.Assert.assertThrows;
99
import static org.junit.Assert.assertTrue;
1010

11-
import com.mchange.v2.collection.MapEntry;
1211
import java.util.Collection;
1312
import java.util.HashSet;
1413
import java.util.Map;
14+
import java.util.Objects;
1515
import java.util.Set;
16+
import lombok.Getter;
1617
import org.junit.Before;
1718
import org.junit.Test;
18-
import org.tron.core.db.ByteArrayWrapper;
1919

2020
public class ByteArrayMapTest {
2121

@@ -142,4 +142,32 @@ public void test() {
142142
assertTrue(testMap.hashCode() <= 0);
143143
assertNotNull(testMap.toString());
144144
}
145+
146+
147+
@Getter
148+
static class MapEntry<K, V> implements Map.Entry<K, V> {
149+
K key;
150+
V value;
151+
152+
public MapEntry(K key, V value) {
153+
this.key = key;
154+
this.value = value;
155+
}
156+
157+
public V setValue(V o) {
158+
throw new UnsupportedOperationException();
159+
}
160+
161+
public boolean equals(Object o) {
162+
if (o instanceof Map.Entry) {
163+
Map.Entry<K, V> other = (Map.Entry<K, V>) o;
164+
return Objects.equals(key, other.getKey()) && Objects.equals(value, other.getValue());
165+
}
166+
return false;
167+
}
168+
169+
public int hashCode() {
170+
return Objects.hashCode(key) ^ Objects.hashCode(value);
171+
}
172+
}
145173
}

framework/src/test/java/org/tron/core/db/ManagerMockTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import org.mockito.invocation.InvocationOnMock;
3232
import org.mockito.stubbing.Answer;
3333

34-
import org.quartz.CronExpression;
34+
import org.tron.common.cron.CronExpression;
3535
import org.tron.common.parameter.CommonParameter;
3636
import org.tron.common.runtime.ProgramResult;
3737
import org.tron.common.utils.Sha256Hash;

framework/src/test/java/org/tron/core/services/stop/BlockTimeStopTest.java

+17-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import java.util.Date;
66
import lombok.extern.slf4j.Slf4j;
77
import org.junit.Assert;
8-
import org.quartz.CronExpression;
8+
import org.junit.Test;
9+
import org.tron.common.cron.CronExpression;
910
import org.tron.common.parameter.CommonParameter;
1011

1112
@Slf4j
@@ -25,6 +26,21 @@ public class BlockTimeStopTest extends ConditionallyStopTest {
2526
}
2627
}
2728

29+
@Test
30+
public void isValidExpression() {
31+
Assert.assertTrue(CronExpression.isValidExpression(cronExpression.getCronExpression()));
32+
ParseException err = Assert.assertThrows(ParseException.class, () ->
33+
CronExpression.validateExpression("invalid expression"));
34+
Assert.assertEquals("Illegal characters for this position: 'INV'", err.getMessage());
35+
}
36+
37+
@Test
38+
public void getNextTime() {
39+
Date date = cronExpression.getNextValidTimeAfter(new Date());
40+
Date invalidDate = cronExpression.getNextInvalidTimeAfter(new Date());
41+
Assert.assertNotEquals(date, invalidDate);
42+
}
43+
2844

2945
protected void initParameter(CommonParameter parameter) {
3046
parameter.setShutdownBlockTime(cronExpression);

gradle/verification-metadata.xml

-13
Original file line numberDiff line numberDiff line change
@@ -2088,19 +2088,6 @@
20882088
<sha256 value="bca2bb252c6ec5db92584af7ab26f787b14a155f587c3e30ec1e1da0d4164694" origin="Generated by Gradle"/>
20892089
</artifact>
20902090
</component>
2091-
<component group="org.quartz-scheduler" name="quartz" version="2.3.2">
2092-
<artifact name="quartz-2.3.2.jar">
2093-
<sha256 value="639c6a675bc472e1568df9d8c954ff702da6f83ed27da0ff9a7bd12ed73b8bf0" origin="Generated by Gradle"/>
2094-
</artifact>
2095-
<artifact name="quartz-2.3.2.pom">
2096-
<sha256 value="f5bca37862760be888bdeed62e9f1061d7486a7d14917949ce0a91f3899a11dc" origin="Generated by Gradle"/>
2097-
</artifact>
2098-
</component>
2099-
<component group="org.quartz-scheduler" name="quartz-parent" version="2.3.2">
2100-
<artifact name="quartz-parent-2.3.2.pom">
2101-
<sha256 value="24286b15786e3b5a71899f7ff0df17449820257475e3e74ece97f43a684a4463" origin="Generated by Gradle"/>
2102-
</artifact>
2103-
</component>
21042091
<component group="org.reactivestreams" name="reactive-streams" version="1.0.3">
21052092
<artifact name="reactive-streams-1.0.3.jar">
21062093
<sha256 value="1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865" origin="Generated by Gradle"/>

0 commit comments

Comments
 (0)