Author: breed
Date: Thu Jun 18 22:22:44 2009
New Revision: 786317

URL: http://svn.apache.org/viewvc?rev=786317&view=rev
Log:
ZOOKEEPER-422. Java CLI should support ephemeral and sequential node creation

Modified:
    hadoop/zookeeper/trunk/CHANGES.txt
    hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeperMain.java

Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=786317&r1=786316&r2=786317&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Thu Jun 18 22:22:44 2009
@@ -223,6 +223,8 @@
   ZOOKEEPER-428. logging should be makred as warn rathen than error in
 NIOServerCnxn. (phunt via mahadev)
 
+  ZOOKEEPER-422. Java CLI should support ephemeral and sequential node 
creation (henry via breed)
+
 NEW FEATURES:
 
   ZOOKEEPER-371. jdiff documentation included in build/release (giri via phunt)

Modified: 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeperMain.java
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeperMain.java?rev=786317&r1=786316&r2=786317&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeperMain.java 
(original)
+++ 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeperMain.java 
Thu Jun 18 22:22:44 2009
@@ -63,7 +63,7 @@
     static void populateCommandMap() {
         commandMap.put("connect", "host:port");
         commandMap.put("close","");
-        commandMap.put("create", "path data acl");
+        commandMap.put("create", "[-s] [-e] path data acl");
         commandMap.put("delete","path [version]");
         commandMap.put("set","path data [version]");
         commandMap.put("get","path [watch]");
@@ -93,7 +93,6 @@
         public void process(WatchedEvent event) {
             if (getPrintWatches()) {
                 ZooKeeperMain.printMessage("WATCHER::");
-                ZooKeeperMain.printMessage("WATCHER::");
                 ZooKeeperMain.printMessage(event.toString());
             }
         }
@@ -661,12 +660,25 @@
         }
         
         if (cmd.equals("create") && args.length >= 3) {
-            if (args.length == 4) {
-                acl = parseACLs(args[3]);
-            }
-            path = args[1];
-            String newPath = zk.create(path, args[2].getBytes(), acl,
-                    CreateMode.PERSISTENT);
+            int first = 0;
+            CreateMode flags = CreateMode.PERSISTENT;
+            if ((args[1].equals("-e") && args[2].equals("-s"))
+                    || (args[1]).equals("-s") && (args[2].equals("-e"))) {
+                first+=2;
+                flags = CreateMode.EPHEMERAL_SEQUENTIAL;
+            } else if (args[1].equals("-e")) {
+                first++;
+                flags = CreateMode.EPHEMERAL;
+            } else if (args[1].equals("-s")) {
+                first++;
+                flags = CreateMode.PERSISTENT_SEQUENTIAL;
+            }
+            if (args.length == first + 4) {
+                acl = parseACLs(args[first+3]);
+            }
+            path = args[first + 1];
+            String newPath = zk.create(path, args[first+2].getBytes(), acl,
+                    flags);
             System.err.println("Created " + newPath);
         } else if (cmd.equals("delete") && args.length >= 2) {
             path = args[1];


Reply via email to