Skip to content

Commit 993ac0b

Browse files
committed
fix: remove raw type usage of EthLog.LogResult and add generics for type safety
1 parent 4dec849 commit 993ac0b

File tree

11 files changed

+27
-26
lines changed

11 files changed

+27
-26
lines changed

core/src/main/java/org/web3j/protocol/core/filters/BlockFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ protected EthFilter sendRequest() throws IOException {
3535
}
3636

3737
@Override
38-
protected void process(List<EthLog.LogResult> logResults) {
39-
for (EthLog.LogResult logResult : logResults) {
38+
protected void process(List<EthLog.LogResult<?>> logResults) {
39+
for (EthLog.LogResult<?> logResult : logResults) {
4040
if (logResult instanceof EthLog.Hash) {
4141
String blockHash = ((EthLog.Hash) logResult).get();
4242
callback.onEvent(blockHash);

core/src/main/java/org/web3j/protocol/core/filters/BlocksFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ protected EthFilter sendRequest() throws IOException {
3737
}
3838

3939
@Override
40-
protected void process(List<LogResult> logResults) {
40+
protected void process(List<LogResult<?>> logResults) {
4141
List<String> blockHashes = new ArrayList<>(logResults.size());
4242

43-
for (EthLog.LogResult logResult : logResults) {
43+
for (EthLog.LogResult<?> logResult : logResults) {
4444
if (!(logResult instanceof EthLog.Hash)) {
4545
throw new FilterException(
4646
"Unexpected result type: " + logResult.get() + ", required Hash");

core/src/main/java/org/web3j/protocol/core/filters/Filter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ private void pollFilter(EthFilter ethFilter) {
157157

158158
protected abstract EthFilter sendRequest() throws IOException;
159159

160-
protected abstract void process(List<EthLog.LogResult> logResults);
160+
protected abstract void process(List<EthLog.LogResult<?>> logResults);
161161

162162
private void reinstallFilter() {
163163
log.warn(

core/src/main/java/org/web3j/protocol/core/filters/LogFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ protected EthFilter sendRequest() throws IOException {
4242
}
4343

4444
@Override
45-
protected void process(List<EthLog.LogResult> logResults) {
46-
for (EthLog.LogResult logResult : logResults) {
45+
protected void process(List<EthLog.LogResult<?>> logResults) {
46+
for (EthLog.LogResult<?> logResult : logResults) {
4747
if (logResult instanceof EthLog.LogObject) {
4848
Log log = ((EthLog.LogObject) logResult).get();
4949
callback.onEvent(log);

core/src/main/java/org/web3j/protocol/core/filters/LogsFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ protected EthFilter sendRequest() throws IOException {
4444
}
4545

4646
@Override
47-
protected void process(List<LogResult> logResults) {
47+
protected void process(List<LogResult<?>> logResults) {
4848
List<Log> logs = new ArrayList<>(logResults.size());
4949

50-
for (EthLog.LogResult logResult : logResults) {
50+
for (EthLog.LogResult<?> logResult : logResults) {
5151
if (!(logResult instanceof EthLog.LogObject)) {
5252
throw new FilterException(
5353
"Unexpected result type: " + logResult.get() + " required LogObject");

core/src/main/java/org/web3j/protocol/core/filters/PendingTransactionFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ protected EthFilter sendRequest() throws IOException {
3535
}
3636

3737
@Override
38-
protected void process(List<EthLog.LogResult> logResults) {
39-
for (EthLog.LogResult logResult : logResults) {
38+
protected void process(List<EthLog.LogResult<?>> logResults) {
39+
for (EthLog.LogResult<?> logResult : logResults) {
4040
if (logResult instanceof EthLog.Hash) {
4141
String transactionHash = ((EthLog.Hash) logResult).get();
4242
callback.onEvent(transactionHash);

core/src/main/java/org/web3j/protocol/core/filters/PendingTransactionsFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ protected EthFilter sendRequest() throws IOException {
3636
}
3737

3838
@Override
39-
protected void process(List<EthLog.LogResult> logResults) {
39+
protected void process(List<EthLog.LogResult<?>> logResults) {
4040
List<String> logs = new ArrayList<>(logResults.size());
4141

42-
for (EthLog.LogResult logResult : logResults) {
42+
for (EthLog.LogResult<?> logResult : logResults) {
4343
if (!(logResult instanceof EthLog.Hash)) {
4444
throw new FilterException(
4545
"Unexpected result type: " + logResult.get() + ", required Hash");

core/src/main/java/org/web3j/protocol/core/methods/response/EthLog.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@
3939
* <p>See <a href="https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getfilterchanges">docs</a> for
4040
* further details.
4141
*/
42-
public class EthLog extends Response<List<EthLog.LogResult>> {
42+
public class EthLog extends Response<List<EthLog.LogResult<?>>> {
4343

4444
@Override
4545
@JsonDeserialize(using = LogResultDeserialiser.class)
46-
public void setResult(List<LogResult> result) {
46+
public void setResult(List<LogResult<?>> result) {
4747
super.setResult(result);
4848
}
4949

50-
public List<LogResult> getLogs() {
50+
public List<LogResult<?>> getLogs() {
5151
return getResult();
5252
}
5353

@@ -127,16 +127,16 @@ public int hashCode() {
127127
}
128128
}
129129

130-
public static class LogResultDeserialiser extends JsonDeserializer<List<LogResult>> {
130+
public static class LogResultDeserialiser extends JsonDeserializer<List<LogResult<?>>> {
131131

132132
private ObjectReader objectReader = ObjectMapperFactory.getObjectReader();
133133

134134
@Override
135-
public List<LogResult> deserialize(
135+
public List<LogResult<?>> deserialize(
136136
JsonParser jsonParser, DeserializationContext deserializationContext)
137137
throws IOException {
138138

139-
List<LogResult> logResults = new ArrayList<>();
139+
List<LogResult<?>> logResults = new ArrayList<>();
140140
JsonToken nextToken = jsonParser.nextToken();
141141

142142
if (nextToken == JsonToken.START_OBJECT) {

core/src/test/java/org/web3j/protocol/core/filters/FilterTester.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,13 @@ <T> void runTest(EthLog ethLog, Flowable<T> flowable) throws Exception {
111111
assertTrue(subscription.isDisposed());
112112
}
113113

114-
List createExpected(EthLog ethLog) {
115-
List<EthLog.LogResult> logResults = ethLog.getLogs();
114+
@SuppressWarnings("unchecked")
115+
<T> List<T> createExpected(EthLog ethLog) {
116+
List<EthLog.LogResult<?>> logResults = ethLog.getLogs();
116117
if (logResults.isEmpty()) {
117118
fail("Results cannot be empty");
118119
}
119120

120-
return ethLog.getLogs().stream().map(EthLog.LogResult::get).toList();
121+
return (List<T>) ethLog.getLogs().stream().map(EthLog.LogResult::get).toList();
121122
}
122123
}

integration-tests/src/test/java/org/web3j/protocol/core/CoreIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ public void testFiltersByFilterId() throws Exception {
441441

442442
// eth_getFilterLogs
443443
EthLog ethFilterLogs = web3j.ethGetFilterLogs(filterId).send();
444-
List<EthLog.LogResult> filterLogs = ethFilterLogs.getLogs();
444+
List<EthLog.LogResult<?>> filterLogs = ethFilterLogs.getLogs();
445445
assertFalse(filterLogs.isEmpty());
446446

447447
// eth_getFilterChanges - nothing will have changed in this interval
@@ -480,7 +480,7 @@ public void testEthGetLogs() throws Exception {
480480
ethFilter.addSingleTopic(config.encodedEvent());
481481

482482
EthLog ethLog = web3j.ethGetLogs(ethFilter).send();
483-
List<EthLog.LogResult> logs = ethLog.getLogs();
483+
List<EthLog.LogResult<?>> logs = ethLog.getLogs();
484484
assertFalse(logs.isEmpty());
485485
}
486486

0 commit comments

Comments
 (0)