Skip to content

Commit ef766e1

Browse files
julianlenmarcos-iov
authored andcommitted
feat: changed method getLockWhitelistEntryByIndex so it returns an optional
1 parent 509fcbb commit ef766e1

File tree

6 files changed

+20
-18
lines changed

6 files changed

+20
-18
lines changed

rskj-core/src/main/java/co/rsk/peg/Bridge.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,14 +1037,14 @@ public String getLockWhitelistAddress(Object[] args) {
10371037
logger.trace("getLockWhitelistAddress");
10381038

10391039
int index = ((BigInteger) args[0]).intValue();
1040-
LockWhitelistEntry entry = bridgeSupport.getLockWhitelistEntryByIndex(index);
1040+
Optional<LockWhitelistEntry> entry = bridgeSupport.getLockWhitelistEntryByIndex(index);
10411041

1042-
if (entry == null) {
1042+
if (entry.isEmpty()) {
10431043
// Empty string is returned when address is not found
10441044
return "";
10451045
}
10461046

1047-
return entry.address().toBase58();
1047+
return entry.get().address().toBase58();
10481048
}
10491049

10501050
public long getLockWhitelistEntryByAddress(Object[] args) {

rskj-core/src/main/java/co/rsk/peg/BridgeSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2121,7 +2121,7 @@ public Integer getLockWhitelistSize() {
21212121
return whitelistSupport.getLockWhitelistSize();
21222122
}
21232123

2124-
public LockWhitelistEntry getLockWhitelistEntryByIndex(int index) {
2124+
public Optional<LockWhitelistEntry> getLockWhitelistEntryByIndex(int index) {
21252125
return whitelistSupport.getLockWhitelistEntryByIndex(index);
21262126
}
21272127

rskj-core/src/main/java/co/rsk/peg/whitelist/WhitelistSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public interface WhitelistSupport {
2828
* @return the whitelist entry stored at the given index, or null if index is out of
2929
* bounds
3030
*/
31-
LockWhitelistEntry getLockWhitelistEntryByIndex(int index);
31+
Optional<LockWhitelistEntry> getLockWhitelistEntryByIndex(int index);
3232

3333
/**
3434
* Returns the lock whitelist entry for a given address, or null if the address is not whitelisted

rskj-core/src/main/java/co/rsk/peg/whitelist/WhitelistSupportImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,16 @@ public int getLockWhitelistSize() {
4545
}
4646

4747
@Override
48-
public LockWhitelistEntry getLockWhitelistEntryByIndex(int index) {
48+
public Optional<LockWhitelistEntry> getLockWhitelistEntryByIndex(int index) {
4949
List<LockWhitelistEntry> entries = storageProvider.getLockWhitelist(
5050
activations,
5151
networkParameters
5252
).getAll();
5353

5454
if (index < 0 || index >= entries.size()) {
55-
return null;
55+
return Optional.empty();
5656
}
57-
return entries.get(index);
57+
return Optional.ofNullable(entries.get(index));
5858
}
5959

6060
@Override

rskj-core/src/test/java/co/rsk/peg/BridgeSupportTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,11 @@ void getLockWhitelistSize() {
203203
@Test
204204
void getLockWhitelistEntryByIndex() {
205205
LockWhitelistEntry entry = mock(LockWhitelistEntry.class);
206-
when(whitelistSupport.getLockWhitelistEntryByIndex(0)).thenReturn(entry);
206+
when(whitelistSupport.getLockWhitelistEntryByIndex(0)).thenReturn(Optional.of(entry));
207207

208-
assertEquals(entry, bridgeSupport.getLockWhitelistEntryByIndex(0));
208+
Optional<LockWhitelistEntry> lockWhitelistEntryByIndex = bridgeSupport.getLockWhitelistEntryByIndex(0);
209+
assertTrue(lockWhitelistEntryByIndex.isPresent());
210+
assertEquals(entry, lockWhitelistEntryByIndex.get());
209211
}
210212

211213
@Test

rskj-core/src/test/java/co/rsk/peg/whitelist/WhitelistSupportImplTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,27 +68,27 @@ void getLockWhitelistSize_whenLockWhitelistHasEntries_shouldReturnOne() {
6868

6969
@Test
7070
void getLockWhitelistEntryByIndex_whenLockWhitelistIsEmpty_shouldReturnNull() {
71-
LockWhitelistEntry actualEntry = whitelistSupport.getLockWhitelistEntryByIndex(0);
71+
Optional<LockWhitelistEntry> actualEntry = whitelistSupport.getLockWhitelistEntryByIndex(0);
7272

73-
assertNull(actualEntry);
73+
assertTrue(actualEntry.isEmpty());
7474
}
7575

7676
@Test
7777
void getLockWhitelistEntryByIndex_whenLockWhitelistHasEntries_shouldReturnOneOffWhiteListEntry() {
7878
saveInMemoryStorageOneOffWhiteListEntry();
7979

80-
LockWhitelistEntry actualLockWhitelistEntry = whitelistSupport.getLockWhitelistEntryByIndex(0);
80+
Optional<LockWhitelistEntry> actualLockWhitelistEntry = whitelistSupport.getLockWhitelistEntryByIndex(0);
8181

82-
assertEquals(btcAddress, actualLockWhitelistEntry.address());
82+
assertEquals(btcAddress, actualLockWhitelistEntry.get().address());
8383
}
8484

8585
@Test
8686
void getLockWhitelistEntryByIndex_whenIndexIsOutOfBounds_shouldReturnNull() {
8787
saveInMemoryStorageOneOffWhiteListEntry();
8888

89-
LockWhitelistEntry actualLockWhitelistEntry = whitelistSupport.getLockWhitelistEntryByIndex(1);
89+
Optional<LockWhitelistEntry> actualLockWhitelistEntry = whitelistSupport.getLockWhitelistEntryByIndex(1);
9090

91-
assertNull(actualLockWhitelistEntry);
91+
assertTrue(actualLockWhitelistEntry.isEmpty());
9292
}
9393

9494
@Test
@@ -318,8 +318,8 @@ void save_whenLockWhitelistIsNull_shouldReturnZeroEntries() {
318318

319319
int actualSize = whitelistSupport.getLockWhitelistSize();
320320
assertEquals(0, actualSize);
321-
assertNull(whitelistSupport.getLockWhitelistEntryByIndex(0));
322-
assertNull(whitelistSupport.getLockWhitelistEntryByIndex(1));
321+
assertTrue(whitelistSupport.getLockWhitelistEntryByIndex(0).isEmpty());
322+
assertTrue(whitelistSupport.getLockWhitelistEntryByIndex(1).isEmpty());
323323
}
324324

325325
@Test

0 commit comments

Comments
 (0)