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];