This is an automated email from the ASF dual-hosted git repository. ascherbakov pushed a commit to branch ignite-14149 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit 060e6e2c786b470e4e6201279fe7b08d08b6013f Author: Alexey Scherbakov <[email protected]> AuthorDate: Mon Mar 1 21:04:02 2021 +0300 IGNITE-14149 Cleanup code. --- .../network/scalecube/ScaleCubeNetworkCluster.java | 3 -- .../org/apache/ignite/raft/ElectionPriority.java | 1 + .../main/java/org/apache/ignite/raft/PeerId.java | 1 + .../main/java/org/apache/ignite/raft/State.java | 5 +- .../client/message/AddLearnersRequestImpl.java | 36 --------------- .../raft/client/message/AddPeerRequestImpl.java | 34 -------------- .../raft/client/message/AddPeerResponseImpl.java | 35 -------------- .../raft/client/message/ChangePeerRequestImpl.java | 35 -------------- .../client/message/ChangePeersResponseImpl.java | 35 -------------- .../raft/client/message/GetLeaderRequestImpl.java | 22 --------- .../raft/client/message/GetLeaderResponseImpl.java | 23 ---------- .../raft/client/message/GetPeersRequestImpl.java | 32 ------------- .../raft/client/message/GetPeersResponseImpl.java | 35 -------------- .../client/message/LearnersOpResponseImpl.java | 35 -------------- .../client/{ => message}/RaftClientMessages.java | 14 ++++-- .../client/message/RemoveLearnersRequestImpl.java | 35 -------------- .../raft/client/message/RemovePeerRequestImpl.java | 33 -------------- .../client/message/RemovePeerResponseImpl.java | 35 -------------- .../client/message/ResetLearnersRequestImpl.java | 35 -------------- .../raft/client/message/ResetPeerRequestImpl.java | 35 -------------- .../raft/client/message/SnapshotRequestImpl.java | 21 --------- .../client/message/TransferLeaderRequestImpl.java | 27 ----------- .../raft/client/message/UserRequestImpl.java | 32 ------------- .../raft/client/message/UserResponseImpl.java | 21 --------- .../message/impl/AddLearnersRequestImpl.java | 53 ++++++++++++++++++++++ .../client/message/impl/AddPeerRequestImpl.java | 51 +++++++++++++++++++++ .../client/message/impl/AddPeerResponseImpl.java | 53 ++++++++++++++++++++++ .../client/message/impl/ChangePeerRequestImpl.java | 53 ++++++++++++++++++++++ .../message/impl/ChangePeersResponseImpl.java | 53 ++++++++++++++++++++++ .../message/impl/GetLeaderRequestImpl.java} | 29 +++++++----- .../message/impl/GetLeaderResponseImpl.java} | 30 +++++++----- .../client/message/impl/GetPeersRequestImpl.java | 50 ++++++++++++++++++++ .../client/message/impl/GetPeersResponseImpl.java | 53 ++++++++++++++++++++++ .../message/impl/LearnersOpResponseImpl.java | 53 ++++++++++++++++++++++ .../{ => impl}/RaftClientMessageFactory.java | 23 ++++++++-- .../{ => impl}/RaftClientMessageFactoryImpl.java | 21 ++++++++- .../message/impl/RemoveLearnersRequestImpl.java | 53 ++++++++++++++++++++++ .../client/message/impl/RemovePeerRequestImpl.java | 51 +++++++++++++++++++++ .../message/impl/RemovePeerResponseImpl.java | 53 ++++++++++++++++++++++ .../message/impl/ResetLearnersRequestImpl.java | 53 ++++++++++++++++++++++ .../client/message/impl/ResetPeerRequestImpl.java | 53 ++++++++++++++++++++++ .../message/impl/SnapshotRequestImpl.java} | 29 +++++++----- .../message/impl/TransferLeaderRequestImpl.java | 45 ++++++++++++++++++ .../raft/client/message/impl/UserRequestImpl.java | 50 ++++++++++++++++++++ .../message/impl/UserResponseImpl.java} | 29 +++++++----- .../ignite/raft/client/rpc/RaftGroupRpcClient.java | 35 +++++++------- .../client/rpc/impl/RaftGroupRpcClientImpl.java | 30 ++++++++++-- .../service/RaftGroupClientRequestListener.java | 17 +++++++ .../service/RaftGroupClientRequestService.java | 17 +++++++ .../client/service/RaftGroupManagmentService.java | 17 +++++++ .../impl/RaftGroupClientRequestServiceImpl.java | 20 +++++++- .../impl/RaftGroupManagementServiceImpl.java | 17 +++++++ .../org/apache/ignite/raft/client/MockUtils.java | 20 +++++++- .../raft/client/rpc/RaftGroupRpcClientTest.java | 21 ++++++++- .../service/RaftGroupClientRequestServiceTest.java | 19 +++++++- 55 files changed, 1089 insertions(+), 682 deletions(-) diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java index f2ebbac..f33b619 100644 --- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java +++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeNetworkCluster.java @@ -16,12 +16,9 @@ */ package org.apache.ignite.network.scalecube; -import io.scalecube.cluster.transport.api.Message; -import java.time.Duration; import java.util.Collection; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Future; -import java.util.function.Function; import java.util.stream.Collectors; import io.scalecube.cluster.Cluster; import org.apache.ignite.network.NetworkCluster; diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java index 8dd5ddf..90a2907 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/ElectionPriority.java @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.ignite.raft; /** diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java index 9587c87..b98baab 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/PeerId.java @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.ignite.raft; import java.io.Serializable; diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java index 5001d74..6b7e076 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.ignite.raft; import java.util.List; @@ -22,7 +23,7 @@ import org.jetbrains.annotations.Nullable; /** * Raft group state. */ -public interface State { +public interface State { @Nullable PeerId leader(); @Nullable List<PeerId> peers(); diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequestImpl.java deleted file mode 100644 index dec9076..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddLearnersRequestImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -public class AddLearnersRequestImpl implements RaftClientMessages.AddLearnersRequest, RaftClientMessages.AddLearnersRequest.Builder { - private String groupId; - private PeerId leaderId; - private List<PeerId> learnersList = new ArrayList<>(); - - public String getGroupId() { - return groupId; - } - - @Override public List<PeerId> getLearnersList() { - return learnersList; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder addLearners(PeerId learnerId) { - learnersList.add(learnerId); - - return this; - } - - @Override public RaftClientMessages.AddLearnersRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequestImpl.java deleted file mode 100644 index d18ee14..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerRequestImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class AddPeerRequestImpl implements RaftClientMessages.AddPeerRequest, RaftClientMessages.AddPeerRequest.Builder { - private String groupId; - private PeerId leaderId; - private PeerId peerId; - - public String getGroupId() { - return groupId; - } - - @Override public PeerId getPeerId() { - return peerId; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder setPeerId(PeerId peerId) { - this.peerId = peerId; - - return this; - } - - @Override public RaftClientMessages.AddPeerRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponseImpl.java deleted file mode 100644 index b9e1c00..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/AddPeerResponseImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class AddPeerResponseImpl implements RaftClientMessages.AddPeerResponse, RaftClientMessages.AddPeerResponse.Builder { - private List<PeerId> oldPeersList = new ArrayList<>(); - private List<PeerId> newPeersList = new ArrayList<>(); - - @Override public List<PeerId> getOldPeersList() { - return oldPeersList; - } - - @Override public List<PeerId> getNewPeersList() { - return newPeersList; - } - - @Override public Builder addOldPeers(PeerId oldPeersId) { - oldPeersList.add(oldPeersId); - - return this; - } - - @Override public Builder addNewPeers(PeerId newPeersId) { - newPeersList.add(newPeersId); - - return this; - } - - @Override public RaftClientMessages.AddPeerResponse build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeerRequestImpl.java deleted file mode 100644 index 4c611c7..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeerRequestImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class ChangePeerRequestImpl implements RaftClientMessages.ChangePeersRequest, RaftClientMessages.ChangePeersRequest.Builder { - private String groupId; - private List<PeerId> newPeersList = new ArrayList<>(); - - public String getGroupId() { - return groupId; - } - - @Override public List<PeerId> getNewPeersList() { - return newPeersList; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder addNewPeers(PeerId peerId) { - newPeersList.add(peerId); - - return this; - } - - @Override public RaftClientMessages.ChangePeersRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponseImpl.java deleted file mode 100644 index bc9f74d..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ChangePeersResponseImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class ChangePeersResponseImpl implements RaftClientMessages.ChangePeersResponse, RaftClientMessages.ChangePeersResponse.Builder { - private List<PeerId> oldPeersList = new ArrayList<>(); - private List<PeerId> newPeersList = new ArrayList<>(); - - @Override public List<PeerId> getOldPeersList() { - return oldPeersList; - } - - @Override public List<PeerId> getNewPeersList() { - return newPeersList; - } - - @Override public Builder addOldPeers(PeerId oldPeerId) { - oldPeersList.add(oldPeerId); - - return this; - } - - @Override public Builder addNewPeers(PeerId newPeerId) { - newPeersList.add(newPeerId); - - return this; - } - - @Override public RaftClientMessages.ChangePeersResponse build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequestImpl.java deleted file mode 100644 index 4162f81..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderRequestImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.apache.ignite.raft.client.message; - - -import org.apache.ignite.raft.client.RaftClientMessages; - -public class GetLeaderRequestImpl implements RaftClientMessages.GetLeaderRequest, RaftClientMessages.GetLeaderRequest.Builder { - private String groupId; - - public String getGroupId() { - return groupId; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public RaftClientMessages.GetLeaderRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponseImpl.java deleted file mode 100644 index 0c84245..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetLeaderResponseImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.apache.ignite.raft.client.message; - - -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -public class GetLeaderResponseImpl implements RaftClientMessages.GetLeaderResponse, RaftClientMessages.GetLeaderResponse.Builder { - private PeerId leaderId; - - @Override public PeerId getLeaderId() { - return leaderId; - } - - @Override public RaftClientMessages.GetLeaderResponse build() { - return this; - } - - @Override public Builder setLeaderId(PeerId leaderId) { - this.leaderId = leaderId; - - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequestImpl.java deleted file mode 100644 index d3a2d99..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersRequestImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.client.RaftClientMessages; - -class GetPeersRequestImpl implements RaftClientMessages.GetPeersRequest, RaftClientMessages.GetPeersRequest.Builder { - private String groupId; - private boolean onlyAlive; - - public String getGroupId() { - return groupId; - } - - @Override public boolean getOnlyAlive() { - return onlyAlive; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder setOnlyAlive(boolean onlyGetAlive) { - this.onlyAlive = onlyGetAlive; - - return this; - } - - @Override public RaftClientMessages.GetPeersRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponseImpl.java deleted file mode 100644 index bed9b6e..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/GetPeersResponseImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class GetPeersResponseImpl implements RaftClientMessages.GetPeersResponse, RaftClientMessages.GetPeersResponse.Builder { - private List<PeerId> peersList = new ArrayList<>(); - private List<PeerId> learnersList = new ArrayList<>(); - - @Override public List<PeerId> getPeersList() { - return peersList; - } - - @Override public List<PeerId> getLearnersList() { - return learnersList; - } - - @Override public Builder addPeers(PeerId peerId) { - peersList.add(peerId); - - return this; - } - - @Override public Builder addLearners(PeerId learnerId) { - learnersList.add(learnerId); - - return this; - } - - @Override public RaftClientMessages.GetPeersResponse build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponseImpl.java deleted file mode 100644 index b929e90..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/LearnersOpResponseImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class LearnersOpResponseImpl implements RaftClientMessages.LearnersOpResponse, RaftClientMessages.LearnersOpResponse.Builder { - private List<PeerId> oldLearnersList = new ArrayList<>(); - private List<PeerId> newLearnersList = new ArrayList<>(); - - @Override public List<PeerId> getOldLearnersList() { - return oldLearnersList; - } - - @Override public List<PeerId> getNewLearnersList() { - return newLearnersList; - } - - @Override public Builder addOldLearners(PeerId oldLearnersId) { - oldLearnersList.add(oldLearnersId); - - return this; - } - - @Override public Builder addNewLearners(PeerId newLearnersId) { - newLearnersList.add(newLearnersId); - - return this; - } - - @Override public RaftClientMessages.LearnersOpResponse build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/RaftClientMessages.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java similarity index 96% rename from modules/raft-client/src/main/java/org/apache/ignite/raft/client/RaftClientMessages.java rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java index c809a0d..f8fd914 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/RaftClientMessages.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessages.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -14,10 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: cli.proto -package org.apache.ignite.raft.client; +package org.apache.ignite.raft.client.message; import java.util.List; import org.apache.ignite.raft.PeerId; @@ -118,6 +116,8 @@ public final class RaftClientMessages { } public interface SnapshotRequest { + String getGroupId(); + public interface Builder { Builder setGroupId(String groupId); @@ -138,6 +138,8 @@ public final class RaftClientMessages { } public interface TransferLeaderRequest { + String getGroupId(); + PeerId getPeerId(); public interface Builder { @@ -148,6 +150,8 @@ public final class RaftClientMessages { } public interface GetLeaderRequest { + String getGroupId(); + public interface Builder { Builder setGroupId(String groupId); @@ -227,7 +231,7 @@ public final class RaftClientMessages { } } - public interface LearnersOpResponse { + public interface LearnersOpResponse { List<PeerId> getOldLearnersList(); List<PeerId> getNewLearnersList(); diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequestImpl.java deleted file mode 100644 index b319b69..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemoveLearnersRequestImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class RemoveLearnersRequestImpl implements RaftClientMessages.RemoveLearnersRequest, RaftClientMessages.RemoveLearnersRequest.Builder { - private String groupId; - private List<PeerId> learnersList = new ArrayList<>(); - - public String getGroupId() { - return groupId; - } - - @Override public List<PeerId> getLearnersList() { - return learnersList; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder addLearners(PeerId learnerId) { - learnersList.add(learnerId); - - return this; - } - - @Override public RaftClientMessages.RemoveLearnersRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequestImpl.java deleted file mode 100644 index a6d57b1..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerRequestImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class RemovePeerRequestImpl implements RaftClientMessages.RemovePeerRequest, RaftClientMessages.RemovePeerRequest.Builder { - private String groupId; - private PeerId peerId; - - public String getGroupId() { - return groupId; - } - - @Override public PeerId getPeerId() { - return peerId; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder setPeerId(PeerId peerId) { - this.peerId = peerId; - - return this; - } - - @Override public RaftClientMessages.RemovePeerRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponseImpl.java deleted file mode 100644 index 00eae18..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RemovePeerResponseImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class RemovePeerResponseImpl implements RaftClientMessages.RemovePeerResponse, RaftClientMessages.RemovePeerResponse.Builder { - private List<PeerId> oldPeersList = new ArrayList<>(); - private List<PeerId> newPeersList = new ArrayList<>(); - - @Override public List<PeerId> getOldPeersList() { - return oldPeersList; - } - - @Override public List<PeerId> getNewPeersList() { - return newPeersList; - } - - @Override public Builder addOldPeers(PeerId oldPeerId) { - oldPeersList.add(oldPeerId); - - return this; - } - - @Override public Builder addNewPeers(PeerId newPeerId) { - newPeersList.add(newPeerId); - - return this; - } - - @Override public RaftClientMessages.RemovePeerResponse build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequestImpl.java deleted file mode 100644 index e1d144d..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetLearnersRequestImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class ResetLearnersRequestImpl implements RaftClientMessages.ResetLearnersRequest, RaftClientMessages.ResetLearnersRequest.Builder { - private String groupId; - private List<PeerId> learnersList = new ArrayList<>(); - - public String getGroupId() { - return groupId; - } - - @Override public List<PeerId> getLearnersList() { - return learnersList; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder addLearners(PeerId learnerId) { - learnersList.add(learnerId); - - return this; - } - - @Override public RaftClientMessages.ResetLearnersRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequestImpl.java deleted file mode 100644 index 4ead585..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/ResetPeerRequestImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import java.util.ArrayList; -import java.util.List; -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class ResetPeerRequestImpl implements RaftClientMessages.ResetPeerRequest, RaftClientMessages.ResetPeerRequest.Builder { - private String groupId; - private List<PeerId> newPeersList = new ArrayList<>(); - - public String getGroupId() { - return groupId; - } - - @Override public List<PeerId> getNewPeersList() { - return newPeersList; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder addNewPeers(PeerId peerId) { - newPeersList.add(peerId); - - return this; - } - - @Override public RaftClientMessages.ResetPeerRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequestImpl.java deleted file mode 100644 index 2b2eea6..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/SnapshotRequestImpl.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.client.RaftClientMessages; - -class SnapshotRequestImpl implements RaftClientMessages.SnapshotRequest, RaftClientMessages.SnapshotRequest.Builder { - private String groupId; - - public String getGroupId() { - return groupId; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public RaftClientMessages.SnapshotRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequestImpl.java deleted file mode 100644 index 24957df..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/TransferLeaderRequestImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages; - -class TransferLeaderRequestImpl implements RaftClientMessages.TransferLeaderRequest, RaftClientMessages.TransferLeaderRequest.Builder { - private String groupId; - private PeerId peerId; - - public String getGroupId() { - return groupId; - } - - @Override public PeerId getPeerId() { - return peerId; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public RaftClientMessages.TransferLeaderRequest build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequestImpl.java deleted file mode 100644 index 93cc463..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserRequestImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.client.RaftClientMessages; - -public class UserRequestImpl<T> implements RaftClientMessages.UserRequest, RaftClientMessages.UserRequest.Builder { - private Object request; - private String groupId; - - @Override public Object request() { - return request; - } - - @Override public Builder setGroupId(String groupId) { - this.groupId = groupId; - - return this; - } - - @Override public Builder setRequest(Object request) { - this.request = request; - - return this; - } - - @Override public RaftClientMessages.UserRequest build() { - return this; - } - - @Override public String getGroupId() { - return groupId; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponseImpl.java deleted file mode 100644 index 0d62953..0000000 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/UserResponseImpl.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.client.RaftClientMessages; - -public class UserResponseImpl<T> implements RaftClientMessages.UserResponse<T>, RaftClientMessages.UserResponse.Builder<T> { - private T response; - - @Override public T response() { - return response; - } - - @Override public Builder setResponse(T response) { - this.response = response; - - return this; - } - - @Override public RaftClientMessages.UserResponse build() { - return this; - } -} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java new file mode 100644 index 0000000..8f2be91 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddLearnersRequestImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +public class AddLearnersRequestImpl implements RaftClientMessages.AddLearnersRequest, RaftClientMessages.AddLearnersRequest.Builder { + private String groupId; + + private List<PeerId> learnersList = new ArrayList<>(); + + public String getGroupId() { + return groupId; + } + + @Override public List<PeerId> getLearnersList() { + return learnersList; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder addLearners(PeerId learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public RaftClientMessages.AddLearnersRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java new file mode 100644 index 0000000..b492c4d --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerRequestImpl.java @@ -0,0 +1,51 @@ +/* + * 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.ignite.raft.client.message.impl; + +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class AddPeerRequestImpl implements RaftClientMessages.AddPeerRequest, RaftClientMessages.AddPeerRequest.Builder { + private String groupId; + + private PeerId peerId; + + public String getGroupId() { + return groupId; + } + + @Override public PeerId getPeerId() { + return peerId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setPeerId(PeerId peerId) { + this.peerId = peerId; + + return this; + } + + @Override public RaftClientMessages.AddPeerRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java new file mode 100644 index 0000000..61f2450 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/AddPeerResponseImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class AddPeerResponseImpl implements RaftClientMessages.AddPeerResponse, RaftClientMessages.AddPeerResponse.Builder { + private List<PeerId> oldPeersList = new ArrayList<>(); + + private List<PeerId> newPeersList = new ArrayList<>(); + + @Override public List<PeerId> getOldPeersList() { + return oldPeersList; + } + + @Override public List<PeerId> getNewPeersList() { + return newPeersList; + } + + @Override public Builder addOldPeers(PeerId oldPeersId) { + oldPeersList.add(oldPeersId); + + return this; + } + + @Override public Builder addNewPeers(PeerId newPeersId) { + newPeersList.add(newPeersId); + + return this; + } + + @Override public RaftClientMessages.AddPeerResponse build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java new file mode 100644 index 0000000..657ef63 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeerRequestImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class ChangePeerRequestImpl implements RaftClientMessages.ChangePeersRequest, RaftClientMessages.ChangePeersRequest.Builder { + private String groupId; + + private List<PeerId> newPeersList = new ArrayList<>(); + + public String getGroupId() { + return groupId; + } + + @Override public List<PeerId> getNewPeersList() { + return newPeersList; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder addNewPeers(PeerId peerId) { + newPeersList.add(peerId); + + return this; + } + + @Override public RaftClientMessages.ChangePeersRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java new file mode 100644 index 0000000..f33f4c0 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ChangePeersResponseImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class ChangePeersResponseImpl implements RaftClientMessages.ChangePeersResponse, RaftClientMessages.ChangePeersResponse.Builder { + private List<PeerId> oldPeersList = new ArrayList<>(); + + private List<PeerId> newPeersList = new ArrayList<>(); + + @Override public List<PeerId> getOldPeersList() { + return oldPeersList; + } + + @Override public List<PeerId> getNewPeersList() { + return newPeersList; + } + + @Override public Builder addOldPeers(PeerId oldPeerId) { + oldPeersList.add(oldPeerId); + + return this; + } + + @Override public Builder addNewPeers(PeerId newPeerId) { + newPeersList.add(newPeerId); + + return this; + } + + @Override public RaftClientMessages.ChangePeersResponse build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java similarity index 55% copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java index 5001d74..6a2ae69 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderRequestImpl.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -14,18 +14,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.raft; -import java.util.List; -import org.jetbrains.annotations.Nullable; +package org.apache.ignite.raft.client.message.impl; -/** - * Raft group state. - */ -public interface State { - @Nullable PeerId leader(); +import org.apache.ignite.raft.client.message.RaftClientMessages; + +public class GetLeaderRequestImpl implements RaftClientMessages.GetLeaderRequest, RaftClientMessages.GetLeaderRequest.Builder { + private String groupId; + + @Override public String getGroupId() { + return groupId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; - @Nullable List<PeerId> peers(); + return this; + } - @Nullable List<PeerId> learners(); + @Override public RaftClientMessages.GetLeaderRequest build() { + return this; + } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java similarity index 53% copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java index 5001d74..3e62084 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetLeaderResponseImpl.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -14,18 +14,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.raft; -import java.util.List; -import org.jetbrains.annotations.Nullable; +package org.apache.ignite.raft.client.message.impl; -/** - * Raft group state. - */ -public interface State { - @Nullable PeerId leader(); +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +public class GetLeaderResponseImpl implements RaftClientMessages.GetLeaderResponse, RaftClientMessages.GetLeaderResponse.Builder { + private PeerId leaderId; + + @Override public PeerId getLeaderId() { + return leaderId; + } + + @Override public RaftClientMessages.GetLeaderResponse build() { + return this; + } - @Nullable List<PeerId> peers(); + @Override public Builder setLeaderId(PeerId leaderId) { + this.leaderId = leaderId; - @Nullable List<PeerId> learners(); + return this; + } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersRequestImpl.java new file mode 100644 index 0000000..0d6842a --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersRequestImpl.java @@ -0,0 +1,50 @@ +/* + * 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.ignite.raft.client.message.impl; + +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class GetPeersRequestImpl implements RaftClientMessages.GetPeersRequest, RaftClientMessages.GetPeersRequest.Builder { + private String groupId; + + private boolean onlyAlive; + + public String getGroupId() { + return groupId; + } + + @Override public boolean getOnlyAlive() { + return onlyAlive; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setOnlyAlive(boolean onlyGetAlive) { + this.onlyAlive = onlyGetAlive; + + return this; + } + + @Override public RaftClientMessages.GetPeersRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java new file mode 100644 index 0000000..a5fc836 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/GetPeersResponseImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class GetPeersResponseImpl implements RaftClientMessages.GetPeersResponse, RaftClientMessages.GetPeersResponse.Builder { + private List<PeerId> peersList = new ArrayList<>(); + + private List<PeerId> learnersList = new ArrayList<>(); + + @Override public List<PeerId> getPeersList() { + return peersList; + } + + @Override public List<PeerId> getLearnersList() { + return learnersList; + } + + @Override public Builder addPeers(PeerId peerId) { + peersList.add(peerId); + + return this; + } + + @Override public Builder addLearners(PeerId learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public RaftClientMessages.GetPeersResponse build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java new file mode 100644 index 0000000..0e846d2 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/LearnersOpResponseImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class LearnersOpResponseImpl implements RaftClientMessages.LearnersOpResponse, RaftClientMessages.LearnersOpResponse.Builder { + private List<PeerId> oldLearnersList = new ArrayList<>(); + + private List<PeerId> newLearnersList = new ArrayList<>(); + + @Override public List<PeerId> getOldLearnersList() { + return oldLearnersList; + } + + @Override public List<PeerId> getNewLearnersList() { + return newLearnersList; + } + + @Override public Builder addOldLearners(PeerId oldLearnersId) { + oldLearnersList.add(oldLearnersId); + + return this; + } + + @Override public Builder addNewLearners(PeerId newLearnersId) { + newLearnersList.add(newLearnersId); + + return this; + } + + @Override public RaftClientMessages.LearnersOpResponse build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactory.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java similarity index 62% rename from modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactory.java rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java index 95a350d..22dd9ce 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactory.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactory.java @@ -1,6 +1,23 @@ -package org.apache.ignite.raft.client.message; - -import org.apache.ignite.raft.client.RaftClientMessages; +/* + * 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.ignite.raft.client.message.impl; + +import org.apache.ignite.raft.client.message.RaftClientMessages; /** */ public interface RaftClientMessageFactory { diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactoryImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java similarity index 76% rename from modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactoryImpl.java rename to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java index 6e170ae..9464368 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/RaftClientMessageFactoryImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RaftClientMessageFactoryImpl.java @@ -1,6 +1,23 @@ -package org.apache.ignite.raft.client.message; +/* + * 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.ignite.raft.client.message.impl; -import org.apache.ignite.raft.client.RaftClientMessages; +import org.apache.ignite.raft.client.message.RaftClientMessages; /** * Raft client message factory. diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java new file mode 100644 index 0000000..f063e46 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemoveLearnersRequestImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class RemoveLearnersRequestImpl implements RaftClientMessages.RemoveLearnersRequest, RaftClientMessages.RemoveLearnersRequest.Builder { + private String groupId; + + private List<PeerId> learnersList = new ArrayList<>(); + + public String getGroupId() { + return groupId; + } + + @Override public List<PeerId> getLearnersList() { + return learnersList; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder addLearners(PeerId learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public RaftClientMessages.RemoveLearnersRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java new file mode 100644 index 0000000..30d3d18 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerRequestImpl.java @@ -0,0 +1,51 @@ +/* + * 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.ignite.raft.client.message.impl; + +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class RemovePeerRequestImpl implements RaftClientMessages.RemovePeerRequest, RaftClientMessages.RemovePeerRequest.Builder { + private String groupId; + + private PeerId peerId; + + public String getGroupId() { + return groupId; + } + + @Override public PeerId getPeerId() { + return peerId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setPeerId(PeerId peerId) { + this.peerId = peerId; + + return this; + } + + @Override public RaftClientMessages.RemovePeerRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java new file mode 100644 index 0000000..819d8ec --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/RemovePeerResponseImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class RemovePeerResponseImpl implements RaftClientMessages.RemovePeerResponse, RaftClientMessages.RemovePeerResponse.Builder { + private List<PeerId> oldPeersList = new ArrayList<>(); + + private List<PeerId> newPeersList = new ArrayList<>(); + + @Override public List<PeerId> getOldPeersList() { + return oldPeersList; + } + + @Override public List<PeerId> getNewPeersList() { + return newPeersList; + } + + @Override public Builder addOldPeers(PeerId oldPeerId) { + oldPeersList.add(oldPeerId); + + return this; + } + + @Override public Builder addNewPeers(PeerId newPeerId) { + newPeersList.add(newPeerId); + + return this; + } + + @Override public RaftClientMessages.RemovePeerResponse build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java new file mode 100644 index 0000000..1371b00 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetLearnersRequestImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class ResetLearnersRequestImpl implements RaftClientMessages.ResetLearnersRequest, RaftClientMessages.ResetLearnersRequest.Builder { + private String groupId; + + private List<PeerId> learnersList = new ArrayList<>(); + + public String getGroupId() { + return groupId; + } + + @Override public List<PeerId> getLearnersList() { + return learnersList; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder addLearners(PeerId learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public RaftClientMessages.ResetLearnersRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java new file mode 100644 index 0000000..fba3dea --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/ResetPeerRequestImpl.java @@ -0,0 +1,53 @@ +/* + * 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.ignite.raft.client.message.impl; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class ResetPeerRequestImpl implements RaftClientMessages.ResetPeerRequest, RaftClientMessages.ResetPeerRequest.Builder { + private String groupId; + + private List<PeerId> newPeersList = new ArrayList<>(); + + public String getGroupId() { + return groupId; + } + + @Override public List<PeerId> getNewPeersList() { + return newPeersList; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder addNewPeers(PeerId peerId) { + newPeersList.add(peerId); + + return this; + } + + @Override public RaftClientMessages.ResetPeerRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java similarity index 55% copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java index 5001d74..69b3ac8 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/SnapshotRequestImpl.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -14,18 +14,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.raft; -import java.util.List; -import org.jetbrains.annotations.Nullable; +package org.apache.ignite.raft.client.message.impl; -/** - * Raft group state. - */ -public interface State { - @Nullable PeerId leader(); +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class SnapshotRequestImpl implements RaftClientMessages.SnapshotRequest, RaftClientMessages.SnapshotRequest.Builder { + private String groupId; + + @Override public String getGroupId() { + return groupId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; - @Nullable List<PeerId> peers(); + return this; + } - @Nullable List<PeerId> learners(); + @Override public RaftClientMessages.SnapshotRequest build() { + return this; + } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java new file mode 100644 index 0000000..3cc7e98 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/TransferLeaderRequestImpl.java @@ -0,0 +1,45 @@ +/* + * 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.ignite.raft.client.message.impl; + +import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; + +class TransferLeaderRequestImpl implements RaftClientMessages.TransferLeaderRequest, RaftClientMessages.TransferLeaderRequest.Builder { + private String groupId; + + private PeerId peerId; + + @Override public String getGroupId() { + return groupId; + } + + @Override public PeerId getPeerId() { + return peerId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public RaftClientMessages.TransferLeaderRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserRequestImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserRequestImpl.java new file mode 100644 index 0000000..e933c24 --- /dev/null +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserRequestImpl.java @@ -0,0 +1,50 @@ +/* + * 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.ignite.raft.client.message.impl; + +import org.apache.ignite.raft.client.message.RaftClientMessages; + +public class UserRequestImpl<T> implements RaftClientMessages.UserRequest, RaftClientMessages.UserRequest.Builder { + private Object request; + + private String groupId; + + @Override public Object request() { + return request; + } + + @Override public String getGroupId() { + return groupId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setRequest(Object request) { + this.request = request; + + return this; + } + + @Override public RaftClientMessages.UserRequest build() { + return this; + } +} diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java similarity index 56% copy from modules/raft-client/src/main/java/org/apache/ignite/raft/State.java copy to modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java index 5001d74..8c1a530 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/State.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/message/impl/UserResponseImpl.java @@ -6,7 +6,7 @@ * (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 + * 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, @@ -14,18 +14,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.raft; -import java.util.List; -import org.jetbrains.annotations.Nullable; +package org.apache.ignite.raft.client.message.impl; -/** - * Raft group state. - */ -public interface State { - @Nullable PeerId leader(); +import org.apache.ignite.raft.client.message.RaftClientMessages; + +public class UserResponseImpl<T> implements RaftClientMessages.UserResponse<T>, RaftClientMessages.UserResponse.Builder<T> { + private T response; + + @Override public T response() { + return response; + } + + @Override public Builder setResponse(T response) { + this.response = response; - @Nullable List<PeerId> peers(); + return this; + } - @Nullable List<PeerId> learners(); + @Override public RaftClientMessages.UserResponse build() { + return this; + } } diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java index 382e953..d6b863a 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClient.java @@ -14,29 +14,30 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.ignite.raft.client.rpc; import java.util.concurrent.CompletableFuture; import javax.validation.constraints.NotNull; import org.apache.ignite.raft.State; import org.apache.ignite.raft.PeerId; -import org.apache.ignite.raft.client.RaftClientMessages.UserRequest; -import org.apache.ignite.raft.client.RaftClientMessages.UserResponse; -import org.apache.ignite.raft.client.message.RaftClientMessageFactory; - -import static org.apache.ignite.raft.client.RaftClientMessages.AddLearnersRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.AddPeerRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.AddPeerResponse; -import static org.apache.ignite.raft.client.RaftClientMessages.ChangePeersRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.ChangePeersResponse; -import static org.apache.ignite.raft.client.RaftClientMessages.LearnersOpResponse; -import static org.apache.ignite.raft.client.RaftClientMessages.RemoveLearnersRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.RemovePeerRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.RemovePeerResponse; -import static org.apache.ignite.raft.client.RaftClientMessages.ResetLearnersRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.ResetPeerRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.SnapshotRequest; -import static org.apache.ignite.raft.client.RaftClientMessages.TransferLeaderRequest; +import org.apache.ignite.raft.client.message.RaftClientMessages.UserRequest; +import org.apache.ignite.raft.client.message.RaftClientMessages.UserResponse; +import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactory; + +import static org.apache.ignite.raft.client.message.RaftClientMessages.AddLearnersRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.AddPeerRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.AddPeerResponse; +import static org.apache.ignite.raft.client.message.RaftClientMessages.ChangePeersRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.ChangePeersResponse; +import static org.apache.ignite.raft.client.message.RaftClientMessages.LearnersOpResponse; +import static org.apache.ignite.raft.client.message.RaftClientMessages.RemoveLearnersRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.RemovePeerRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.RemovePeerResponse; +import static org.apache.ignite.raft.client.message.RaftClientMessages.ResetLearnersRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.ResetPeerRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.SnapshotRequest; +import static org.apache.ignite.raft.client.message.RaftClientMessages.TransferLeaderRequest; /** * Replicating group RPC client. diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java index 4f46ed9..ac9cb5c 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/rpc/impl/RaftGroupRpcClientImpl.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client.rpc.impl; import java.util.HashSet; @@ -10,15 +27,16 @@ import org.apache.ignite.network.NetworkCluster; import org.apache.ignite.network.NetworkMember; import org.apache.ignite.raft.PeerId; import org.apache.ignite.raft.State; -import org.apache.ignite.raft.client.RaftClientMessages; -import org.apache.ignite.raft.client.RaftClientMessages.GetLeaderResponse; -import org.apache.ignite.raft.client.message.RaftClientMessageFactory; +import org.apache.ignite.raft.client.message.RaftClientMessages; +import org.apache.ignite.raft.client.message.RaftClientMessages.GetLeaderResponse; +import org.apache.ignite.raft.client.message.impl.RaftClientMessageFactory; import org.apache.ignite.raft.client.rpc.RaftGroupRpcClient; import org.jetbrains.annotations.Nullable; import static java.util.concurrent.CompletableFuture.completedFuture; public class RaftGroupRpcClientImpl implements RaftGroupRpcClient { + /** */ private final NetworkCluster cluster; /** Where to ask for initial configuration. */ @@ -30,11 +48,12 @@ public class RaftGroupRpcClientImpl implements RaftGroupRpcClient { /** */ private final int defaultTimeout; - private Map<String, StateImpl> states = new ConcurrentHashMap<>(); + /** */ + private final Map<String, StateImpl> states = new ConcurrentHashMap<>(); /** - * Accepts dependencies in constructor. * @param cluster Cluster. + * @param factory Factory. * @param defaultTimeout Default request timeout. * @param initialCfgNode Initial configuration nodes. */ @@ -119,6 +138,7 @@ public class RaftGroupRpcClientImpl implements RaftGroupRpcClient { return this.factory; } + /** */ private static class StateImpl implements State { private volatile PeerId leader; diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java index c007086..1fc7a89 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestListener.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client.service; import java.util.Iterator; diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java index a4a8a59..1d1eccc 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestService.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client.service; import java.util.concurrent.CompletableFuture; diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java index 2bd8fac..455173d 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/RaftGroupManagmentService.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client.service; import java.util.List; diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java index c5b7c25..35a72e5 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupClientRequestServiceImpl.java @@ -1,12 +1,30 @@ +/* + * 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.ignite.raft.client.service.impl; import java.util.concurrent.CompletableFuture; -import org.apache.ignite.raft.client.RaftClientMessages; +import org.apache.ignite.raft.client.message.RaftClientMessages; import org.apache.ignite.raft.client.rpc.RaftGroupRpcClient; import org.apache.ignite.raft.client.service.RaftGroupClientRequestService; public class RaftGroupClientRequestServiceImpl implements RaftGroupClientRequestService { private final RaftGroupRpcClient rpcClient; + private final String groupId; public RaftGroupClientRequestServiceImpl(RaftGroupRpcClient rpcClient, String groupId) { diff --git a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java index 28e28c8..383044a 100644 --- a/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java +++ b/modules/raft-client/src/main/java/org/apache/ignite/raft/client/service/impl/RaftGroupManagementServiceImpl.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client.service.impl; import java.util.List; diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java index 9edc931..9de90dc 100644 --- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java +++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/MockUtils.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client; import java.util.concurrent.CompletableFuture; @@ -5,12 +22,13 @@ import java.util.concurrent.TimeoutException; import org.apache.ignite.network.NetworkCluster; import org.apache.ignite.network.NetworkMember; import org.apache.ignite.raft.PeerId; +import org.apache.ignite.raft.client.message.RaftClientMessages; import org.mockito.ArgumentMatcher; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import static org.apache.ignite.raft.client.message.RaftClientMessageFactoryImpl.INSTANCE; +import static org.apache.ignite.raft.client.message.impl.RaftClientMessageFactoryImpl.INSTANCE; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.argThat; diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java index 8ab61e3..e7fe41e 100644 --- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java +++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/rpc/RaftGroupRpcClientTest.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client.rpc; import java.util.concurrent.CountDownLatch; @@ -9,7 +26,7 @@ import org.apache.ignite.raft.client.MockUtils.TestInput1; import org.apache.ignite.raft.client.MockUtils.TestInput2; import org.apache.ignite.raft.client.MockUtils.TestOutput1; import org.apache.ignite.raft.client.MockUtils.TestOutput2; -import org.apache.ignite.raft.client.RaftClientMessages; +import org.apache.ignite.raft.client.message.RaftClientMessages; import org.apache.ignite.raft.client.rpc.impl.RaftGroupRpcClientImpl; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -21,7 +38,7 @@ import static org.apache.ignite.raft.client.MockUtils.LEADER; import static org.apache.ignite.raft.client.MockUtils.mockLeaderRequest; import static org.apache.ignite.raft.client.MockUtils.mockUserInput1; import static org.apache.ignite.raft.client.MockUtils.mockUserInput2; -import static org.apache.ignite.raft.client.message.RaftClientMessageFactoryImpl.INSTANCE; +import static org.apache.ignite.raft.client.message.impl.RaftClientMessageFactoryImpl.INSTANCE; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; diff --git a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java index 1c802a0..4aaa2a6 100644 --- a/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java +++ b/modules/raft-client/src/test/java/org/apache/ignite/raft/client/service/RaftGroupClientRequestServiceTest.java @@ -1,3 +1,20 @@ +/* + * 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.ignite.raft.client.service; import java.util.concurrent.CompletableFuture; @@ -19,7 +36,7 @@ import static org.apache.ignite.raft.client.MockUtils.LEADER; import static org.apache.ignite.raft.client.MockUtils.mockLeaderRequest; import static org.apache.ignite.raft.client.MockUtils.mockUserInput1; import static org.apache.ignite.raft.client.MockUtils.mockUserInput2; -import static org.apache.ignite.raft.client.message.RaftClientMessageFactoryImpl.INSTANCE; +import static org.apache.ignite.raft.client.message.impl.RaftClientMessageFactoryImpl.INSTANCE; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull;
