diff --git a/pom.xml b/pom.xml
index 005cf37..059e7b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,9 +23,9 @@
3.2.0
3.4.1
1.18.26
- 10.8.0
+ 10.9.3
3.0.0-M6
- 1.13.0
+ 2.0.0
3.2.1
4.7.2.0
3.0.0-M9
diff --git a/src/main/java/io/github/protocol/bookkeeper/Auditor.java b/src/main/java/io/github/protocol/bookkeeper/Auditor.java
new file mode 100644
index 0000000..623fe6d
--- /dev/null
+++ b/src/main/java/io/github/protocol/bookkeeper/Auditor.java
@@ -0,0 +1,13 @@
+package io.github.protocol.bookkeeper;
+
+public class Auditor {
+ private String auditor;
+
+ public String getAuditor() {
+ return auditor;
+ }
+
+ public void setAuditor(String auditor) {
+ this.auditor = auditor;
+ }
+}
diff --git a/src/main/java/io/github/protocol/bookkeeper/AutoRecovery.java b/src/main/java/io/github/protocol/bookkeeper/AutoRecovery.java
new file mode 100644
index 0000000..e8e1e3f
--- /dev/null
+++ b/src/main/java/io/github/protocol/bookkeeper/AutoRecovery.java
@@ -0,0 +1,4 @@
+package io.github.protocol.bookkeeper;
+
+public interface AutoRecovery {
+}
diff --git a/src/main/java/io/github/protocol/bookkeeper/AutoRecoveryImpl.java b/src/main/java/io/github/protocol/bookkeeper/AutoRecoveryImpl.java
new file mode 100644
index 0000000..7e14b4e
--- /dev/null
+++ b/src/main/java/io/github/protocol/bookkeeper/AutoRecoveryImpl.java
@@ -0,0 +1,9 @@
+package io.github.protocol.bookkeeper;
+
+public class AutoRecoveryImpl implements AutoRecovery {
+ private final InnerHttpClient innerHttpClient;
+
+ public AutoRecoveryImpl(InnerHttpClient innerHttpClient) {
+ this.innerHttpClient = innerHttpClient;
+ }
+}
diff --git a/src/main/java/io/github/protocol/bookkeeper/AutoRecoveryStatus.java b/src/main/java/io/github/protocol/bookkeeper/AutoRecoveryStatus.java
new file mode 100644
index 0000000..9ab9282
--- /dev/null
+++ b/src/main/java/io/github/protocol/bookkeeper/AutoRecoveryStatus.java
@@ -0,0 +1,13 @@
+package io.github.protocol.bookkeeper;
+
+public class AutoRecoveryStatus {
+ private boolean enabled;
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+}
diff --git a/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdmin.java b/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdmin.java
index b0130e0..cc3badb 100644
--- a/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdmin.java
+++ b/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdmin.java
@@ -5,5 +5,9 @@ static BookkeeperAdminBuilder builder() {
return new BookkeeperAdminBuilderImpl();
}
+ Bookies bookies();
+
+ AutoRecovery autoRecovery();
+
Heartbeat heartbeat();
}
diff --git a/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdminImpl.java b/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdminImpl.java
index bb9cd22..b80821c 100644
--- a/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdminImpl.java
+++ b/src/main/java/io/github/protocol/bookkeeper/BookkeeperAdminImpl.java
@@ -1,12 +1,28 @@
package io.github.protocol.bookkeeper;
public class BookkeeperAdminImpl implements BookkeeperAdmin {
+ private final BookiesImpl bookies;
+
+ private final AutoRecovery autoRecovery;
+
private final Heartbeat heartbeat;
BookkeeperAdminImpl(Configuration conf) {
InnerHttpClient innerHttpClient = new InnerHttpClient(conf);
+ this.bookies = new BookiesImpl(innerHttpClient);
+ this.autoRecovery = new AutoRecoveryImpl(innerHttpClient);
this.heartbeat = new HeartbeatImpl(innerHttpClient);
}
+ @Override
+ public Bookies bookies() {
+ return bookies;
+ }
+
+ @Override
+ public AutoRecovery autoRecovery() {
+ return autoRecovery;
+ }
+
@Override
public Heartbeat heartbeat() {
return heartbeat;
diff --git a/src/main/java/io/github/protocol/bookkeeper/ListUnderReplicatedLedgerReqData.java b/src/main/java/io/github/protocol/bookkeeper/ListUnderReplicatedLedgerReqData.java
new file mode 100644
index 0000000..7b185cf
--- /dev/null
+++ b/src/main/java/io/github/protocol/bookkeeper/ListUnderReplicatedLedgerReqData.java
@@ -0,0 +1,31 @@
+package io.github.protocol.bookkeeper;
+
+public class ListUnderReplicatedLedgerReqData {
+ private String includingBookieId;
+ private String excludingBookieId;
+ private boolean printMissingReplica;
+
+ public String getIncludingBookieId() {
+ return includingBookieId;
+ }
+
+ public void setIncludingBookieId(String includingBookieId) {
+ this.includingBookieId = includingBookieId;
+ }
+
+ public String getExcludingBookieId() {
+ return excludingBookieId;
+ }
+
+ public void setExcludingBookieId(String excludingBookieId) {
+ this.excludingBookieId = excludingBookieId;
+ }
+
+ public boolean isPrintMissingReplica() {
+ return printMissingReplica;
+ }
+
+ public void setPrintMissingReplica(boolean printMissingReplica) {
+ this.printMissingReplica = printMissingReplica;
+ }
+}
diff --git a/src/main/java/io/github/protocol/bookkeeper/RecoveryBookieReqData.java b/src/main/java/io/github/protocol/bookkeeper/RecoveryBookieReqData.java
new file mode 100644
index 0000000..c4d2759
--- /dev/null
+++ b/src/main/java/io/github/protocol/bookkeeper/RecoveryBookieReqData.java
@@ -0,0 +1,24 @@
+package io.github.protocol.bookkeeper;
+
+import java.util.List;
+
+public class RecoveryBookieReqData {
+ private List bookieSrc;
+ private boolean deleteCookie;
+
+ public List getBookieSrc() {
+ return bookieSrc;
+ }
+
+ public void setBookieSrc(List bookieSrc) {
+ this.bookieSrc = bookieSrc;
+ }
+
+ public boolean isDeleteCookie() {
+ return deleteCookie;
+ }
+
+ public void setDeleteCookie(boolean deleteCookie) {
+ this.deleteCookie = deleteCookie;
+ }
+}
diff --git a/src/main/java/io/github/protocol/bookkeeper/UnderReplicatedLedger.java b/src/main/java/io/github/protocol/bookkeeper/UnderReplicatedLedger.java
new file mode 100644
index 0000000..612c893
--- /dev/null
+++ b/src/main/java/io/github/protocol/bookkeeper/UnderReplicatedLedger.java
@@ -0,0 +1,15 @@
+package io.github.protocol.bookkeeper;
+
+import java.util.List;
+
+public class UnderReplicatedLedger {
+ private List ledgers;
+
+ public List getLedgers() {
+ return ledgers;
+ }
+
+ public void setLedgers(List ledgers) {
+ this.ledgers = ledgers;
+ }
+}
diff --git a/src/test/java/io/github/protocol/bookkeeper/AutoRecoveryImplTest.java b/src/test/java/io/github/protocol/bookkeeper/AutoRecoveryImplTest.java
new file mode 100644
index 0000000..8bd0ab0
--- /dev/null
+++ b/src/test/java/io/github/protocol/bookkeeper/AutoRecoveryImplTest.java
@@ -0,0 +1,26 @@
+package io.github.protocol.bookkeeper;
+
+import io.github.embedded.bookkeeper.core.EmbeddedBookkeeperServer;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+
+public class AutoRecoveryImplTest {
+
+ private static final EmbeddedBookkeeperServer SERVER = new EmbeddedBookkeeperServer();
+
+ private static AutoRecoveryImpl autoRecovery = null;
+
+ @BeforeAll
+ public static void setup() throws Exception {
+ SERVER.start();
+ Configuration conf = new Configuration();
+ conf.setHost("localhost");
+ conf.setPort(SERVER.getBkWebPort());
+ autoRecovery = new AutoRecoveryImpl(new InnerHttpClient(conf));
+ }
+
+ @AfterAll
+ public static void teardown() throws Exception {
+ SERVER.close();
+ }
+}