From 2fabc1d2d0d0a86abf923fa03c0468b163821783 Mon Sep 17 00:00:00 2001
From: Adnan Ahmad <adnanahmad4873@gmail.com>
Date: Mon, 17 Aug 2020 16:48:58 -0500
Subject: [PATCH] moved zookeeper to its own binding

---
 .../datastore-specific-descriptor/pom.xml     | 11 ------
 pom.xml                                       |  1 +
 zookeeper/pom.xml                             | 35 +++++++++++++++++++
 .../main/java/site/ycsb/db/ZKConnection.java  |  5 ++-
 .../java/site/ycsb/db/ZookeeperClient.java    |  7 ++--
 .../main/java/site/ycsb/db/package-info.java  |  4 +++
 6 files changed, 49 insertions(+), 14 deletions(-)
 create mode 100644 zookeeper/pom.xml
 rename {binding-parent/datastore-specific-descriptor => zookeeper}/src/main/java/site/ycsb/db/ZKConnection.java (86%)
 rename {binding-parent/datastore-specific-descriptor => zookeeper}/src/main/java/site/ycsb/db/ZookeeperClient.java (89%)
 create mode 100644 zookeeper/src/main/java/site/ycsb/db/package-info.java

diff --git a/binding-parent/datastore-specific-descriptor/pom.xml b/binding-parent/datastore-specific-descriptor/pom.xml
index 12e64807..afcb1fca 100644
--- a/binding-parent/datastore-specific-descriptor/pom.xml
+++ b/binding-parent/datastore-specific-descriptor/pom.xml
@@ -39,17 +39,6 @@ LICENSE file.
       <artifactId>core</artifactId>
       <version>${project.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.apache.zookeeper</groupId>
-      <artifactId>zookeeper</artifactId>
-      <version>3.4.11</version>
-    </dependency>
-    <!-- https://mvnrepository.com/artifact/org.json/json -->
-    <dependency>
-      <groupId>org.json</groupId>
-      <artifactId>json</artifactId>
-      <version>20160810</version>
-    </dependency>
   </dependencies>
 </project>
 
diff --git a/pom.xml b/pom.xml
index e0494121..6b847e14 100644
--- a/pom.xml
+++ b/pom.xml
@@ -205,6 +205,7 @@ LICENSE file.
     <module>tablestore</module>
     <!--<module>voldemort</module>-->
     <module>voltdb</module>
+      <module>zookeeper</module>
   </modules>
 
   <build>
diff --git a/zookeeper/pom.xml b/zookeeper/pom.xml
new file mode 100644
index 00000000..56b64799
--- /dev/null
+++ b/zookeeper/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <artifactId>root</artifactId>
+    <groupId>site.ycsb</groupId>
+    <version>0.18.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>zookeeper</artifactId>
+  <name>Zookeeper Binding</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>site.ycsb</groupId>
+      <artifactId>core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.zookeeper</groupId>
+      <artifactId>zookeeper</artifactId>
+      <version>3.4.11</version>
+    </dependency>
+    <!-- https://mvnrepository.com/artifact/org.json/json -->
+    <dependency>
+      <groupId>org.json</groupId>
+      <artifactId>json</artifactId>
+      <version>20160810</version>
+    </dependency>
+  </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/binding-parent/datastore-specific-descriptor/src/main/java/site/ycsb/db/ZKConnection.java b/zookeeper/src/main/java/site/ycsb/db/ZKConnection.java
similarity index 86%
rename from binding-parent/datastore-specific-descriptor/src/main/java/site/ycsb/db/ZKConnection.java
rename to zookeeper/src/main/java/site/ycsb/db/ZKConnection.java
index adf94809..db748a97 100644
--- a/binding-parent/datastore-specific-descriptor/src/main/java/site/ycsb/db/ZKConnection.java
+++ b/zookeeper/src/main/java/site/ycsb/db/ZKConnection.java
@@ -7,9 +7,12 @@ import org.apache.zookeeper.ZooKeeper;
 import java.io.IOException;
 import java.util.concurrent.CountDownLatch;
 
+/**
+ * Used for connecting to Zookeeper.
+ */
 public class ZKConnection {
   private ZooKeeper zoo;
-  CountDownLatch connectionLatch = new CountDownLatch(1);
+  private CountDownLatch connectionLatch = new CountDownLatch(1);
 
   // ...
 
diff --git a/binding-parent/datastore-specific-descriptor/src/main/java/site/ycsb/db/ZookeeperClient.java b/zookeeper/src/main/java/site/ycsb/db/ZookeeperClient.java
similarity index 89%
rename from binding-parent/datastore-specific-descriptor/src/main/java/site/ycsb/db/ZookeeperClient.java
rename to zookeeper/src/main/java/site/ycsb/db/ZookeeperClient.java
index 4ed020c2..dac4aa67 100644
--- a/binding-parent/datastore-specific-descriptor/src/main/java/site/ycsb/db/ZookeeperClient.java
+++ b/zookeeper/src/main/java/site/ycsb/db/ZookeeperClient.java
@@ -10,13 +10,15 @@ import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import org.json.JSONObject;
 
 import java.util.Vector;
 
+/**
+ * A client that can be used by YCSB to work with Zookeeper.
+ */
 public class ZookeeperClient extends DB {
 
   private static ZooKeeper zooKeeper;
@@ -37,7 +39,8 @@ public class ZookeeperClient extends DB {
   }
 
   @Override
-  public Status scan(String table, String startkey, int recordcount, Set<String> fields, Vector<HashMap<String, ByteIterator>> result) {
+  public Status scan(String table, String startkey,
+                     int recordcount, Set<String> fields, Vector<HashMap<String, ByteIterator>> result) {
     return null;
   }
 
diff --git a/zookeeper/src/main/java/site/ycsb/db/package-info.java b/zookeeper/src/main/java/site/ycsb/db/package-info.java
new file mode 100644
index 00000000..f8d62487
--- /dev/null
+++ b/zookeeper/src/main/java/site/ycsb/db/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Zookeeper integration with YCSB.
+ */
+package site.ycsb.db;
-- 
GitLab