diff --git a/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java b/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java index d93a37b4..34d484a4 100644 --- a/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java +++ b/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java @@ -19,8 +19,8 @@ import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_3; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT_3; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_3; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL_3; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL_3; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL; diff --git a/application/src/main/java/de/cotto/lndmanagej/service/ChannelService.java b/application/src/main/java/de/cotto/lndmanagej/service/ChannelService.java index e0c42e45..3abc4417 100644 --- a/application/src/main/java/de/cotto/lndmanagej/service/ChannelService.java +++ b/application/src/main/java/de/cotto/lndmanagej/service/ChannelService.java @@ -3,7 +3,7 @@ package de.cotto.lndmanagej.service; import com.google.common.cache.LoadingCache; import de.cotto.lndmanagej.caching.CacheBuilder; import de.cotto.lndmanagej.grpc.GrpcChannels; -import de.cotto.lndmanagej.model.CoopClosedChannel; +import de.cotto.lndmanagej.model.ClosedChannel; import de.cotto.lndmanagej.model.ForceClosingChannel; import de.cotto.lndmanagej.model.LocalChannel; import de.cotto.lndmanagej.model.LocalOpenChannel; @@ -21,7 +21,7 @@ public class ChannelService { private static final int CACHE_EXPIRY_MINUTES = 1; private final LoadingCache> channelsCache; - private final LoadingCache> closedChannelsCache; + private final LoadingCache> closedChannelsCache; private final LoadingCache> forceClosingChannelsCache; private final LoadingCache> waitingCloseChannelsCache; @@ -44,7 +44,7 @@ public class ChannelService { return channelsCache.getUnchecked(""); } - public Set getClosedChannels() { + public Set getClosedChannels() { return closedChannelsCache.getUnchecked(""); } @@ -66,8 +66,8 @@ public class ChannelService { Set openChannels = getOpenChannelsWith(pubkey); Set waitingCloseChannels = getWaitingCloseChannels(); Set forceClosingChannels = getForceClosingChannels(); - Set coopClosedChannels = getClosedChannels(); - return Stream.of(openChannels, coopClosedChannels, waitingCloseChannels, forceClosingChannels) + Set closedChannels = getClosedChannels(); + return Stream.of(openChannels, closedChannels, waitingCloseChannels, forceClosingChannels) .flatMap(Collection::stream) .filter(c -> c.getRemotePubkey().equals(pubkey)) .collect(Collectors.toSet()); diff --git a/application/src/main/java/de/cotto/lndmanagej/service/TransactionBackgroundLoader.java b/application/src/main/java/de/cotto/lndmanagej/service/TransactionBackgroundLoader.java index c5deec9a..a8599c12 100644 --- a/application/src/main/java/de/cotto/lndmanagej/service/TransactionBackgroundLoader.java +++ b/application/src/main/java/de/cotto/lndmanagej/service/TransactionBackgroundLoader.java @@ -2,7 +2,7 @@ package de.cotto.lndmanagej.service; import de.cotto.lndmanagej.model.Channel; import de.cotto.lndmanagej.model.ChannelPoint; -import de.cotto.lndmanagej.model.ClosedChannel; +import de.cotto.lndmanagej.model.ClosedOrClosingChannel; import de.cotto.lndmanagej.transactions.service.TransactionService; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -51,7 +51,7 @@ public class TransactionBackgroundLoader { private Stream getCloseTransactionHashes() { return Stream.of(channelService.getClosedChannels(), channelService.getForceClosingChannels()) .flatMap(Collection::stream) - .map(ClosedChannel::getCloseTransactionHash); + .map(ClosedOrClosingChannel::getCloseTransactionHash); } } diff --git a/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java b/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java index 3a53ab17..9d322c37 100644 --- a/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java @@ -22,8 +22,8 @@ import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_3; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT_3; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT_4; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_3; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL_3; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL_3; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL; diff --git a/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java b/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java index eb779c13..c0af8801 100644 --- a/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java @@ -9,10 +9,10 @@ import org.mockito.junit.jupiter.MockitoExtension; import java.util.Set; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_2; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_3; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_TO_NODE_3; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL_2; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL_3; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL_TO_NODE_3; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL_2; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL_TO_NODE_3; diff --git a/application/src/test/java/de/cotto/lndmanagej/service/TransactionBackgroundLoaderTest.java b/application/src/test/java/de/cotto/lndmanagej/service/TransactionBackgroundLoaderTest.java index 2e6ecefa..001490ac 100644 --- a/application/src/test/java/de/cotto/lndmanagej/service/TransactionBackgroundLoaderTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/service/TransactionBackgroundLoaderTest.java @@ -18,7 +18,7 @@ import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_3; import static de.cotto.lndmanagej.model.ChannelPointFixtures.CHANNEL_POINT; import static de.cotto.lndmanagej.model.ChannelPointFixtures.CHANNEL_POINT_2; import static de.cotto.lndmanagej.model.ChannelPointFixtures.CHANNEL_POINT_3; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL_2; diff --git a/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java b/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java index 311c8186..f14d212c 100644 --- a/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java +++ b/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java @@ -5,7 +5,7 @@ import de.cotto.lndmanagej.model.ChannelId; import de.cotto.lndmanagej.model.ChannelIdResolver; import de.cotto.lndmanagej.model.ChannelPoint; import de.cotto.lndmanagej.model.Coins; -import de.cotto.lndmanagej.model.CoopClosedChannel; +import de.cotto.lndmanagej.model.ClosedChannel; import de.cotto.lndmanagej.model.ForceClosingChannel; import de.cotto.lndmanagej.model.LocalOpenChannel; import de.cotto.lndmanagej.model.Pubkey; @@ -45,7 +45,7 @@ public class GrpcChannels { .collect(toSet()); } - public Set getClosedChannels() { + public Set getClosedChannels() { Pubkey ownPubkey = grpcGetInfo.getPubkey(); return grpcService.getClosedChannels().stream() .filter(this::hasSupportedCloseType) @@ -126,7 +126,7 @@ public class GrpcChannels { return new LocalOpenChannel(channelId, channelPoint, capacity, ownPubkey, remotePubkey, balanceInformation); } - private Optional toClosedChannel( + private Optional toClosedChannel( ChannelCloseSummary channelCloseSummary, Pubkey ownPubkey ) { @@ -135,7 +135,7 @@ public class GrpcChannels { Coins capacity = Coins.ofSatoshis(channelCloseSummary.getCapacity()); return getChannelId(channelCloseSummary) .or(() -> channelIdResolver.resolveFromChannelPoint(channelPoint)) - .map(id -> new CoopClosedChannel( + .map(id -> new ClosedChannel( id, channelPoint, capacity, diff --git a/grpc-adapter/src/test/java/de/cotto/lndmanagej/grpc/GrpcChannelsTest.java b/grpc-adapter/src/test/java/de/cotto/lndmanagej/grpc/GrpcChannelsTest.java index f824c4c8..d5aaa085 100644 --- a/grpc-adapter/src/test/java/de/cotto/lndmanagej/grpc/GrpcChannelsTest.java +++ b/grpc-adapter/src/test/java/de/cotto/lndmanagej/grpc/GrpcChannelsTest.java @@ -28,9 +28,9 @@ import static de.cotto.lndmanagej.model.ChannelPointFixtures.CHANNEL_POINT_2; import static de.cotto.lndmanagej.model.ChannelPointFixtures.CHANNEL_POINT_3; import static de.cotto.lndmanagej.model.ChannelPointFixtures.TRANSACTION_HASH_2; import static de.cotto.lndmanagej.model.ChannelPointFixtures.TRANSACTION_HASH_3; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_2; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_3; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL_2; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL_3; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL_2; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL; diff --git a/model/src/main/java/de/cotto/lndmanagej/model/ClosedChannel.java b/model/src/main/java/de/cotto/lndmanagej/model/ClosedChannel.java index 064b3f02..d7a56532 100644 --- a/model/src/main/java/de/cotto/lndmanagej/model/ClosedChannel.java +++ b/model/src/main/java/de/cotto/lndmanagej/model/ClosedChannel.java @@ -1,11 +1,7 @@ package de.cotto.lndmanagej.model; -import java.util.Objects; - -public class ClosedChannel extends LocalChannel { - private final String closeTransactionHash; - - protected ClosedChannel( +public class ClosedChannel extends ClosedOrClosingChannel { + public ClosedChannel( ChannelId channelId, ChannelPoint channelPoint, Coins capacity, @@ -13,32 +9,6 @@ public class ClosedChannel extends LocalChannel { Pubkey remotePubkey, String closeTransactionHash ) { - super(channelId, channelPoint, capacity, ownPubkey, remotePubkey); - this.closeTransactionHash = closeTransactionHash; - } - - public String getCloseTransactionHash() { - return closeTransactionHash; - } - - @Override - @SuppressWarnings("CPD-START") - public boolean equals(Object other) { - if (this == other) { - return true; - } - if (other == null || getClass() != other.getClass()) { - return false; - } - if (!super.equals(other)) { - return false; - } - ClosedChannel that = (ClosedChannel) other; - return Objects.equals(closeTransactionHash, that.closeTransactionHash); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), closeTransactionHash); + super(channelId, channelPoint, capacity, ownPubkey, remotePubkey, closeTransactionHash); } } diff --git a/model/src/main/java/de/cotto/lndmanagej/model/ClosedOrClosingChannel.java b/model/src/main/java/de/cotto/lndmanagej/model/ClosedOrClosingChannel.java new file mode 100644 index 00000000..a55eddce --- /dev/null +++ b/model/src/main/java/de/cotto/lndmanagej/model/ClosedOrClosingChannel.java @@ -0,0 +1,44 @@ +package de.cotto.lndmanagej.model; + +import java.util.Objects; + +public class ClosedOrClosingChannel extends LocalChannel { + private final String closeTransactionHash; + + protected ClosedOrClosingChannel( + ChannelId channelId, + ChannelPoint channelPoint, + Coins capacity, + Pubkey ownPubkey, + Pubkey remotePubkey, + String closeTransactionHash + ) { + super(channelId, channelPoint, capacity, ownPubkey, remotePubkey); + this.closeTransactionHash = closeTransactionHash; + } + + public String getCloseTransactionHash() { + return closeTransactionHash; + } + + @Override + @SuppressWarnings("CPD-START") + public boolean equals(Object other) { + if (this == other) { + return true; + } + if (other == null || getClass() != other.getClass()) { + return false; + } + if (!super.equals(other)) { + return false; + } + ClosedOrClosingChannel that = (ClosedOrClosingChannel) other; + return Objects.equals(closeTransactionHash, that.closeTransactionHash); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), closeTransactionHash); + } +} diff --git a/model/src/main/java/de/cotto/lndmanagej/model/CoopClosedChannel.java b/model/src/main/java/de/cotto/lndmanagej/model/CoopClosedChannel.java deleted file mode 100644 index bd68bd92..00000000 --- a/model/src/main/java/de/cotto/lndmanagej/model/CoopClosedChannel.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.cotto.lndmanagej.model; - -public class CoopClosedChannel extends ClosedChannel { - public CoopClosedChannel( - ChannelId channelId, - ChannelPoint channelPoint, - Coins capacity, - Pubkey ownPubkey, - Pubkey remotePubkey, - String closeTransactionHash - ) { - super(channelId, channelPoint, capacity, ownPubkey, remotePubkey, closeTransactionHash); - } -} diff --git a/model/src/main/java/de/cotto/lndmanagej/model/ForceClosingChannel.java b/model/src/main/java/de/cotto/lndmanagej/model/ForceClosingChannel.java index 425a62f0..675a91b0 100644 --- a/model/src/main/java/de/cotto/lndmanagej/model/ForceClosingChannel.java +++ b/model/src/main/java/de/cotto/lndmanagej/model/ForceClosingChannel.java @@ -1,6 +1,6 @@ package de.cotto.lndmanagej.model; -public final class ForceClosingChannel extends ClosedChannel { +public final class ForceClosingChannel extends ClosedOrClosingChannel { public ForceClosingChannel( ChannelId channelId, ChannelPoint channelPoint, diff --git a/model/src/test/java/de/cotto/lndmanagej/model/CoopClosedChannelTest.java b/model/src/test/java/de/cotto/lndmanagej/model/ClosedChannelTest.java similarity index 82% rename from model/src/test/java/de/cotto/lndmanagej/model/CoopClosedChannelTest.java rename to model/src/test/java/de/cotto/lndmanagej/model/ClosedChannelTest.java index 955ba19d..32f6220c 100644 --- a/model/src/test/java/de/cotto/lndmanagej/model/CoopClosedChannelTest.java +++ b/model/src/test/java/de/cotto/lndmanagej/model/ClosedChannelTest.java @@ -7,15 +7,15 @@ import static de.cotto.lndmanagej.model.ChannelFixtures.CAPACITY; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; import static de.cotto.lndmanagej.model.ChannelPointFixtures.CHANNEL_POINT; import static de.cotto.lndmanagej.model.ChannelPointFixtures.TRANSACTION_HASH_2; -import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; +import static de.cotto.lndmanagej.model.ClosedChannelFixtures.CLOSED_CHANNEL; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_2; import static org.assertj.core.api.Assertions.assertThat; -class CoopClosedChannelTest { +class ClosedChannelTest { @Test void create() { - assertThat(new CoopClosedChannel(CHANNEL_ID, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2)) + assertThat(new ClosedChannel(CHANNEL_ID, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2)) .isEqualTo(CLOSED_CHANNEL); } @@ -51,6 +51,6 @@ class CoopClosedChannelTest { @Test void testEquals() { - EqualsVerifier.forClass(CoopClosedChannel.class).usingGetClass().verify(); + EqualsVerifier.forClass(ClosedChannel.class).usingGetClass().verify(); } } \ No newline at end of file diff --git a/model/src/testFixtures/java/de/cotto/lndmanagej/model/CoopClosedChannelFixtures.java b/model/src/testFixtures/java/de/cotto/lndmanagej/model/ClosedChannelFixtures.java similarity index 50% rename from model/src/testFixtures/java/de/cotto/lndmanagej/model/CoopClosedChannelFixtures.java rename to model/src/testFixtures/java/de/cotto/lndmanagej/model/ClosedChannelFixtures.java index 9a59e5ce..23e9840c 100644 --- a/model/src/testFixtures/java/de/cotto/lndmanagej/model/CoopClosedChannelFixtures.java +++ b/model/src/testFixtures/java/de/cotto/lndmanagej/model/ClosedChannelFixtures.java @@ -10,13 +10,13 @@ import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_2; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_3; -public class CoopClosedChannelFixtures { - public static final CoopClosedChannel CLOSED_CHANNEL = - new CoopClosedChannel(CHANNEL_ID, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2); - public static final CoopClosedChannel CLOSED_CHANNEL_2 - = new CoopClosedChannel(CHANNEL_ID_2, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2); - public static final CoopClosedChannel CLOSED_CHANNEL_3 = - new CoopClosedChannel(CHANNEL_ID_3, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2); - public static final CoopClosedChannel CLOSED_CHANNEL_TO_NODE_3 = - new CoopClosedChannel(CHANNEL_ID_3, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_3, TRANSACTION_HASH_2); +public class ClosedChannelFixtures { + public static final ClosedChannel CLOSED_CHANNEL = + new ClosedChannel(CHANNEL_ID, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2); + public static final ClosedChannel CLOSED_CHANNEL_2 + = new ClosedChannel(CHANNEL_ID_2, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2); + public static final ClosedChannel CLOSED_CHANNEL_3 = + new ClosedChannel(CHANNEL_ID_3, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_2, TRANSACTION_HASH_2); + public static final ClosedChannel CLOSED_CHANNEL_TO_NODE_3 = + new ClosedChannel(CHANNEL_ID_3, CHANNEL_POINT, CAPACITY, PUBKEY, PUBKEY_3, TRANSACTION_HASH_2); }