Просмотр исходного кода

ZOOKEEPER-3363: Drop ANT build.xml

- drop Ant and Ivy files
- drop old Cobertura README file
- drop old jdiff file

Author: Enrico Olivelli <enrico.olivelli@diennea.com>
Author: Enrico Olivelli <eolivelli@apache.org>

Reviewers: Norbert Kalmar <nkalmar@apache.org>

Closes #1139 from eolivelli/fix/drop-ant
Enrico Olivelli 5 лет назад
Родитель
Сommit
d2bec6b097

+ 0 - 23
README_packaging.md

@@ -65,26 +65,3 @@ The compiled C client can be found here:
 - `zookeeper-client/zookeeper-client-c/target/c/include/zookeeper`   - Native library headers
 
 The same folders gets archived to the `zookeeper-assembly/target/apache-zookeeper-<version>-lib.tar.gz` file, assuming you activated the `full-build` maven profile.
-
-## Package build command (using ant)
-
-**Command to build tarball package:** `ant tar`
-
-`zookeeper-<version>.tar.gz` tarball file structure layout:
-
-- `/bin`              - User executable
-- `/sbin`             - System executable
-- `/libexec`          - Configuration boot trap script
-- `/lib`              - Library dependencies
-- `/docs`             - Documents
-- `/share/zookeeper`  - Project files
-
-
-**Command to build tarball package with native components:** `ant package-native tar`
-
-`zookeeper-<version>-lib.tar.gz` tarball file structure layout:
-
-- `/bin`                 - User executable
-- `/lib`                 - Native libraries
-- `/include/zookeeper`   - Native library headers
-

+ 0 - 2003
build.xml

@@ -1,2003 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-   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.
--->
-
-<project name="ZooKeeper" default="jar"
-xmlns:ivy="antlib:org.apache.ivy.ant"
-xmlns:artifact="antlib:org.apache.maven.artifact.ant"
-xmlns:maven="antlib:org.apache.maven.artifact.ant"
-xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
-
-    <!-- ====================================================== -->
-    <!-- Dependency versions                                    -->
-    <!-- ====================================================== -->
-    <property name="slf4j.version" value="1.7.25"/>
-    <property name="commons-cli.version" value="1.2"/>
-    <property name="spotbugsannotations.version" value="3.1.9"/>
-
-    <property name="wagon-http.version" value="2.4"/>
-    <property name="maven-ant-tasks.version" value="2.1.3"/>
-    <property name="log4j.version" value="1.2.17"/>
-    <property name="jline.version" value="2.11"/>
-
-    <property name="audience-annotations.version" value="0.5.0" />
-
-    <property name="netty.version" value="4.1.42.Final"/>
-
-    <property name="junit.version" value="4.12"/>
-    <property name="mockito.version" value="2.27.0"/>
-    <property name="checkstyle.version" value="7.1.2"/>
-    <property name="commons-collections.version" value="3.2.2"/>
-
-    <property name="bouncycastle.version" value="1.60"/>
-
-    <property name="jdiff.version" value="1.0.9"/>
-    <property name="xerces.version" value="1.4.4"/>
-
-    <property name="apache-rat-tasks.version" value="0.10"/>
-    <property name="commons-lang.version" value="2.6"/>
-
-    <property name="javacc.version" value="5.0"/>
-
-    <property name="jetty.version" value="9.4.18.v20190429"/>
-    <property name="jackson.version" value="2.9.10"/>
-    <property name="dependency-check-ant.version" value="4.0.2"/>
-
-    <property name="commons-io.version" value="2.6"/>
-    <property name="kerby.version" value="1.1.0"/>
-
-    <property name="clover.version" value="4.2.1" />
-
-    <property name="snappy.version" value="1.1.7"/>
-    <property name="json.version" value="1.1.1"/>
-
-    <!-- ====================================================== -->
-    <!-- Project properties                                     -->
-    <!-- ====================================================== -->
-
-    <!-- read build.properties from the basedir if any -->
-    <property file="${basedir}/build.properties" />
-    <property name="Name" value="ZooKeeper" />
-    <property name="name" value="zookeeper" />
-
-    <property environment="env"/>
-
-    <property name="version-major" value="3" />
-    <property name="version-minor" value="6" />
-    <property name="version-patch" value="0" />
-    <property name="version-base" value="${version-major}.${version-minor}.${version-patch}" />
-    <property name="version-suffix" value="SNAPSHOT" />
-    <property name="version" value="${version-base}-${version-suffix}" />
-
-    <property name="final.name" value="${name}-${version}"/>
-    <property name="revision.dir" value="${basedir}/.revision" />
-    <property name="revision.properties" value="revision.properties" />
-    <property file="${basedir}/.revision/${revision.properties}" />
-
-    <property name="javac.target" value="1.8" />
-    <property name="javac.source" value="1.8" />
-    <property name="build.encoding" value="utf8" />
-
-    <property name="src.dir" value="${basedir}/src" />
-    <property name="java.server.src.dir" value="${basedir}/zookeeper-server/src/main/java" />
-    <property name="java.server.resources.dir" value="${basedir}/zookeeper-server/src/main/resources" />
-    <property name="jute.src.dir" value="${basedir}/zookeeper-jute/src/main/java" />
-    <property name="java.test.dir" value="${src.dir}/test/java"/>
-
-    <property name="lib.dir" value="${java.server.resources.dir}/lib" />
-    <property name="lib.dir.includes" value="**/*.jar" />
-    <property name="lib.dir.excludes" value="**/excluded/" />
-
-    <!-- prior to ant 1.7.1 fileset always fails if dir doesn't exist
-         so just point to bin directory and provide settings that exclude
-         everything - user can change as appropriate -->
-    <property name="additional.lib.dir" value="bin" />
-    <property name="additional.lib.dir.includes" value="**/*.jar" />
-    <property name="additional.lib.dir.excludes" value="**/*.jar" />
-
-    <property name="build.dir" value="${basedir}/build" />
-    <property name="distribution" value="${basedir}/distribution" />
-    <property name="src_generated.dir" value="${basedir}/zookeeper-jute/target/main/java" />
-    <property name="src_version_generated.dir" value="${basedir}/zookeeper-server/target/generated-sources/java" />
-    <property name="c.src.dir" value="${basedir}/zookeeper-client/zookeeper-client-c" />
-    <property name="csrc_generated.dir" value="${c.src.dir}/generated" />
-
-    <property name="jute.file" value="${basedir}/zookeeper-jute/src/main/resources/zookeeper.jute" />
-
-    <property name="build.classes" value="${build.dir}/classes"/>
-    <property name="build.docs" value="${build.dir}/docs" />
-    <property name="build.javadoc" value="${build.docs}/api" />
-    <property name="build.javadoc.dev" value="${build.docs}/dev-api"/>
-
-    <property name="test.java.build.dir" value="${build.dir}/test"/>
-    <property name="test.java.classes" value="${test.java.build.dir}/classes"/>
-    <property name="java.server.test.dir" value="${basedir}/zookeeper-server/src/test/java"/>
-    <property name="server.test.resource.dir" value="${basedir}/zookeeper-server/src/test/resources"/>
-    <property name="jute.test.src.dir" value="${basedir}/zookeeper-jute/src/test/java" />
-    <property name="systest.src.dir" value="${basedir}/zookeeper-it/src/test/java"/>
-    <property name="bench.src.dir" value="${basedir}/zookeeper-it/src/test/bench"/>
-    <property name="test.log.dir" value="${test.java.build.dir}/logs" />
-    <property name="test.data.dir" value="${test.java.build.dir}/data" />
-    <property name="test.data.invalid.dir" value="${test.data.dir}/invalidsnap" />
-    <property name="test.data.buffersize.dir" value="${test.data.dir}/buffersize" />
-    <property name="test.data.kerberos.dir" value="${test.data.dir}/kerberos" />
-    <property name="test.data.ssl.dir" value="${test.data.dir}/ssl" />
-    <property name="test.cppunit.dir" value="${test.java.build.dir}/test-cppunit"/>
-    <property name="test.tmp.dir" value="${test.java.build.dir}/tmp" />
-    <property name="test.output" value="no" />
-    <property name="test.timeout" value="900000" />
-    <property name="test.junit.output.format" value="plain" />
-    <property name="test.junit.fork.mode" value="perTest" />
-    <property name="test.junit.threads" value="1" />
-    <property name="test.junit.printsummary" value="yes" />
-    <property name="test.junit.haltonfailure" value="no" />
-    <property name="test.junit.failbuild.ontestfailure" value="true" />
-    <property name="test.junit.maxmem" value="512m" />
-    <property name="test.quick" value="no" />
-    <property name="conf.dir" value="${basedir}/conf"/>
-    <property name="docs.dir" value="${basedir}/docs"/>
-    <property name="docs.src" value="${basedir}/zookeeper-docs"/>
-    <property name="javadoc.link.java"
-              value="http://docs.oracle.com/javase/6/docs/api/" />
-    <property name="javadoc.packages" value="org.apache.*" />
-
-    <property name="dist.dir" value="${build.dir}/${final.name}"/>
-    <property name="dist.maven.dir" value="${dist.dir}/dist-maven"/>
-
-    <property name="contrib.dir" value="${basedir}/zookeeper-contrib"/>
-    <property name="recipes.dir" value="${basedir}/zookeeper-recipes"/>
-
-    <property name="ivy.version" value="2.5.0-rc1"/>
-    <property name="ivy.url"
-              value="https://repo1.maven.org/maven2/org/apache/ivy/ivy" />
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.lib" value="${build.dir}/lib"/>
-    <property name="ivy.package.lib" value="${build.dir}/package/lib"/>
-    <property name="ivy.test.lib" value="${build.dir}/test/lib"/>
-    <property name="ivy.jdiff.lib" value="${build.dir}/jdiff/lib"/>
-    <property name="ivy.javacc.lib" value="${build.dir}/javacc/lib"/>
-    <property name="ivy.releaseaudit.lib" value="${build.dir}/releaseaudit/lib"/>
-    <property name="ivy.owasp.lib" value="${build.dir}/owasp/lib"/>
-    <property name="ivy.clover.lib" value="${build.dir}/clover/lib"/>
-    <property name="ivysettings.xml" value="${basedir}/ivysettings.xml"/>
-
-    <property name="mvnrepo" value="https://repo1.maven.org/maven2"/>
-    <property name="tsk.org" value="/org/apache/maven/maven-ant-tasks/"/>
-    <property name="ant-task.version" value="2.1.3"/>
-    <property name="ant_task_repo_url"
-        value="${mvnrepo}${tsk.org}${ant-task.version}/maven-ant-tasks-${ant-task.version}.jar"/>
-    <property name="ant_task.jar" location="${ivy.lib}/maven-ant-tasks-${ant-task.version}.jar"/>
-
-    <!-- clover property set -->
-    <property name="clover.home" location="${build.dir}/clover"/>
-    <property name="clover.jar" location="${clover.home}/lib/clover-${clover.version}.jar"/>
-    <property name="clover.dest" location="${build.dir}/clover"/>
-    <property name="clover.db.dir" location="${clover.dest}/db"/>
-    <property name="clover.report.dir" location="${clover.dest}/reports"/>
-    <property name="clover.db" location="${clover.db.dir}/zookeeper-coverage.db"/>
-
-    <available file="${c.src.dir}/Makefile" property="Makefile.present"/>
-
-    <property name="test.cobertura.output.format" value="html" />
-    <property name="coveragereport.dir" value="${build.dir}/cobertura" />
-
-        <!-- test patch properties -->
-    <property name="scratch.dir" value="${user.home}/tmp"/>
-    <property name="git.cmd" value="git"/>
-    <property name="grep.cmd" value="grep"/>
-    <property name="patch.cmd" value="patch"/>
-    <property name="make.cmd" value="make"/>
-    <property name="test_patch_sh" value="${server.test.resource.dir}/test-patch.sh"/>
-    <property name="test_pullrequest_sh" value="${server.test.resource.dir}/test-github-pr.sh"/>
-
-	<!-- jdiff.home property set -->
-    <property name="jdiff.home" value="${ivy.jdiff.lib}"/>
-    <property name="jdiff.build.dir" value="${build.docs}/jdiff"/>
-    <property name="jdiff.xml.dir" value="${lib.dir}/jdiff"/>
-    <property name="jdiff.stable" value="3.1.1"/>
-    <property name="jdiff.stable.javadoc"
-            value="http://hadoop.apache.org/zookeeper/docs/r${jdiff.stable}/api/"/>
-
-    <!-- eclipse property set -->
-    <property name="build.dir.eclipse" value=".eclipse"/>
-    <property name="build.dir.eclipse-main-classes" value="${build.dir.eclipse}/classes-main"/>
-    <property name="build.dir.eclipse-test-classes" value="${build.dir.eclipse}/classes-test"/>
-
-    <!-- cppunit property set -->
-    <property name="cppunit.lib" value="/usr/lib"/>
-    <property name="cppunit.m4" value="/usr/share/aclocal"/>
-
-    <!-- artifact publishing property set -->
-    <property name="staging_repo_id" value="apache.staging.https"/>
-    <property name="wagon-http.version" value="2.4"/>
-    <property name="snapshots_repo_id" value="apache.snapshots.https"/>
-    <property name="asfrepo" value="https://repository.apache.org"/>
-    <property name="snapshots_repo_url"
-      value="${asfrepo}/content/repositories/snapshots"/>
-    <property name="staging_repo_url"
-      value="${asfrepo}/service/local/staging/deploy/maven2"/>
-    <property name="gpg-plugin"
-      value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file"/>
-    <property name="deploy-plugin"
-      value="org.apache.maven.plugins:maven-deploy-plugin:2.8.1:deploy-file"/>
-    <property name="main-jar" value="${dist.maven.dir}/${final.name}.jar"/>
-    <property name="tests-jar" value="${dist.maven.dir}/${final.name}-tests.jar"/>
-    <property name="sources-jar" value="${dist.maven.dir}/${final.name}-sources.jar"/>
-    <property name="javadoc-jar" value="${dist.maven.dir}/${final.name}-javadoc.jar"/>
-
-
-    <property name="hamcrest.version" value="1.3"/>
-
-    <property name="jmh.version" value="1.19"/>
-
-    <!-- ====================================================== -->
-    <!-- Macro definitions                                      -->
-    <!-- ====================================================== -->
-    <macrodef name="macro_tar" description="Worker Macro for tar">
-      <attribute name="param.destfile"/>
-      <element name="param.listofitems"/>
-      <sequential>
-        <tar compression="gzip" longfile="gnu"
-             destfile="@{param.destfile}">
-          <param.listofitems/>
-        </tar>
-      </sequential>
-    </macrodef>
-
-    <path id="base.classpath">
-      <pathelement location="${build.classes}"/>
-      <!-- allow the user to override (e.g. if there are local versions) -->
-      <fileset dir="${additional.lib.dir}">
-          <include name="${additional.lib.dir.includes}" />
-          <exclude name="${additional.lib.dir.excludes}" />
-      </fileset>
-      <fileset dir="${lib.dir}">
-          <include name="${lib.dir.includes}" />
-          <exclude name="${lib.dir.excludes}" />
-      </fileset>
-      <fileset dir="${ant.home}/lib">
-          <include name="ant.jar" />
-      </fileset>
-      <fileset dir="${clover.home}/lib" erroronmissingdir="false">
-          <include name="**/*.jar" if="run.clover" />
-      </fileset>
-    </path>
-
-    <!-- the normal classpath -->
-    <path id="java.classpath">
-      <path refid="base.classpath"/>
-      <fileset dir="${ivy.lib}">
-        <include name="**/*.jar" />
-      </fileset>
-    </path>
-
-    <path id="test.java.classpath">
-      <pathelement location="${test.java.classes}" />
-      <fileset dir="${ivy.test.lib}">
-        <include name="**/*.jar" />
-      </fileset>
-      <path refid="base.classpath"/>
-    </path>
-
-    <!-- ====================================================== -->
-    <!-- Generate and compile the Java files                    -->
-    <!-- ====================================================== -->
-    <target name="init">
-        <mkdir dir="${build.classes}" />
-
-        <mkdir dir="${ivy.lib}"/>
-        <mkdir dir="${ivy.package.lib}"/>
-        <mkdir dir="${ivy.test.lib}"/>
-        <condition property="ivy.jar.exists">
-          <available file="${lib.dir}/ivy-${ivy.version}.jar"/>
-        </condition>
-
-        <tstamp>
-            <format property="build.time" pattern="MM/dd/yyyy HH:mm zz" timezone="GMT"/>
-            <format property="year" pattern="yyyy" timezone="GMT"/>
-        </tstamp>
-    </target>
-
-
-    <target name="generate_jute_parser" depends="init,ivy-retrieve,ivy-retrieve-javacc">
-      <property name="jute_javacc.dir" value="${build.dir}/jute_compiler" />
-      <property name="jute_javacc.packagedir" value="/org/apache/jute/compiler/generated" />
-      <mkdir dir="${jute_javacc.dir}${jute_javacc.packagedir}"/>
-      <!-- the javacc task expects a "javacc.jar" file... -->
-      <ivy:artifactproperty name="[artifact].revision" value="[revision]" />
-      <move file="${ivy.javacc.lib}/javacc-${javacc.revision}.jar" tofile="${ivy.javacc.lib}/javacc.jar" failonerror="false"/>
-      <javacc
-          target="${basedir}/zookeeper-jute/src/main/java${jute_javacc.packagedir}/rcc.jj"
-          outputdirectory="${jute_javacc.dir}${jute_javacc.packagedir}/"
-          javacchome="${ivy.javacc.lib}"
-          />
-    </target>
-
-    <target name="jute" depends="generate_jute_parser">
-        <javac srcdir="${jute_javacc.dir}" destdir="${build.classes}" includeantruntime="false"
-            target="${javac.target}" source="${javac.source}"
-            includes="org/apache/jute/**" debug="on" encoding="${build.encoding}" classpath="${ivy.lib}/audience-annotations-${audience-annotations.version}.jar">
-          <src path="${basedir}/zookeeper-jute/src/main/java" />
-          <src path="${jute_javacc.dir}" />
-        </javac>
-    </target>
-
-    <target name="compile_jute_uptodate">
-        <uptodate property="juteBuild.notRequired"
-                  srcfile="${jute.file}"
-                  targetfile="${src_generated.dir}/.generated"/>
-    </target>
-
-    <target name="compile_jute" depends="jute,compile_jute_uptodate" unless="juteBuild.notRequired">
-        <mkdir dir="${src_generated.dir}" />
-        <mkdir dir="${csrc_generated.dir}" />
-        <java classname="org.apache.jute.compiler.generated.Rcc" fork="true" dir="${src_generated.dir}">
-            <arg value="-l" />
-            <arg value="java" />
-            <arg value="../../../src/main/resources/zookeeper.jute" />
-            <classpath>
-                <pathelement path="${build.classes}" />
-                <pathelement path="${jute_javacc.dir}" />
-            </classpath>
-        </java>
-
-        <java classname="org.apache.jute.compiler.generated.Rcc" fork="true" dir="${csrc_generated.dir}">
-            <arg value="-l" />
-            <arg value="c" />
-            <arg value="../../../zookeeper-jute/src/main/resources/zookeeper.jute" />
-            <classpath>
-                <pathelement path="${build.classes}" />
-            </classpath>
-        </java>
-
-        <touch file="${src_generated.dir}/.generated"/>
-    </target>
-
-    <target name="ver-gen" depends="init">
-        <javac destdir="${build.classes}" includeantruntime="false"
-            target="${javac.target}" source="${javac.source}"
-            includes="org/apache/zookeeper/version/util/**" debug="on" encoding="${build.encoding}">
-            <src path="${java.server.src.dir}" />
-        </javac>
-    </target>
-
-    <target name="git-revision" unless="lastRevision">
-        <mkdir dir="${revision.dir}" />
-        <condition property="shell.name" value="cmd" else="sh">
-      	    <os family="windows"/>
-        </condition>
-        <condition property="revision.cmd.line"
-        	value="/c ${java.server.resources.dir}\lastRevision.bat" else="${java.server.resources.dir}/lastRevision.sh">
-      	    <os family="windows"/>
-        </condition>
-        <exec executable="${shell.name}">
-           <arg line="${revision.cmd.line} ${revision.dir}${file.separator}${revision.properties}"/>
-        </exec>
-        <property file="${revision.dir}/${revision.properties}" />
-    </target>
-
-    <target name="version-info" depends="ver-gen,git-revision">
-        <mkdir dir="${src_generated.dir}" />
-        <java classname="org.apache.zookeeper.version.util.VerGen" fork="true"
-                dir="${src_generated.dir}">
-            <arg value="${version}" />
-            <arg value="${lastRevision}" />
-            <arg value="${build.time}" />
-            <arg value="${src_version_generated.dir}" />
-            <classpath>
-                <pathelement path="${build.classes}" />
-            </classpath>
-        </java>
-    </target>
-
-    <target name="build-generated" depends="compile_jute,version-info,process-template,ivy-retrieve" >
-        <javac srcdir="${src_generated.dir}" destdir="${build.classes}" includeantruntime="false"
-            target="${javac.target}" source="${javac.source}" debug="on" encoding="${build.encoding}" classpath="${ivy.lib}/audience-annotations-${audience-annotations.version}.jar" />
-    </target>
-
-    <target name="ivy-download" unless="ivy.jar.exists" depends="init">
-      <delete dir="${lib.dir}"
-              includes="ivy-*.jar" excludes="ivy-${ivy.version}.jar"/>
-      <get src="${ivy.url}/${ivy.version}/ivy-${ivy.version}.jar"
-           dest="${lib.dir}/ivy-${ivy.version}.jar" usetimestamp="true"/>
-    </target>
-
-    <target name="ivy-taskdef" unless="ivy.initialized">
-      <taskdef resource="org/apache/ivy/ant/antlib.xml"
-               uri="antlib:org.apache.ivy.ant" classpathref="java.classpath"/>
-      <!-- ensure that ivy taskdef is only run once, otw ant will error -->
-      <property name="ivy.initialized" value="true"/>
-    </target>
-
-    <target name="ivy-init" depends="ivy-download,ivy-taskdef">
-      <ivy:settings id="${ant.project.name}" file="${ivysettings.xml}"/>
-    </target>
-
-    <target name="ivy-retrieve" depends="init,ivy-init">
-      <ivy:retrieve settingsRef="${ant.project.name}" conf="default"
-                    pattern="${ivy.lib}/[artifact]-[revision].[ext]"/>
-    </target>
-
-    <target name="ivy-retrieve-test" depends="init,ivy-init">
-      <ivy:retrieve settingsRef="${ant.project.name}" conf="test"
-                    pattern="${ivy.test.lib}/[artifact]-[revision].[ext]"/>
-    </target>
-
-    <target name="ivy-retrieve-package" depends="init,ivy-init">
-      <ivy:retrieve settingsRef="${ant.project.name}" conf="package"
-                    pattern="${ivy.package.lib}/[artifact]-[revision].[ext]"/>
-    </target>
-
-    <target name="ivy-retrieve-jdiff" depends="init,ivy-init">
-      <mkdir dir="${ivy.jdiff.lib}"/>
-      <ivy:retrieve settingsRef="${ant.project.name}" conf="jdiff"
-                    pattern="${ivy.jdiff.lib}/[artifact]-[revision].[ext]"/>
-    </target>
-
-     <target name="ivy-retrieve-javacc" depends="init,ivy-init">
-      <mkdir dir="${ivy.javacc.lib}"/>
-      <ivy:retrieve settingsRef="${ant.project.name}" conf="javacc"
-                    pattern="${ivy.javacc.lib}/[artifact]-[revision].[ext]"/>
-    </target>
-
-    <target name="ivy-retrieve-releaseaudit" depends="init,ivy-init">
-      <ivy:retrieve settingsRef="${ant.project.name}" conf="releaseaudit"
-                    pattern="${ivy.releaseaudit.lib}/[artifact]-[revision].[ext]"/>
-      <ivy:cachepath pathid="releaseaudit-classpath" conf="releaseaudit"/>
-    </target>
-
-    <target name="ivy-retrieve-owasp" depends="init,ivy-init">
-        <ivy:retrieve settingsRef="${ant.project.name}" conf="owasp"
-                      pattern="${ivy.owasp.lib}/[artifact]-[revision].[ext]"/>
-        <ivy:cachepath pathid="owasp-classpath" conf="owasp"/>
-    </target>
-
-    <target name="ivy-retrieve-clover" if="run.clover" depends="init,ivy-init">
-        <ivy:retrieve settingsRef="${ant.project.name}" conf="clover"
-                      pattern="${ivy.clover.lib}/[artifact]-[revision].[ext]"/>
-        <ivy:cachepath pathid="clover-classpath" conf="clover"/>
-    </target>
-
-    <target name="dependency-report" depends="init,ivy-init">
-        <ivy:resolve conf="*"/>
-        <ivy:report conf="*" todir="${build.dir}/dependency-report"/>
-    </target>
-
-    <target name="process-template">
-      <copy todir="${c.src.dir}" verbose="true" overwrite="true" failonerror="true">
-        <fileset dir="${c.src.dir}">
-          <include name="configure.ac.in"/>
-          <include name="include/zookeeper_version.h.in"/>
-        </fileset>
-        <mapper>
-          <globmapper from="*.in" to="*"/>
-        </mapper>
-        <filterchain>
-          <striplinecomments>
-	     <comment value="!" />
-	  </striplinecomments>
-          <expandproperties />
-        </filterchain>
-      </copy>
-    </target>
-
-    <target name="ivy-retrieve-mvn-ant-task" depends="init,ivy-init">
-      <ivy:retrieve settingsRef="${ant.project.name}" conf="mvn-ant-task"
-                    pattern="${ivy.lib}/[artifact]-[revision].[ext]"/>
-      <ivy:cachepath pathid="mvn-ant-task-classpath" conf="mvn-ant-task"/>
-    </target>
-
-    <target name="compile" depends="ivy-retrieve,clover,build-generated">
-        <javac destdir="${build.classes}" includeantruntime="false"
-               target="${javac.target}" source="${javac.source}" debug="on" encoding="${build.encoding}">
-            <src path="${java.server.src.dir}"/>
-            <src path="${jute.src.dir}"/>
-            <src path="${src_version_generated.dir}"/>
-            <classpath refid="java.classpath"/>
-            <compilerarg value="-Xlint:all"/>
-            <compilerarg value="-Xlint:-path"/>
-        </javac>
-    </target>
-
-    <target name="compile-test" depends="ivy-retrieve-test,compile">
-      <mkdir dir="${test.java.classes}"/>
-      <javac destdir="${test.java.classes}" includeantruntime="false"
-             target="${javac.target}" source="${javac.source}" debug="on" encoding="${build.encoding}">
-          <src path="${java.server.test.dir}"/>
-        <src path="${jute.test.src.dir}"/>
-        <classpath refid="test.java.classpath"/>
-      </javac>
-      <javac srcdir="${systest.src.dir}" destdir="${test.java.classes}" includeantruntime="false"
-             target="${javac.target}" source="${javac.source}" debug="on" encoding="${build.encoding}">
-        <classpath refid="test.java.classpath"/>
-      </javac>
-      <javac srcdir="${bench.src.dir}" destdir="${test.java.classes}" includeantruntime="false"
-             target="${javac.target}" source="${javac.source}" debug="on" encoding="${build.encoding}">
-          <classpath refid="test.java.classpath"/>
-      </javac>
-    </target>
-
-    <target name="compile-native" depends="compile_jute" description="Make C binding">
-      <exec executable="autoreconf" dir="${c.src.dir}" searchpath="yes"
-            failonerror="yes">
-        <arg value="-if"/>
-        <env key="ACLOCAL" value="aclocal -I ${cppunit.m4}"/>
-      </exec>
-      <mkdir dir="${build.dir}/c" />
-      <condition property="enable.gcov.arg" value="--enable-gcov" else="">
-        <equals arg1="${enable.gcov}" arg2="true"/>
-      </condition>
-      <exec executable="${c.src.dir}/configure" dir="${build.dir}/c"
-            failonerror="yes">
-        <env key="base_dir" value="${basedir}"/>
-        <env key="CALLER" value="ANT"/>
-        <arg value="--prefix=${build.dir}/c/build/${package.prefix}"/>
-        <arg line="${enable.gcov.arg}"/>
-      </exec>
-      <property name="c.build" value="${build.dir}/c/build"/>
-      <exec dir="${build.dir}/c" executable="make" failonerror="true">
-        <arg value="install"/>
-        <env key="LD_LIBRARY_PATH" value="${env.LD_LIBRARY_PATH};${c.build}"/>
-        <env key="PATH" path="${env.PATH};${c.src.dir};"/>
-        <env key="CALLER" value="ANT"/>
-        <env key="base_dir" value="${basedir}"/>
-      </exec>
-    </target>
-
-    <!-- ====================================================== -->
-    <!-- Documentation                                          -->
-    <!-- ====================================================== -->
-    <!-- Javadoc -->
-    <target name="javadoc-dev" depends="jar"
-            description="Generate javadoc for zookeeper developers">
-      <mkdir dir="${build.javadoc.dev}"/>
-      <javadoc
-         overview="${java.server.resources.dir}/overview.html"
-         packagenames="org.apache.zookeeper.*"
-         destdir="${build.javadoc.dev}"
-         author="true"
-         version="true"
-         use="true"
-         windowtitle="${Name} ${version} API"
-         doctitle="${Name} ${version} API"
-         bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
-         >
-    	<packageset dir="${java.server.src.dir}">
-          <include name="org/apache/**"/>
-          <exclude name="org/apache/jute/**"/>
-    	</packageset>
-    	<packageset dir="${src_generated.dir}"/>
-        <link href="${javadoc.link.java}"/>
-        <classpath refid="java.classpath"/>
-      </javadoc>
-    </target>
-
-    <target name="javadoc" depends="jar" description="Generate javadoc">
-      <mkdir dir="${build.javadoc}"/>
-      <javadoc
-         overview="${java.server.resources.dir}/overview.html"
-         packagenames="org.apache.zookeeper.*"
-         destdir="${build.javadoc}"
-         author="true"
-         version="true"
-         use="true"
-         Public="yes"
-         windowtitle="${Name} ${version} API"
-         doctitle="${Name} ${version} API"
-         bottom="Copyright &amp;copy; ${year} The Apache Software Foundation"
-         doclet="org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet"
-         docletpath="${ivy.lib}/audience-annotations-${audience-annotations.version}.jar"
-         >
-
-        <fileset dir="${java.server.src.dir}">
-          <include name="org/apache/zookeeper/server/quorum/QuorumPeerMain.java"/>
-          <include name="org/apache/zookeeper/server/ZooKeeperServerMain.java"/>
-          <include name="org/apache/zookeeper/server/LogFormatter.java"/>
-          <include name="org/apache/zookeeper/server/PurgeTxnLog.java"/>
-          <include name="org/apache/zookeeper/server/SnapshotFormatter.java"/>
-        </fileset>
-    	<packageset dir="${java.server.src.dir}">
-          <include name="org/apache/**"/>
-          <exclude name="org/apache/zookeeper/server/**"/>
-    	</packageset>
-        <packageset dir="${jute.src.dir}">
-          <include name="org/apache/**"/>
-        </packageset>
-    	<packageset dir="${src_generated.dir}">
-          <include name="org/apache/**"/>
-          <exclude name="org/apache/zookeeper/proto"/>
-          <exclude name="org/apache/zookeeper/txn"/>
-          <exclude name="org/apache/zookeeper/version"/>
-          <exclude name="org/apache/zookeeper/server/**"/>
-    	</packageset>
-        <link href="${javadoc.link.java}"/>
-        <classpath>
-		<fileset dir="${basedir}">
-			<include name="${jar.name}"/>
-		</fileset>
-        <path refid="java.classpath"/>
-	</classpath>
-      </javadoc>
-    </target>
-
-    <!-- ====================================================== -->
-    <!-- Make zookeeper.jar                                     -->
-    <!-- ====================================================== -->
-
-
-    <target name="jar" depends="compile">
-        <java classname="org.apache.zookeeper.Version" fork="true"
-              outputproperty="revision" errorproperty="revision.error" failonerror="true">
-            <arg value="--revision" />
-            <classpath>
-                <pathelement path="${build.classes}" />
-                <pathelement path="${clover.jar}" />
-            </classpath>
-        </java>
-        <exec executable="hostname" outputproperty="host.name"/>
-
-    	<!-- Ensure that OSGi versions order properly whatever suffix is used by -->
-    	<!-- using DEV and REL at the start of the qualifier. DEV versions also -->
-    	<!-- use a timestamp to ensure later snapshots have higher versions -->
-	    <condition property="version-osgi"
-		       value="${version-base}.DEV-${DSTAMP}-${TSTAMP}-${version-suffix}"
-		       else="${version-base}.REL-${version-suffix}">
-	        <contains string="${version-suffix}" substring="SNAPSHOT" />
-	    </condition>
-
-    	<jar jarfile="${build.dir}/${final.name}.jar">
-            <fileset file="LICENSE.txt" />
-            <fileset dir="${build.classes}" excludes="**/.generated"/>
-            <fileset dir="${java.server.src.dir}"/>
-            <fileset dir="${jute.src.dir}"/>
-            <fileset dir="${src_generated.dir}" excludes="**/.generated"/>
-            <manifest>
-                <attribute name="Main-Class" value="org.apache.zookeeper.server.quorum.QuorumPeerMain" />
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Built-At" value="${build.time}"/>
-                <attribute name="Built-On" value="${host.name}" />
-                <attribute name="Implementation-Title" value="org.apache.zookeeper"/>
-                <attribute name="Implementation-Version" value="${revision}"/>
-                <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
-
-            	<!-- The following are OSGi manifest headers -->
-            	<!-- currently hardcoded, when things get more complicated we could use BND
-            	http://www.aqute.biz/Code/Bnd to generate them -->
-                <attribute name="Bundle-Vendor" value="The Apache Software Foundation"/>
-                <attribute name="Bundle-Name" value="ZooKeeper Bundle"/>
-                <attribute name="Bundle-SymbolicName" value="org.apache.hadoop.zookeeper"/>
-                <attribute name="Bundle-ManifestVersion" value="2"/>
-                <attribute name="Bundle-Version" value="${version-osgi}"/>
-                <attribute name="Bundle-License" value="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
-                <attribute name="Bundle-DocURL" value="http://hadoop.apache.org/zookeeper"/>
-                <attribute name="Import-Package" value='javax.management;resolution:=optional,javax.security.auth.callback,javax.security.auth.login,javax.security.sasl,org.slf4j;version="[1.6,2)",org.jboss.netty.buffer;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel.group;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel.socket.nio;resolution:=optional;version="[3.2,4)",org.osgi.framework;resolution:=optional;version="[1.5,2)",org.osgi.util.tracker;resolution:=optional;version="[1.4,2)",org.ietf.jgss'/>
-                <attribute name="Export-Package" value='org.apache.zookeeper;version="${version-osgi}",org.apache.zookeeper.client;version="${version-osgi}",org.apache.zookeeper.data;version="${version-osgi}",org.apache.zookeeper.version;version="${version-osgi}",org.apache.zookeeper.server;version="${version-osgi}",org.apache.zookeeper.server.auth;version="${version-osgi}",org.apache.zookeeper.server.persistence;version="${version-osgi}",org.apache.zookeeper.server.quorum;version="${version-osgi}",org.apache.zookeeper.common;version="${version-osgi}"'/>
-            </manifest>
-        </jar>
-    </target>
-
-    <!-- ====================================================== -->
-    <!-- Make zookeeper-bin.jar                                 -->
-    <!-- ====================================================== -->
-    <target name="bin-jar" depends="compile">
-        <java classname="org.apache.zookeeper.Version" fork="true"
-              outputproperty="revision" failonerror="true">
-            <arg value="--revision" />
-            <classpath>
-                <pathelement path="${build.classes}" />
-                <pathelement path="${clover.jar}" />
-            </classpath>
-        </java>
-        <exec executable="hostname" outputproperty="host.name"/>
-        <jar jarfile="${build.dir}/${final.name}-bin.jar">
-            <fileset file="LICENSE.txt" />
-            <fileset dir="${build.classes}" excludes="**/.generated"/>
-            <manifest>
-                <attribute name="Main-Class" value="org.apache.zookeeper.server.quorum.QuorumPeerMain" />
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Built-At" value="${build.time}"/>
-                <attribute name="Built-On" value="${host.name}" />
-                <attribute name="Implementation-Title" value="org.apache.zookeeper"/>
-                <attribute name="Implementation-Version" value="${revision}"/>
-                <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
-
-            	<!-- The following are OSGi manifest headers -->
-            	<!-- currently hardcoded, when things get more complicated we could use BND
-            	http://www.aqute.biz/Code/Bnd to generate them -->
-                <attribute name="Bundle-Vendor" value="The Apache Software Foundation"/>
-                <attribute name="Bundle-Name" value="ZooKeeper Bundle"/>
-                <attribute name="Bundle-SymbolicName" value="org.apache.hadoop.zookeeper"/>
-                <attribute name="Bundle-ManifestVersion" value="2"/>
-                <attribute name="Bundle-Version" value="${version}"/>
-                <attribute name="Bundle-License" value="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
-                <attribute name="Bundle-DocURL" value="http://hadoop.apache.org/zookeeper"/>
-                <attribute name="Import-Package" value='javax.management;resolution:=optional,javax.security.auth.callback,javax.security.auth.login,javax.security.sasl,org.slf4j;version="[1.6,2)",org.jboss.netty.buffer;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel.group;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel.socket.nio;resolution:=optional;version="[3.2,4)",org.osgi.framework;resolution:=optional;version="[1.5,2)",org.osgi.util.tracker;resolution:=optional;version="[1.4,2)",org.ietf.jgss'/>
-                <attribute name="Export-Package" value='org.apache.zookeeper;version="${version}",org.apache.zookeeper.client;version="${version}",org.apache.zookeeper.data;version="${version}",org.apache.zookeeper.version;version="${version}",org.apache.zookeeper.server;version="${version}",org.apache.zookeeper.server.auth;version="${version}",org.apache.zookeeper.server.persistence;version="${version}",org.apache.zookeeper.server.quorum;version="${version}",org.apache.zookeeper.common;version="${version}"'/>
-            </manifest>
-        </jar>
-    </target>
-
-	<!-- ====================================================== -->
-    <!-- Make zookeeper-sources.jar                                 -->
-    <!-- ====================================================== -->
-    <target name="src-jar" depends="build-generated">
-        <jar jarfile="${build.dir}/${final.name}-sources.jar">
-            <fileset file="LICENSE.txt" />
-            <fileset dir="${java.server.src.dir}"/>
-            <fileset dir="${jute.src.dir}"/>
-            <fileset dir="${src_generated.dir}" excludes="**/.generated"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Built-At" value="${build.time}"/>
-                <attribute name="Built-On" value="${host.name}" />
-                <attribute name="Implementation-Title" value="org.apache.zookeeper"/>
-                <attribute name="Implementation-Version" value="${revision}"/>
-                <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
-            </manifest>
-        </jar>
-    </target>
-
-	<!-- ====================================================== -->
-    <!-- Make zookeeper-javadoc.jar                                 -->
-    <!-- ====================================================== -->
-    <target name="javadoc-jar" depends="javadoc">
-        <jar jarfile="${build.dir}/${final.name}-javadoc.jar">
-            <fileset file="LICENSE.txt" />
-            <fileset dir="${build.javadoc}"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Built-At" value="${build.time}"/>
-                <attribute name="Built-On" value="${host.name}" />
-                <attribute name="Implementation-Title" value="org.apache.zookeeper"/>
-                <attribute name="Implementation-Version" value="${revision}"/>
-                <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
-            </manifest>
-        </jar>
-    </target>
-
-    <!-- ====================================================== -->
-    <!-- Make zookeeper-test.jar                                -->
-    <!-- ====================================================== -->
-    <target name="test-jar" depends="compile-test">
-        <jar jarfile="${build.dir}/${final.name}-test.jar">
-            <fileset file="LICENSE.txt" />
-            <fileset dir="${test.java.classes}"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Built-At" value="${build.time}"/>
-                <attribute name="Built-On" value="${host.name}" />
-                <attribute name="Implementation-Title" value="org.apache.zookeeper"/>
-                <attribute name="Implementation-Version" value="${revision}"/>
-                <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
-            </manifest>
-        </jar>
-    </target>
-
-	<!-- ================================================================== -->
-    <!-- D I S T R I B U T I O N                                            -->
-    <!-- ================================================================== -->
-    <!--                                                                    -->
-    <!-- ================================================================== -->
-    <target name="package"
-            depends="jar,bin-jar,src-jar,javadoc-jar,test-jar,api-report,create-cppunit-configure,compile-test"
-            description="Build distribution">
-      <mkdir dir="${dist.dir}"/>
-      <mkdir dir="${dist.dir}/lib"/>
-      <mkdir dir="${dist.dir}/bin"/>
-
-      <copy todir="${dist.dir}/lib" includeEmptyDirs="false">
-        <fileset dir="${lib.dir}">
-          <exclude name="**/ivy*.jar" />
-        </fileset>
-        <fileset dir="${ivy.lib}">
-          <exclude name="**/jsr305*.jar" />
-          <exclude name="**/spotbugs-annotations*.jar" />
-        </fileset>
-      </copy>
-
-      <subant target="package">
-        <!--Pass down the version in case its needed again and the target
-            distribution directory so contribs know where to install to.-->
-        <property name="version" value="${version}"/>
-        <property name="dist.dir" value="${dist.dir}"/>
-        <property name="package.share" value=""/>
-        <fileset file="${contrib.dir}/build.xml"/>
-        <fileset file="${recipes.dir}/build.xml"/>
-      </subant>
-
-      <copy todir="${dist.dir}">
-        <fileset file="${build.dir}/${final.name}.jar"/>
-      </copy>
-
-      <checksum file="${dist.dir}/${final.name}.jar" algorithm="md5"/>
-      <checksum file="${dist.dir}/${final.name}.jar" algorithm="sha1"/>
-
-      <mkdir dir="${dist.maven.dir}"/>
-
-      <copy file="${build.dir}/${final.name}-bin.jar"
-            tofile="${dist.maven.dir}/${final.name}.jar"/>
-      <copy todir="${dist.maven.dir}">
-        <fileset file="${build.dir}/${final.name}-sources.jar"/>
-        <fileset file="${build.dir}/${final.name}-javadoc.jar"/>
-      </copy>
-
-      <checksum file="${dist.maven.dir}/${final.name}.jar" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${final.name}.jar" algorithm="sha1"/>
-      <checksum file="${dist.maven.dir}/${final.name}-sources.jar" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${final.name}-sources.jar" algorithm="sha1"/>
-      <checksum file="${dist.maven.dir}/${final.name}-javadoc.jar" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${final.name}-javadoc.jar" algorithm="sha1"/>
-
-      <ivy:makepom settingsRef="${ant.project.name}" ivyfile="${basedir}/ivy.xml"
-                   pomfile="${dist.maven.dir}/${final.name}.pom"
-                   templatefile="${java.server.resources.dir}/pom.template" conf="default,test" >
-        <mapping conf="default" scope="compile"/>
-        <mapping conf="test" scope="test"/>
-      </ivy:makepom>
-      <checksum file="${dist.maven.dir}/${final.name}.pom" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${final.name}.pom" algorithm="sha1"/>
-
-      <copy file="${build.dir}/${final.name}-test.jar"
-            tofile="${dist.maven.dir}/${final.name}-tests.jar"/>
-      <checksum file="${dist.maven.dir}/${final.name}-tests.jar" algorithm="sha1"/>
-      <checksum file="${dist.maven.dir}/${final.name}-tests.jar" algorithm="md5"/>
-
-      <copy todir="${dist.dir}/bin">
-        <fileset dir="bin"/>
-      </copy>
-
-      <copy todir="${dist.dir}/conf">
-        <fileset dir="${conf.dir}" excludes="**/*.template"/>
-      </copy>
-
-      <copy todir="${dist.dir}/zookeeper-docs">
-          <fileset dir="zookeeper-docs/src/main/resources/markdown/" includes="**">
-              <exclude name="html/**" />
-          </fileset>
-          <fileset dir="${build.docs}"/>
-      </copy>
-
-      <copy todir="${dist.dir}">
-        <fileset file="CHANGES.txt"/>
-        <fileset file="README.md"/>
-        <fileset file="README_packaging.md"/>
-        <fileset file="build.xml"/>
-        <fileset file="ivy.xml"/>
-        <fileset file="ivysettings.xml"/>
-        <fileset file="${java.server.resources.dir}/NOTICE.txt"/>
-        <fileset file="${java.server.resources.dir}/LICENSE.txt"/>
-        <fileset file="pom.xml"/>
-      </copy>
-
-      <copy todir="${dist.dir}" includeEmptyDirs="true">
-        <fileset dir="${basedir}" excludes="**/*.template **/docs/build/**/* **/ivy*.jar">
-          <include name="zookeeper-assembly/**"/>
-          <include name="zookeeper-recipes/**"/>
-          <include name="zookeeper-docs/**"/>
-          <include name="zookeeper-contrib/**"/>
-          <include name="zookeeper-client/**"/>
-          <include name="zookeeper-jute/**"/>
-          <include name="zookeeper-server/**"/>
-          <include name="zookeeper-it/**"/>
-        </fileset>
-      </copy>
-
-      <copy todir="${dist.dir}/zookeeper-server/src/main/resources">
-        <fileset file="${java.server.resources.dir}/pom.template"/>
-      </copy>
-
-      <chmod perm="ugo+x" type="file" parallel="false">
-        <fileset dir="${dist.dir}/bin"/>
-        <fileset dir="${dist.dir}/zookeeper-contrib/">
-          <include name="*/bin/*" />
-        </fileset>
-      </chmod>
-    </target>
-
-    <target name="bin-package"
-            depends="jar,bin-jar,src-jar,javadoc-jar,test-jar,api-report,create-cppunit-configure,compile-test"
-            description="Build binary distribution">
-      <delete dir="${dist.dir}"/>
-      <mkdir dir="${dist.dir}"/>
-      <mkdir dir="${dist.dir}/lib"/>
-      <mkdir dir="${dist.dir}/libexec"/>
-      <mkdir dir="${dist.dir}/share/zookeeper/contrib"/>
-      <mkdir dir="${dist.dir}/share/zookeeper/recipes"/>
-      <mkdir dir="${dist.dir}/bin"/>
-      <mkdir dir="${dist.dir}/share/zookeeper/templates/conf"/>
-      <mkdir dir="${dist.dir}/sbin"/>
-
-      <copy todir="${dist.dir}/share/zookeeper" includeEmptyDirs="false">
-        <fileset dir="${lib.dir}">
-          <exclude name="**/ivy*.jar" />
-        </fileset>
-        <fileset dir="${ivy.lib}"/>
-      </copy>
-
-      <subant target="package">
-        <!--Pass down the version in case its needed again and the target
-            distribution directory so contribs know where to install to.-->
-        <property name="version" value="${version}"/>
-        <property name="dist.dir" value="${dist.dir}"/>
-        <property name="package.share" value="/share/zookeeper"/>
-        <fileset file="${contrib.dir}/build.xml"/>
-        <fileset file="${recipes.dir}/build.xml"/>
-      </subant>
-
-      <copy todir="${dist.dir}/share/zookeeper">
-        <fileset file="${build.dir}/${final.name}.jar"/>
-      </copy>
-
-      <checksum file="${dist.dir}/share/zookeeper/${final.name}.jar" algorithm="md5"/>
-      <checksum file="${dist.dir}/share/zookeeper/${final.name}.jar" algorithm="sha1"/>
-
-      <mkdir dir="${dist.maven.dir}"/>
-
-      <copy file="${build.dir}/${final.name}-bin.jar"
-            tofile="${dist.maven.dir}/${final.name}.jar"/>
-      <copy todir="${dist.maven.dir}">
-        <fileset file="${build.dir}/${final.name}-sources.jar"/>
-        <fileset file="${build.dir}/${final.name}-javadoc.jar"/>
-      </copy>
-
-      <checksum file="${dist.maven.dir}/${final.name}.jar" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${final.name}.jar" algorithm="sha1"/>
-      <checksum file="${dist.maven.dir}/${final.name}-sources.jar" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${final.name}-sources.jar" algorithm="sha1"/>
-      <checksum file="${dist.maven.dir}/${final.name}-javadoc.jar" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${final.name}-javadoc.jar" algorithm="sha1"/>
-
-      <ivy:makepom settingsRef="${ant.project.name}" ivyfile="${basedir}/ivy.xml"
-                   pomfile="${dist.maven.dir}/${name}.pom"
-                   templatefile="${java.server.resources.dir}/pom.template">
-        <mapping conf="default" scope="compile"/>
-        <mapping conf="test" scope="test"/>
-      </ivy:makepom>
-      <checksum file="${dist.maven.dir}/${name}.pom" algorithm="md5"/>
-      <checksum file="${dist.maven.dir}/${name}.pom" algorithm="sha1"/>
-
-
-      <copy file="${build.dir}/${final.name}-test.jar"
-            tofile="${dist.maven.dir}/${final.name}-tests.jar"/>
-      <checksum file="${dist.maven.dir}/${final.name}-tests.jar" algorithm="sha1"/>
-      <checksum file="${dist.maven.dir}/${final.name}-tests.jar" algorithm="md5"/>
-
-
-      <copy todir="${dist.dir}/bin">
-        <fileset dir="bin" includes="zkCli*"/>
-      </copy>
-
-      <copy todir="${dist.dir}/libexec">
-        <fileset dir="bin" includes="zkEnv*"/>
-      </copy>
-
-      <copy todir="${dist.dir}/sbin">
-        <fileset dir="bin" includes="zkServer*"/>
-      </copy>
-
-      <copy todir="${dist.dir}/conf">
-        <fileset dir="${conf.dir}" excludes="**/*.template"/>
-      </copy>
-
-      <copy todir="${dist.dir}/docs">
-          <fileset dir="zookeeper-docs/src/main/resources/markdown/" includes="**">
-              <exclude name="html/**" />
-          </fileset>
-          <fileset dir="${build.docs}" />
-      </copy>
-
-      <copy todir="${dist.dir}">
-        <fileset file="CHANGES.txt"/>
-        <fileset file="README.md"/>
-        <fileset file="README_packaging.md"/>
-        <fileset file="build.xml"/>
-        <fileset file="ivy.xml"/>
-        <fileset file="ivysettings.xml"/>
-        <fileset file="${java.server.resources.dir}/NOTICE.txt"/>
-        <fileset file="${java.server.resources.dir}/LICENSE.txt"/>
-      </copy>
-
-      <copy todir="${dist.dir}" includeEmptyDirs="true">
-        <fileset dir="${basedir}" excludes="**/*.template **/docs/build/**/* **/ivy*.jar">
-          <include name="zookeeper-assembly/**"/>
-          <include name="zookeeper-recipes/**"/>
-          <include name="zookeeper-docs/**"/>
-          <include name="zookeeper-contrib/**"/>
-          <include name="zookeeper-client/**"/>
-          <include name="zookeeper-jute/**"/>
-          <include name="zookeeper-server/**"/>
-          <include name="zookeeper-it/**"/>
-        </fileset>
-      </copy>
-
-      <copy todir="${dist.dir}/zookeeper-server/src/main/resources">
-        <fileset file="${java.server.resources.dir}/pom.template"/>
-      </copy>
-
-      <chmod perm="ugo+x" type="file" parallel="false">
-        <fileset dir="${dist.dir}/bin"/>
-        <fileset dir="${dist.dir}/sbin"/>
-        <fileset dir="${dist.dir}/zookeeper-contrib/">
-          <include name="**/*.sh" />
-          <include name="**/*.py" />
-        </fileset>
-      </chmod>
-    </target>
-
-    <!-- ================================================================== -->
-    <!-- Make release tarball                                               -->
-    <!-- ================================================================== -->
-    <target name="tar" depends="package" description="Make release tarball">
-      <macro_tar param.destfile="${build.dir}/${final.name}.tar.gz">
-        <param.listofitems>
-          <!-- it's unfortunate that the binaries have to be duplicated
-               however that's the only way ant currently supports afaik -->
-          <tarfileset dir="${build.dir}" mode="664">
-            <exclude name="${final.name}/bin/*" />
-            <exclude name="${final.name}/zookeeper-contrib/*/bin/*" />
-
-            <exclude name="${final.name}/**/compile" />
-            <exclude name="${final.name}/**/config.guess" />
-            <exclude name="${final.name}/**/config.sub" />
-            <exclude name="${final.name}/**/configure" />
-            <exclude name="${final.name}/**/depcomp" />
-            <exclude name="${final.name}/**/install-sh" />
-            <exclude name="${final.name}/**/ltmain.sh" />
-            <exclude name="${final.name}/**/missing" />
-
-            <exclude name="${final.name}/**/*.sh" />
-
-            <include name="${final.name}/**" />
-          </tarfileset>
-          <tarfileset dir="${build.dir}" mode="755">
-            <!-- be sure to add to exclude list above if you add here -->
-            <include name="${final.name}/bin/*" />
-            <include name="${final.name}/zookeeper-contrib/*/bin/*" />
-
-            <!-- autotools related commands -->
-            <include name="${final.name}/**/compile" />
-            <include name="${final.name}/**/config.guess" />
-            <include name="${final.name}/**/config.sub" />
-            <include name="${final.name}/**/configure" />
-            <include name="${final.name}/**/depcomp" />
-            <include name="${final.name}/**/install-sh" />
-            <include name="${final.name}/**/ltmain.sh" />
-            <include name="${final.name}/**/missing" />
-
-            <!-- any shell scripts -->
-            <include name="${final.name}/**/*.sh" />
-          </tarfileset>
-        </param.listofitems>
-      </macro_tar>
-    </target>
-
-    <target name="binary" depends="bin-package"
-            description="Make tarball without source and documentation">
-      <macro_tar param.destfile="${build.dir}/${final.name}-bin.tar.gz">
-        <param.listofitems>
-          <tarfileset dir="${build.dir}" mode="664">
-            <include name="${final.name}/zookeeper-client/zookeeper-client-c/**" />
-            <exclude name="${final.name}/zookeeper-client/zookeeper-client-c/generated/**" />
-          </tarfileset>
-          <tarfileset dir="${build.dir}" mode="664">
-            <exclude name="${final.name}/bin/*" />
-            <exclude name="${final.name}/src/**" />
-            <exclude name="${final.name}/docs/**" />
-            <include name="${final.name}/**" />
-          </tarfileset>
-          <tarfileset dir="${build.dir}" mode="755">
-            <include name="${final.name}/bin/*" />
-          </tarfileset>
-        </param.listofitems>
-      </macro_tar>
-    </target>
-
-    <target name="package-native" depends="compile-native, bin-package" description="Make C binding tarball">
-      <!-- For Unix platforms only, use OS native tar to preserve symlinks -->
-      <exec executable="tar" dir="${build.dir}/c/build">
-        <arg value="cfzv" />
-        <arg value="${build.dir}/${final.name}-lib.tar.gz" />
-        <arg value="." />
-      </exec>
-      <subant target="package">
-        <!--Pass down the version in case its needed again and the target
-            distribution directory so contribs know where to install to.-->
-        <property name="version" value="${version}"/>
-        <property name="dist.dir" value="${dist.dir}"/>
-        <fileset file="${contrib.dir}/build.xml"/>
-        <fileset file="${recipes.dir}/build.xml"/>
-      </subant>
-    </target>
-
-    <!-- ====================================================== -->
-    <!-- mvn-deploy. Publishing jars to nexus -->
-    <!-- ====================================================== -->
-
-    <macrodef name="deploy" description="macro definition for publishing artifacts to nexus snapshots">
-      <attribute name="jars" default="${tests-jar},${sources-jar},${javadoc-jar}"/>
-      <attribute name="maven-jar" default="${main-jar}"/>
-      <attribute name="repo-url" default="${snapshots_repo_url}"/>
-      <attribute name="repo-id" default="${snapshots_repo_id}"/>
-      <attribute name="profile" default="-P!gpg"/>
-      <attribute name="plugin" default="${deploy-plugin}"/>
-      <attribute name="attachas" default="tests,sources,javadoc"/>
-      <sequential>
-	<artifact:mvn>
-	  <arg value="@{plugin}"/>
-	  <arg value="-Durl=@{repo-url}"/>
-	  <arg value="-DrepositoryId=@{repo-id}"/>
-	  <arg value="-Dfiles=@{jars}"/>
-	  <arg value="-Dfile=@{maven-jar}"/>
-	  <arg value="-Dpackaging=jar"/>
-	  <arg value="-DpomFile=${dist.maven.dir}/${name}.pom"/>
-	  <arg value="-Dclassifiers=@{attachas}"/>
-	  <arg value="-Dtype=jar"/>
-	  <arg value="-Dtypes=jar,jar,jar"/>
-	  <arg value="@{profile}"/>
-	</artifact:mvn>
-      </sequential>
-    </macrodef>
-
-    <target name="mvn-deploy" depends="mvn-taskdef, bin-package, simpledeploy, signanddeploy"
-     description="To deploy jar's to a maven repository"/>
-
-    <target name="signanddeploy" if="staging">
-      <deploy repo-url="${staging_repo_url}" repo-id="${staging_repo_id}" plugin="${gpg-plugin}" profile="-Pgpg"/>
-    </target>
-
-    <target name="simpledeploy" unless="staging">
-      <deploy plugin="${deploy-plugin}"/>
-    </target>
-
-    <!-- ====================================================== -->
-    <!-- mvn-install. Installing the jar and pom file to .m2    -->
-    <!-- ====================================================== -->
-
-     <target name="mvn-taskdef" depends="ivy-retrieve-mvn-ant-task">
-        <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
-        uri="antlib:org.apache.maven.artifact.ant" classpathref="mvn-ant-task-classpath"/>
-     </target>
-
-     <target name="mvn-install" depends="bin-package, mvn-taskdef">
-       <echo message="${dist.maven.dir}/${final.name}.pom" />
-       <echo message="${dist.maven.dir}/${final.name}.jar" />
-       <echo message="${dist.maven.dir}/${final.name}-sources.jar" />
-       <echo message="${dist.maven.dir}/${final.name}-javadoc.jar" />
-       <echo message="${dist.maven.dir}/${final.name}-tests.jar" />
-
-       <artifact:pom id="zookeeper-pom" file="${dist.maven.dir}/${name}.pom"/>
-       <echo>The version is ${zookeeper-pom.version}</echo>
-       <echo message="${dist.maven.dir}/${final.name}.jar" />
-
-       <artifact:install file="${dist.maven.dir}/${final.name}.jar">
-         <pom refid="zookeeper-pom" />
-         <attach file="${dist.maven.dir}/${final.name}.jar" type="jar"/>
-         <attach file="${dist.maven.dir}/${final.name}-sources.jar" type="jar" classifier="sources"/>
-         <attach file="${dist.maven.dir}/${final.name}-javadoc.jar" type="jar" classifier="javadoc"/>
-         <attach file="${dist.maven.dir}/${final.name}-tests.jar" type="jar" classifier="tests"/>
-       </artifact:install>
-    </target>
-
-    <!-- ====================================================== -->
-    <!-- Clean.  Delete the build files, and their directories  -->
-    <!-- ====================================================== -->
-    <target name="clean" depends="clean-contrib,clean-recipes"
-            description="Clean.  Delete the build files, and their directories">
-      <delete dir="${build.dir}"/>
-      <delete dir="${docs.src}/build"/>
-      <delete dir="${src_generated.dir}" />
-      <delete dir="${csrc_generated.dir}" />
-      <delete file="${lib.dir}/Null.java"/>
-      <delete file="${lib.dir}/rats.jar" />
-      <delete file="${jdiff.xml.dir}/${name}_${version}.xml"/>
-      <delete file="${jar.name}" />
-      <delete dir="${distribution}"/>
-      <delete dir="${revision.dir}"/>
-      <delete>
-        <fileset dir="${basedir}" includes="*.jar,*.tar.gz"/>
-      </delete>
-    </target>
-
-    <target name="clean-contrib">
-      <subant target="clean">
-        <fileset file="${contrib.dir}/build.xml"/>
-      </subant>
-    </target>
-
-   <target name="clean-recipes">
-     <subant target="clean">
-       <fileset file="${recipes.dir}/build.xml"/>
-     </subant>
-   </target>
-
-    <!-- ====================================================== -->
-    <!-- Run unit tests                                         -->
-    <!-- ====================================================== -->
-    <target name="test-init" depends="jar,compile-test">
-        <delete dir="${test.log.dir}" />
-        <delete dir="${test.tmp.dir}" />
-        <delete dir="${test.data.invalid.dir}" />
-        <delete dir="${test.data.buffersize.dir}" />
-        <delete dir="${test.data.kerberos.dir}" />
-        <delete dir="${test.data.ssl.dir}" />
-        <delete dir="${test.data.dir}" />
-        <mkdir dir="${test.log.dir}" />
-        <mkdir dir="${test.tmp.dir}" />
-        <mkdir dir="${test.data.dir}" />
-        <mkdir dir="${test.data.invalid.dir}" />
-        <copy todir="${test.data.invalid.dir}">
-            <fileset dir="${server.test.resource.dir}/data/invalidsnap"/>
-        </copy>
-        <mkdir dir="${test.data.buffersize.dir}" />
-        <copy todir="${test.data.buffersize.dir}">
-            <fileset dir="${server.test.resource.dir}/data/buffersize"/>
-        </copy>
-        <mkdir dir="${test.data.ssl.dir}" />
-        <copy todir="${test.data.ssl.dir}">
-            <fileset dir="${server.test.resource.dir}/data/ssl"/>
-        </copy>
-        <mkdir dir="${test.data.kerberos.dir}" />
-        <copy todir="${test.data.kerberos.dir}">
-            <fileset dir="${server.test.resource.dir}/data/kerberos"/>
-        </copy>
-    </target>
-
-    <target name="junit-init" depends="test-category">
-      <condition property="quicktest">
-        <and>
-          <equals arg1="${test.quick}" arg2="yes"/>
-          <not>
-            <isset property="testcase"/>
-          </not>
-        </and>
-      </condition>
-      <condition property="fulltest">
-        <and>
-          <equals arg1="${test.quick}" arg2="no"/>
-          <not>
-            <isset property="testcase"/>
-          </not>
-        </and>
-      </condition>
-      <condition property="ant.supports.concurrent.junit.processes">
-        <antversion atleast="1.9.4" />
-      </condition>
-      <property name="build.test.dir" value="${test.tmp.dir}" />
-      <property name="test.data.dir" value="${test.data.dir}" />
-      <property name="log4j.configuration"
-                value="file:${basedir}/conf/log4j.properties" />
-      <!-- superDigest is used by the tests/main code. If this is not set
-           as part of starting the jvm there is no guarantee that the static
-           initializers in the java code will see this (esp when running
-           with junit fork mode set to "once")-->
-      <property name="zookeeper.DigestAuthenticationProvider.superDigest"
-                value="super:D/InIHSb7yEEbrWz8b9l71RjZJU=" />
-      <propertyset id="junit.sys.properties">
-        <propertyref name="build.test.dir" />
-        <propertyref name="test.data.dir" />
-        <propertyref name="log4j.configuration" />
-        <propertyref name="zookeeper.DigestAuthenticationProvider.superDigest" />
-        <propertyref name="test.method" />
-      </propertyset>
-      <path id="junit.classpath">
-        <path refid="test.java.classpath" />
-        <pathelement path="${test.java.classes}" />
-      </path>
-      <fileset id="quicktest.files" dir="${java.server.test.dir}">
-        <include name="**/*${test.category}Test.java" />
-        <exclude name="**/*HammerTest.java" />
-      </fileset>
-      <fileset id="jutetest.files" dir="${jute.test.src.dir}">
-        <include name="**/*${test.category}Test.java" />
-      </fileset>
-      <fileset id="fulltest.files" dir="${java.server.test.dir}">
-        <include name="**/*${test.category}Test.java" />
-      </fileset>
-      <fileset id="testcase.files" dir="${java.server.test.dir}">
-        <include name="**/${testcase}.java" />
-      </fileset>
-    </target>
-
-    <target name="junit.run" depends="junit-init,junit.run-single,junit.run-concurrent" />
-
-    <target name="junit.run-concurrent" if="ant.supports.concurrent.junit.processes">
-        <echo>Running ${test.junit.threads} concurrent JUnit processes.</echo>
-        <junit showoutput="${test.output}"
-               printsummary="${test.junit.printsummary}"
-               haltonfailure="${test.junit.haltonfailure}"
-               fork="yes"
-               forkmode="${test.junit.fork.mode}"
-               threads="${test.junit.threads}"
-               maxmemory="${test.junit.maxmem}"
-               dir="${test.java.build.dir}" timeout="${test.timeout}"
-               errorProperty="tests.failed" failureProperty="tests.failed">
-          <syspropertyset refid="junit.sys.properties" />
-          <sysproperty key="test.junit.threads" value="${test.junit.threads}" />
-          <classpath refid="junit.classpath" />
-          <formatter type="${test.junit.output.format}" />
-          <batchtest todir="${test.log.dir}" if="quicktest">
-            <fileset refid="quicktest.files" />
-            <fileset refid="jutetest.files" />
-          </batchtest>
-          <batchtest todir="${test.log.dir}" if="fulltest">
-            <fileset refid="fulltest.files" />
-            <fileset refid="jutetest.files" />
-          </batchtest>
-          <batchtest todir="${test.log.dir}" if="testcase">
-            <fileset refid="testcase.files" />
-          </batchtest>
-        </junit>
-        <antcall target="fail.build.on.test.failure"/>
-    </target>
-
-    <target name="fail.build.on.test.failure" if="${test.junit.failbuild.ontestfailure}" >
-        <fail if="tests.failed">Tests failed!</fail>
-    </target>
-
-    <target name="junit.run-single" unless="ant.supports.concurrent.junit.processes">
-        <echo>Running single JUnit process.  Upgrade to Ant 1.9.4 or later to run multiple JUnit processes.</echo>
-        <junit showoutput="${test.output}"
-               printsummary="${test.junit.printsummary}"
-               haltonfailure="${test.junit.haltonfailure}"
-               fork="yes"
-               forkmode="${test.junit.fork.mode}"
-               maxmemory="${test.junit.maxmem}"
-               dir="${test.java.build.dir}" timeout="${test.timeout}"
-               errorProperty="tests.failed" failureProperty="tests.failed">
-          <syspropertyset refid="junit.sys.properties" />
-          <classpath refid="junit.classpath" />
-          <formatter type="${test.junit.output.format}" />
-          <batchtest todir="${test.log.dir}" if="quicktest">
-            <fileset refid="quicktest.files" />
-            <fileset refid="jutetest.files" />
-          </batchtest>
-          <batchtest todir="${test.log.dir}" if="fulltest">
-            <fileset refid="fulltest.files" />
-            <fileset refid="jutetest.files" />
-          </batchtest>
-          <batchtest todir="${test.log.dir}" if="testcase">
-            <fileset refid="testcase.files" />
-          </batchtest>
-        </junit>
-        <antcall target="fail.build.on.test.failure"/>
-    </target>
-
-    <target name="check-cppunit-configure" depends="init" >
-      <condition property="need.cppunit.configure">
-        <not> <available file="${c.src.dir}/configure"/> </not>
-      </condition>
-    </target>
-
-    <target name="verify-cppunit-makefile-gcov">
-      <fileset id="fileset.makefile.gcov.enabled" dir="${test.cppunit.dir}" erroronmissingdir="false">
-        <include name="Makefile"/>
-        <containsregexp expression="^[^#]+-ftest-coverage.*$"/>
-      </fileset>
-      <condition property="makefile.gcov.enabled">
-        <resourcecount when="greater" count="0" refid="fileset.makefile.gcov.enabled"/>
-      </condition>
-      <echo message="makefile.gcov.enabled = ${makefile.gcov.enabled}"/>
-      <condition property="delete.cppunit.makefile">
-        <and>
-          <isset property="makefile.gcov.enabled"/>
-          <not><equals arg1="${enable.gcov}" arg2="true"/></not>
-        </and>
-      </condition>
-      <echo message="delete.cppunit.makefile = ${delete.cppunit.makefile}"/>
-    </target>
-
-    <target name="delete-cppunit-makefile" if="delete.cppunit.makefile">
-      <delete file="${test.cppunit.dir}/Makefile"/>
-    </target>
-
-    <target name="check-cppunit-makefile" depends="init,verify-cppunit-makefile-gcov,delete-cppunit-makefile" >
-    	<condition property="need.cppunit.makefile">
-       		<not> <available file="${test.cppunit.dir}/Makefile"/> </not>
-    	</condition>
-    </target>
-
-    <!--
-       1. If we have a Makefile it will handle up-to-date check and also
-          regenerate the configure script if missing. (done)
-       2. If we don't have a Makefile use the configure script to
-          regenerate it. (done)
-       3. If we don't have a Makefile nor a configure script then it's
-          last resort and run autoreconf, then configure (done)
-      -->
-
-    <target name="create-cppunit-configure" depends="check-cppunit-configure"
-            if="need.cppunit.configure">
-      <exec executable="autoreconf" dir="${c.src.dir}" searchpath="yes"
-            failonerror="yes">
-        <arg value="-if"/>
-        <env key="ACLOCAL" value="aclocal -I ${cppunit.m4}"/>
-      </exec>
-    </target>
-
-    <target name="create-cppunit-makefile" depends="check-cppunit-makefile"
-                                           if="need.cppunit.makefile">
-      <antcall target="create-cppunit-configure">
-        <param name="cppunit" value="true"/>
-      </antcall>
-    	<mkdir dir="${test.cppunit.dir}"/>
-        <condition property="enable.gcov.arg" value="--enable-gcov" else="">
-          <equals arg1="${enable.gcov}" arg2="true"/>
-        </condition>
-    	<exec executable="${c.src.dir}/configure" dir="${test.cppunit.dir}"
-          	failonerror="yes">
-                <env key="base_dir" value="${basedir}"/>
-                <env key="CALLER" value="ANT"/>
-      		<arg value="--prefix=${test.cppunit.dir}"/>
-            <arg line="${enable.gcov.arg}"/>
-    	</exec>
-    </target>
-
-    <target name="call-test-cppunit" description="to execute cppunit tests">
-	<antcall target="create-cppunit-makefile"/>
-	<antcall target="test-cppunit">
-		<param name="cppunit" value="true"/>
-	</antcall>
-    </target>
-
-
-    <target name="test-cppunit"
-            depends="compile_jute, jar, create-cppunit-makefile"
-            if="cppunit"
-		description="to run cppunit test cases">
-        <exec dir="${test.cppunit.dir}" executable="make" failonerror="true">
-		<env key="LD_LIBRARY_PATH" value="${env.LD_LIBRARY_PATH};${cppunit.lib}"/>
-		<env key="PATH" path="${env.PATH};${c.src.dir};"/>
-                <env key="CALLER" value="ANT"/>
-                <env key="CLOVER_HOME" value="${clover.home}"/>
-                <env key="base_dir" value="${basedir}"/>
-		<arg line="clean check"/>
-	</exec>
-    </target>
-
-    <target name="test-unit-category">
-      <property name="test.category" value="Unit"/>
-    </target>
-    <target name="test-unit" depends="test-init,test-unit-category,junit.run"/>
-
-    <target name="test-func-category">
-      <property name="test.category" value="Func"/>
-    </target>
-    <target name="test-func" depends="test-init,test-func-category,junit.run"/>
-
-    <target name="test-perf-category">
-      <property name="test.category" value="Perf"/>
-    </target>
-    <target name="test-perf" depends="test-init,test-perf-category,junit.run"/>
-
-    <target name="test-category">
-      <property name="test.category" value=""/>
-    </target>
-
-    <target name="test" description="to run core and contrib tests">
-	<antcall target="test-core"/>
-	<antcall target="test-contrib"/>
-    </target>
-
-    <target name="test-contrib" description="to run contrib tests">
-	<!-- yet to implement -->
-    </target>
-
-    <target name="test-core-java" depends="test-init, test-category, junit.run"/>
-
-    <target name="test-core-cppunit" depends="test-init, test-category, call-test-cppunit"/>
-
-    <target name="test-core" depends="test-core-java, test-core-cppunit"/>
-
-    <!-- ====================================================== -->
-    <!-- Run optional third-party tool targets                  -->
-    <!-- ====================================================== -->
-
-    <!-- Clover code coverage -->
-    <target name="test-coverage-clover-java"
-            description="Runs Java tests with Clover and generates coverage report in HTML and XML.">
-      <antcall target="test-core-java">
-        <param name="run.clover" value="true"/>
-      </antcall>
-      <antcall target="clover-report"/>
-    </target>
-
-    <target name="clover" if="run.clover" depends="ivy-retrieve-clover,clover.check,clover.setup"
-            description="Used in compile target to add source code instrumentation for Clover and sets up the Clover database."/>
-
-    <target name="clover.check">
-        <available property="clover.present"
-                   classname="com.atlassian.clover.CloverInstr"
-                   classpath="${clover.home}/lib/clover-${clover.version}.jar"/>
-        <fail if="run.clover" unless="clover.present">
-            Clover not found.
-            Please make sure clover-${clover.version}.jar is in ${clover.home}/lib, or made available
-            to Ant using other mechanisms like -lib or CLASSPATH.
-        </fail>
-    </target>
-
-    <target name="clover.setup" if="run.clover">
-      <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/>
-      <mkdir dir="${clover.db.dir}"/>
-      <clover-setup initString="${clover.db}">
-        <fileset dir="${java.server.src.dir}"
-                 includes="org/apache/zookeeper/**/*"
-                 excludes="org/apache/zookeeper/version/**/*">
-        </fileset>
-        <testsources dir="${java.server.test.dir}">
-          <testclass package="org.apache.zookeeper.*" name=".*Test">
-              <testmethod annotation="Test"/>
-          </testclass>
-        </testsources>
-      </clover-setup>
-    </target>
-
-    <target name="clover-report" depends="ivy-retrieve-clover"
-            description="Generates coverage report in HTML and XML. Run the tests first with 'ant -Drun.clover=true test-core-java' to generate coverage data.">
-      <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/>
-      <mkdir dir="${clover.report.dir}"/>
-      <clover-report initString="${clover.db}">
-        <current outfile="${clover.report.dir}" title="${final.name}">
-          <format type="html"/>
-        </current>
-      </clover-report>
-      <clover-report initString="${clover.db}">
-        <current outfile="${clover.report.dir}/clover.xml" title="${final.name}">
-          <format type="xml"/>
-        </current>
-      </clover-report>
-    </target>
-
-    <target name="c_coverage_report" description="Runs coverage report for ZK C client code.">
-      <!-- delete configure and make files so that they get regenerated with coverage enabled -->
-      <delete file="${c.src.dir}/configure"/>
-      <delete file="${test.cppunit.dir}/Makefile"/>
-      <subant target="test-core-cppunit" failonerror="false">
-        <property name="enable.gcov" value="true"/>
-        <fileset dir="." file="build.xml"/>
-      </subant>
-      <mkdir dir="${build.dir}/c_coverage" />
-      <copy todir="${build.dir}/c" verbose="true" overwrite="true" failonerror="true">
-        <fileset dir="${build.dir}/test/test-cppunit/.libs">
-          <include name="*.gcno"/>
-          <include name="*.gcda"/>
-        </fileset>
-      </copy>
-      <exec dir="${build.dir}/c" executable="lcov">
-        <arg line="-t testname -o ZK_C_client.info -c -d ."/>
-      </exec>
-      <exec dir="${build.dir}/c_coverage" executable="genhtml">
-        <arg line="-o report ${build.dir}/c/ZK_C_client.info"/>
-      </exec>
-    </target>
-
-    <!-- Run with 'ant -Dfindbugs.home="path to Findbugs directory" findbugs -->
-    <property name="findbugs.home" value="" />
-    <target name="findbugs" depends="check-for-findbugs, jar" if="findbugs.present">
-        <property name="findbugs.out.dir" value="${test.java.build.dir}/findbugs" />
-        <property name="findbugs.exclude.file" value="${server.test.resource.dir}/findbugsExcludeFile.xml" />
-        <property name="findbugs.report.htmlfile" value="${findbugs.out.dir}/zookeeper-findbugs-report.html" />
-        <property name="findbugs.report.xmlfile" value="${findbugs.out.dir}/zookeeper-findbugs-report.xml" />
-        <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
-                classpath="${findbugs.home}/lib/findbugs-ant.jar" />
-        <mkdir dir="${findbugs.out.dir}" />
-        <findbugs home="${findbugs.home}" output="xml:withMessages" excludeFilter="${findbugs.exclude.file}"
-                outputFile="${findbugs.report.xmlfile}" effort="max" jvmargs="-Xmx512M">
-            <auxClasspath>
-                <fileset dir="${ivy.lib}">
-                    <include name="**/*.jar" />
-                </fileset>
-            </auxClasspath>
-            <sourcePath path="${java.server.src.dir}" />
-            <class location="${build.dir}/${final.name}.jar" />
-        </findbugs>
-        <xslt style="${findbugs.home}/src/xsl/default.xsl" in="${findbugs.report.xmlfile}"
-                out="${findbugs.report.htmlfile}" />
-    </target>
-
-    <target name="check-for-findbugs">
-        <available property="findbugs.present" file="${findbugs.home}/lib/findbugs.jar" />
-    </target>
-
-    <!-- Code coverage -->
-    <target name="cobertura-instrument" depends="compile-test">
-      <taskdef resource="tasks.properties">
-        <classpath>
-          <pathelement path="${lib.dir}/cobertura/cobertura.jar" />
-          <fileset dir="${lib.dir}/cobertura/lib">
-            <include name="*.jar"/>
-          </fileset>
-          <fileset dir="${lib.dir}">
-            <include name="*.jar"/>
-          </fileset>
-          <fileset dir="${ivy.lib}">
-            <include name="**/*.jar" />
-          </fileset>
-        </classpath>
-      </taskdef>
-
-      <cobertura-instrument todir="${build.dir}/cobertura">
-        <fileset dir="${build.classes}">
-          <include name="org/apache/zookeeper/**/*.class"/>
-        </fileset>
-      </cobertura-instrument>
-    </target>
-
-    <target name="cobertura-test" depends="test-init,cobertura-instrument">
-        <junit showoutput="${test.output}" printsummary="yes" haltonfailure="no" fork="yes"
-               maxmemory="${test.junit.maxmem}" dir="${basedir}" timeout="${test.timeout}"
-               errorProperty="tests.failed" failureProperty="tests.failed">
-            <sysproperty key="build.test.dir" value="${test.tmp.dir}" />
-            <sysproperty key="test.data.dir" value="${test.data.dir}" />
-            <sysproperty key="log4j.configuration"
-                         value="file:${basedir}/conf/log4j.properties" />
-            <classpath>
-                <pathelement path="${build.dir}/cobertura" />
-                <pathelement path="${lib.dir}/cobertura/cobertura.jar" />
-                <fileset dir="${lib.dir}/cobertura/lib">
-                    <include name="*.jar"/>
-                </fileset>
-                <fileset dir="${lib.dir}">
-                    <include name="*.jar"/>
-                </fileset>
-                <fileset dir="${ivy.lib}">
-                  <include name="**/*.jar" />
-                </fileset>
-            </classpath>
-            <classpath>
-                <pathelement path="${test.java.classes}" />
-            </classpath>
-            <classpath refid="test.java.classpath"/>
-            <classpath>
-                <pathelement path="${build.classes}" />
-            </classpath>
-
-            <formatter type="${test.junit.output.format}" />
-            <batchtest todir="${test.log.dir}" unless="testcase">
-                <fileset dir="${java.server.test.dir}"
-                         includes="**/*Test.java"/>
-            </batchtest>
-            <batchtest todir="${test.log.dir}" if="testcase">
-                <fileset dir="${java.server.test.dir}" includes="**/${testcase}.java"/>
-            </batchtest>
-        </junit>
-        <antcall target="fail.build.on.test.failure"/>
-    </target>
-
-    <target name="cobertura-report" depends="cobertura-test">
-        <cobertura-report format="${test.cobertura.output.format}"
-                          destdir="${coveragereport.dir}" >
-            <fileset dir="${java.server.src.dir}">
-                <include name="**/*.java" />
-            </fileset>
-            <fileset dir="${src_generated.dir}">
-                <include name="**/*.java" />
-            </fileset>
-        </cobertura-report>
-    </target>
-
-    <target name="checkstyle" depends="ivy-retrieve-test" description="Run Checkstyle coding standard checks">
-      <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties" uri="antlib:com.puppycrawl.tools.checkstyle.ant">
-        <classpath>
-          <fileset dir="${ivy.test.lib}" includes="*.jar" />
-        </classpath>
-      </taskdef>
-      <mkdir dir="${test.java.build.dir}"/>
-      <cs:checkstyle config="${server.test.resource.dir}/checkstyle.xml" failOnViolation="false">
-        <fileset dir="${basedir}/zookeeper-server" includes="**/*.java" excludes="**/generated/**"/>
-        <formatter type="xml" toFile="${test.java.build.dir}/checkstyle-errors.xml"/>
-      </cs:checkstyle>
-      <xslt style="${server.test.resource.dir}/checkstyle-noframes-sorted.xsl" in="${test.java.build.dir}/checkstyle-errors.xml"
-            out="${test.java.build.dir}/checkstyle-errors.html"/>
-    </target>
-
-    <!-- ================================================================== -->
-    <!-- Perform audit activities for the release                           -->
-    <!-- ================================================================== -->
-    <target name="rats-taskdef" depends="ivy-retrieve-releaseaudit">
-      <typedef format="xml" resource="org/apache/rat/anttasks/antlib.xml" uri="antlib:org.apache.rat.anttasks"
-               classpathref="releaseaudit-classpath"/>
-    </target>
-
-    <target name="owasp-taskdef" depends="ivy-retrieve-owasp">
-        <typedef format="properties" resource="dependency-check-taskdefs.properties" uri="antlib:org.owasp.dependencycheck.anttasks" classpathref="owasp-classpath"/>
-    </target>
-
-    <target name="owasp" depends="owasp-taskdef,ivy-retrieve" description="OWASP dependency check">
-        <property name="owasp.out.dir" value="${test.java.build.dir}/owasp" />
-        <owasp:dependency-check-update xmlns:owasp="antlib:org.owasp.dependencycheck.anttasks" />
-        <owasp:dependency-check xmlns:owasp="antlib:org.owasp.dependencycheck.anttasks"
-                          projectname="ZooKeeper"
-                          reportoutputdirectory="${owasp.out.dir}"
-                          reportformat="ALL"
-                          failBuildOnCVSS="0">
-            <suppressionfile path="${basedir}/owaspSuppressions.xml" />
-
-            <fileset dir="${ivy.lib}">
-                <include name="**/*.jar"/>
-            </fileset>
-
-            <fileset dir="${lib.dir}">
-                <include name="**/*.jar"/>
-            </fileset>
-        </owasp:dependency-check>
-    </target>
-
-    <target name="releaseaudit" depends="package,rats-taskdef" description="Release Audit activities">
-      <rat:report xmlns:rat="antlib:org.apache.rat.anttasks">
-        <fileset dir="${dist.dir}">
-          <exclude name="**/*.cer"/>
-          <exclude name="**/*.m4"/>
-          <exclude name="**/*.md5"/>
-          <exclude name="**/*.pom"/>
-          <exclude name="**/*.sha1"/>
-          <exclude name="**/.gitignore"/>
-          <exclude name="**/Makefile**"/>
-          <exclude name="**/winconfig.h"/>
-          <exclude name="**/configure**"/>
-          <exclude name="**/*Doxyfile"/>
-          <exclude name="**/*.am"/>
-          <exclude name="**/compile"/>
-          <exclude name="**/depcomp"/>
-          <exclude name="**/install-sh"/>
-          <exclude name="**/log4j.properties"/>
-          <exclude name="**/ltmain.sh"/>
-          <exclude name="**/missing"/>
-          <exclude name="**/wrappers*.opt"/>
-          <exclude name="CHANGES.txt"/>
-          <exclude name="**/README.md"/>
-          <exclude name="README_packaging.md"/>
-          <exclude name="**/TODO"/>
-          <exclude name="**/VERSION"/>
-          <exclude name="**/ChangeLog"/>
-          <exclude name="**/Changes"/>
-          <exclude name="**/zookeeper-contrib/zookeeper-contrib-zkperl/MANIFEST"/>
-          <exclude name="**/conf/*"/>
-          <exclude name="**/zookeeper-docs/"/>
-          <exclude name="**/lib/jdiff/"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-ZooInspector/src/main/java/com/nitido/utils/toaster/Toaster.java"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/*.la"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/*.lo"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/.libs/"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/autom4te.cache/**"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/config**"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/include/winstdint.h"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/src/hashtable/"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/test-driver"/>
-          <exclude name="zookeeper-client/zookeeper-client-c/tests/quorum.cfg"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/date.format.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/g.bar.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/g.dot.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/g.line.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/g.pie.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/g.raphael.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/raphael.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/resources/yui-min.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/date.format.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/g.bar.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/g.dot.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/g.line.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/g.pie.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/g.raphael.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/raphael.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-loggraph/src/resources/webapp/org/apache/zookeeper/graph/resources/yui-min.js"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-monitoring/JMX-RESOURCES"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-zooinspector/src/main/java/com/nitido/utils/toaster/Toaster.java"/>
-          <exclude name="zookeeper-contrib/zookeeper-contrib-fatjar/src/main/resources/mainClasses"/>
-          <exclude name="zookeeper-jute/target/main/java/.generated/"/>
-          <exclude name="zookeeper-server/src/test/resources/checkstyle*.xml"/>
-          <exclude name="zookeeper-server/src/test/resources/checkstyle*.xsl"/>
-          <exclude name="zookeeper-server/src/test/resources/findbugs*.xml"/>
-          <exclude name="**/*.vcproj"/>
-          <exclude name="**/*.vcxproj*"/>
-          <exclude name="**/*.sln"/>
-        </fileset>
-      </rat:report>
-    </target>
-
-    <target name="findbugs.check" depends="check-for-findbugs" unless="findbugs.present">
-    	<fail message="'findbugs.home' is not defined. Please pass -Dfindbugs.home=&lt;base of Findbugs installation&gt;
-		to Ant on the command-line." />
-    </target>
-
-    <target name="patch.check" unless="patch.file">
-  	<fail message="'patch.file' is not defined. Please pass -Dpatch.file=&lt;location of patch file&gt;
-		to Ant on the command-line." />
-    </target>
-
-    <target name="test-patch" depends="patch.check,findbugs.check">
-  	<exec executable="bash" failonerror="true">
-    		<arg value="${test_patch_sh}"/>
-    		<arg value="DEVELOPER"/>
-    		<arg value="${patch.file}"/>
-    		<arg value="${scratch.dir}"/>
-    		<arg value="${git.cmd}"/>
-    		<arg value="${grep.cmd}"/>
-    		<arg value="${patch.cmd}"/>
-    		<arg value="${findbugs.home}"/>
-    		<arg value="${basedir}"/>
-    		<arg value="${java5.home}"/>
-  	</exec>
-    </target>
-
-    <target name="hudson-test-patch" depends="findbugs.check">
-  	<exec executable="bash" failonerror="true">
-    		<arg value="${test_patch_sh}"/>
-    		<arg value="HUDSON"/>
-    		<arg value="${scratch.dir}"/>
-    		<arg value="${ps.cmd}"/>
-    		<arg value="${wget.cmd}"/>
-    		<arg value="${jiracli.cmd}"/>
-    		<arg value="${git.cmd}"/>
-    		<arg value="${grep.cmd}"/>
-    		<arg value="${patch.cmd}"/>
-    		<arg value="${findbugs.home}"/>
-    		<arg value="${basedir}"/>
-    		<arg value="${jira.passwd}"/>
-    		<arg value="${java5.home}"/>
-    		<arg value="${curl.cmd}"/>
-    		<arg value="${defect}"/>
-    	</exec>
-     </target>
-
-     <target name="qa-test-pullrequest" depends="findbugs.check">
-        <exec executable="bash" failonerror="true">
-                <arg value="${test_pullrequest_sh}"/>
-                <arg value="QABUILD"/>
-                <arg value="${scratch.dir}"/>
-                <arg value="${ps.cmd}"/>
-                <arg value="${wget.cmd}"/>
-                <arg value="${jiracli.cmd}"/>
-                <arg value="${git.cmd}"/>
-                <arg value="${grep.cmd}"/>
-                <arg value="${patch.cmd}"/>
-                <arg value="${findbugs.home}"/>
-                <arg value="${basedir}"/>
-                <arg value="${jira.passwd}"/>
-                <arg value="${java5.home}"/>
-                <arg value="${curl.cmd}"/>
-        </exec>
-     </target>
-
-     <!-- this target runs the hudson trunk build -->
-     <target name="hudson-test-trunk" depends="tar,findbugs"/>
-
-     <target name="api-xml" depends="ivy-retrieve-jdiff, javadoc, write-null">
-       <javadoc>
-         <doclet name="jdiff.JDiff"
-                 path="${ivy.jdiff.lib}/jdiff-1.0.9.jar:${ivy.jdiff.lib}/xerces-1.4.4.jar">
-           <param name="-apidir" value="${jdiff.xml.dir}"/>
-           <param name="-apiname" value="${name} ${version}"/>
-         </doclet>
-         <packageset dir="${java.server.src.dir}">
-           <include name="org/apache/zookeeper"/>
-           <exclude name="org/apache/jute"/>
-         </packageset>
-         <classpath>
-           <pathelement location="${build.classes}"/>
-           <fileset dir="${lib.dir}">
-             <include name="**/*.jar" />
-             <exclude name="**/excluded/" />
-           </fileset>
-           <fileset dir="${ivy.lib}">
-             <include name="**/*.jar" />
-           </fileset>
-         </classpath>
-       </javadoc>
-     </target>
-
-     <target name="write-null">
-       <exec executable="touch">
-         <arg value="${jdiff.home}/Null.java"/>
-       </exec>
-     </target>
-
-     <target name="api-report" depends="api-xml">
-       <mkdir dir="${jdiff.build.dir}"/>
-       <javadoc destdir="${jdiff.build.dir}"
-                excludepackagenames="org.apache.jute"
-                sourceFiles="${jdiff.home}/Null.java">
-         <fileset dir="${java.server.src.dir}"/>
-         <doclet name="jdiff.JDiff"
-                 path="${ivy.jdiff.lib}/jdiff-1.0.9.jar:${ivy.jdiff.lib}/xerces-1.4.4.jar">
-           <param name="-oldapi" value="${name} ${jdiff.stable}"/>
-           <param name="-newapi" value="${name} ${version}"/>
-           <param name="-oldapidir" value="${jdiff.xml.dir}"/>
-           <param name="-newapidir" value="${jdiff.xml.dir}"/>
-           <param name="-javadocold" value="${jdiff.stable.javadoc}"/>
-           <param name="-javadocnew" value="../../api/"/>
-           <param name="-stats"/>
-         </doclet>
-         <classpath>
-           <pathelement location="${build.classes}"/>
-           <fileset dir="${lib.dir}">
-             <include name="**/*.jar" />
-             <exclude name="**/excluded/" />
-           </fileset>
-           <fileset dir="${ivy.lib}">
-             <include name="**/*.jar" />
-           </fileset>
-         </classpath>
-       </javadoc>
-     </target>
-
-     <condition property="ant-eclipse.jar.exists">
-       <available file="${lib.dir}/ant-eclipse-1.0-jvm1.2.jar"/>
-     </condition>
-
-     <target name="ant-eclipse-download" unless="ant-eclipse.jar.exists">
-       <get src="https://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"
-            dest="${java.server.resources.dir}/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" />
-
-       <bunzip2 src="${java.server.resources.dir}/ant-eclipse-1.0.bin.tar.bz2"/>
-
-       <untar src="${java.server.resources.dir}/ant-eclipse-1.0.bin.tar"
-              dest="${java.server.resources.dir}">
-         <patternset>
-           <include name="lib/ant-eclipse-1.0-jvm1.2.jar"/>
-         </patternset>
-       </untar>
-
-       <delete file="${java.server.resources.dir}/ant-eclipse-1.0.bin.tar" />
-       <delete file="${java.server.resources.dir}/ant-eclipse-1.0.bin.tar.bz2" />
-     </target>
-
-     <target name="eclipse"
-             depends="ant-eclipse-download,init,ivy-retrieve,build-generated,ivy-retrieve-test"
-             description="Create eclipse project files">
-       <ivy:resolve useOrigin="true" conf="test"/>
-       <ivy:cachepath pathid="default.path.id" conf="default" />
-       <ivy:cachepath pathid="junit.path.id" conf="test" />
-       <taskdef name="eclipse"
-                classname="prantl.ant.eclipse.EclipseTask"
-                classpathref="java.classpath" />
-       <eclipse updatealways="true">
-         <settings>
-           <jdtcore compilercompliance="6.0" />
-           <resources encoding="UTF-8" />
-         </settings>
-         <project name="${ant.project.name}" />
-         <classpath>
-           <source path="${java.server.src.dir}"
-                   output="${build.dir.eclipse-main-classes}" />
-           <source path="${jute.src.dir}"
-                   output="${build.dir.eclipse-main-classes}" />
-           <source path="${src_generated.dir}"
-                   output="${build.dir.eclipse-main-classes}" />
-           <source path="${java.server.test.dir}"
-                   output="${build.dir.eclipse-test-classes}" />
-           <source path="${systest.src.dir}"
-                   output="${build.dir.eclipse-test-classes}" />
-           <source path="${bench.src.dir}"
-                   output="${build.dir.eclipse-test-classes}" />
-
-           <output path="${build.dir.eclipse-main-classes}" />
-           <library pathref="default.path.id" exported="true" />
-           <library pathref="junit.path.id" exported="false" />
-         </classpath>
-       </eclipse>
-     </target>
-
-     <target name="clean-eclipse" description="Clean eclipse files">
-       <delete file=".classpath" />
-       <delete file=".eclipse" />
-       <delete file=".project" />
-       <delete dir=".settings" />
-       <delete dir="${build.dir.eclipse}" />
-     </target>
-
-</project>

+ 0 - 164
ivy.xml

@@ -1,164 +0,0 @@
-<!--
-   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.
--->
-
-<ivy-module version="2.0"
-            xmlns:e="http://ant.apache.org/ivy/extra">
-
-  <info organisation="org.apache.zookeeper"
-        module="${name}" revision="${version}">
-    <license name="Apache 2.0"/>
-    <ivyauthor name="Apache ZooKeeper" url="http://zookeeper.apache.org"/>
-    <description>ZooKeeper</description>
-  </info>
-
-  <configurations defaultconfmapping="default">
-    <conf name="master"/>
-    <conf name="default" extends="optional"/>
-    <conf name="test" extends="default"/>
-    <conf name="mvn-ant-task" visibility="private"/>
-    <conf name="optional"/> <!-- optional in generated pom -->
-    <conf name="jdiff" visibility="private"/>
-    <conf name="javacc" visibility="private"/>
-    <conf name="releaseaudit" visibility="private" description="Artifacts required for releaseaudit target"/>
-    <conf name="owasp" visibility="private" description="Artifacts required for owasp target"/>
-    <conf name="clover" visibility="private" description="Artifacts required for clover target"/>
-  </configurations>
-
-  <publications>
-    <artifact name='org.apache.zookeeper' type='jar' ext='jar' />
-  </publications>
-
-  <dependencies>
-    <dependency org="org.slf4j" name="slf4j-api" rev="${slf4j.version}"/>
-    <dependency org="org.slf4j" name="slf4j-log4j12" rev="${slf4j.version}" transitive="false"/>
-    <dependency org="commons-cli" name="commons-cli" rev="${commons-cli.version}" />
-    <dependency org="com.github.spotbugs" name="spotbugs-annotations" rev="${spotbugsannotations.version}" />
-  
-    <dependency org="org.apache.maven.wagon" name="wagon-http" rev="${wagon-http.version}"
-                conf="mvn-ant-task->default"/>
-    <dependency org="org.apache.maven" name="maven-ant-tasks" rev="${maven-ant-tasks.version}"
-                conf="mvn-ant-task->master"/>
-    <!-- transitive false turns off dependency checking, log4j deps seem borked -->
-    <dependency org="log4j" name="log4j" rev="${log4j.version}" transitive="false"/>
-    <dependency org="jline" name="jline" rev="${jline.version}" transitive="false"
-                conf="optional->default"/>
-
-    <dependency org="org.apache.yetus" name="audience-annotations"
-                rev="${audience-annotations.version}"/>
-
-    <dependency org="io.netty" name="netty-handler" conf="default" rev="${netty.version}">
-      <artifact name="netty-handler" type="jar" conf="default"/>
-    </dependency>
-    <dependency org="io.netty" name="netty-transport-native-epoll" conf="default" rev="${netty.version}">
-      <artifact name="netty-transport-native-epoll" type="jar" conf="default"/>
-    </dependency>
-
-    <dependency org="com.googlecode.json-simple" name="json-simple" rev="${json.version}" >
-      <exclude org="junit" module="junit"/>
-    </dependency>
-    <dependency org="junit" name="junit" rev="${junit.version}" conf="test->default"/>
-	<dependency org="org.mockito" name="mockito-core" rev="${mockito.version}"
-               conf="test->default"/>
-    <dependency org="com.puppycrawl.tools" name="checkstyle" rev="${checkstyle.version}"
-                conf="test->default">
-        <exclude org="commons-collections" module="commons-collections"/>
-        <exclude org="commons-cli" module="commons-cli"/>
-    </dependency>
-    <!-- force the tests to pull the latest commons-collections jar -->
-    <dependency org="commons-collections" name="commons-collections"
-                rev="${commons-collections.version}" conf="test->default"/>
-
-    <dependency org="org.bouncycastle" name="bcprov-jdk15on" rev="${bouncycastle.version}" conf="test->default"/>
-    <dependency org="org.bouncycastle" name="bcpkix-jdk15on" rev="${bouncycastle.version}" conf="test->default"/>
-
-    <dependency org="jdiff" name="jdiff" rev="${jdiff.version}"
-                conf="jdiff->default"/>
-    <dependency org="xerces" name="xerces" rev="${xerces.version}"
-                conf="jdiff->default"/>
-
-    <dependency org="org.apache.rat" name="apache-rat-tasks"
-                rev="${apache-rat-tasks.version}" conf="releaseaudit->default">
-        <exclude org="commons-collections" module="commons-collections"/>
-    </dependency>
-    <dependency org="commons-lang" name="commons-lang"
-                rev="${commons-lang.version}"/>
-    <dependency org="commons-collections" name="commons-collections" 
-                rev="${commons-collections.version}" conf="releaseaudit->default"/>
-    <dependency org="org.owasp" name="dependency-check-ant"
-                rev="${dependency-check-ant.version}" conf="owasp->default"/>
-
-    <dependency org="commons-io" name="commons-io"
-                rev="${commons-io.version}" conf="test->default"/>
-
-    <dependency org="org.apache.kerby" name="kerby-config" rev="${kerby.version}" conf="test->default">
-          <exclude org="org.slf4j" module="slf4j-api"/>
-          <exclude org="org.slf4j" module="slf4j-log4j12"/>
-    </dependency>
-    <dependency org="org.apache.kerby" name="kerb-simplekdc" rev="${kerby.version}" conf="test->default">
-        <exclude org="org.slf4j" module="slf4j-api"/>
-    </dependency>
-    <dependency org="org.apache.kerby" name="kerb-core"
-                rev="${kerby.version}" conf="test->default">
-        <exclude org="org.slf4j" module="slf4j-api"/>
-    </dependency>
-    <dependency org="org.apache.kerby" name="kerb-server"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerb-common"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerb-admin"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerb-identity"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerb-client"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerb-util"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerb-crypto"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerby-util"
-                rev="${kerby.version}" conf="test->default"/>
-    <dependency org="org.apache.kerby" name="kerby-asn1"
-                rev="${kerby.version}" conf="test->default"/>
-
-    <dependency org="net.java.dev.javacc" name="javacc" rev="${javacc.version}"
-                conf="javacc->default" />
-
-    <dependency org="org.eclipse.jetty" name="jetty-server" rev="${jetty.version}"
-                conf="optional->default"/>
-
-    <dependency org="org.eclipse.jetty" name="jetty-servlet" rev="${jetty.version}"
-                  conf="optional->default"/>
-    <dependency org="com.fasterxml.jackson.core" name="jackson-databind"
-                rev="${jackson.version}" conf="optional->default"/>
-    <dependency org="org.xerial.snappy" name="snappy-java" rev="${snappy.version}"/>
-
-    <dependency org="org.openclover" name="clover" rev="${clover.version}" conf="clover->default"/>
-
-    <dependency org="org.hamcrest" name="hamcrest-all" rev="${hamcrest.version}"
-                  conf="test->default" />
-
-    <dependency org="org.openjdk.jmh" name="jmh-core" rev="${jmh.version}" conf="test->default"/>
-    <dependency org="org.openjdk.jmh" name="jmh-generator-annprocess" rev="${jmh.version}" conf="test->default"/>
-
-    <dependency org="io.dropwizard.metrics" name="metrics-core"
-                rev="3.2.5" conf="default">
-      <exclude org="org.slf4j" module="slf4j-api"/>
-    </dependency>
-
-    <conflict manager="strict"/>
-  </dependencies>
-</ivy-module>

+ 0 - 41
ivysettings.xml

@@ -1,41 +0,0 @@
-<ivysettings>
-
- <!--
-   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.
--->
-
-  <property name="repo.maven.org"
-    value="https://repo1.maven.org/maven2/" override="false"/>
-  <property name="repo.jboss.org"
-    value="https://repository.jboss.org/nexus/content/groups/public/" override="false"/>
-  <property name="maven2.pattern"
-    value="[organisation]/[module]/[revision]/[module]-[revision]"/>
-  <property name="maven2.pattern.ext" value="${maven2.pattern}.[ext]"/>
-  <include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
-  <settings defaultResolver="default"/>
-  <resolvers>
-    <ibiblio name="maven2" root="${repo.maven.org}"
-      pattern="${maven2.pattern.ext}" m2compatible="true"/>
-    <ibiblio name="jboss-maven2" root="${repo.jboss.org}"
-      pattern="${maven2.pattern.ext}" m2compatible="true"/>
-
-    <chain name="default" dual="true">
-      <resolver ref="maven2"/>
-      <resolver ref="jboss-maven2"/>
-    </chain>
-
-  </resolvers>
-</ivysettings>

+ 0 - 3
zookeeper-assembly/src/main/assembly/source-package.xml

@@ -107,9 +107,6 @@
       <outputDirectory>.</outputDirectory>
       <includes>
         <include>pom.xml</include>
-        <include>build.xml</include>
-        <include>ivy.xml</include>
-        <include>ivysettings.xml</include>
         <include>excludeFindBugsFilter.xml</include>
         <include>owaspSuppressions.xml</include>
         <include>checktyle.xml</include>

+ 0 - 3
zookeeper-server/src/main/resources/lib/cobertura/README.txt

@@ -1,3 +0,0 @@
-Download the cobertura binary from the following location and unpack it into this directory. Run "cobertura-report" target from build.xml to generate coverage report.
-
-http://cobertura.sourceforge.net/download.html

+ 0 - 2717
zookeeper-server/src/main/resources/lib/jdiff/zookeeper_3.1.1.xml

@@ -1,2717 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
-<!-- Generated by the JDiff Javadoc doclet -->
-<!-- (http://www.jdiff.org) -->
-<!-- on Wed Apr 22 05:04:00 UTC 2009 -->
-
-<!--
-   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.
--->
-
-<api
-  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
-  xsi:noNamespaceSchemaLocation='api.xsd'
-  name="zookeeper 3.1.1"
-  jdversion="1.0.9">
-
-<!--  Command line arguments =  -doclet jdiff.JDiff -docletpath /home/gkesavan/zk-3.1/src/java/lib/jdiff-1.0.9.jar:/home/gkesavan/zk-3.1/src/java/lib/xerces-1.4.4.jar -classpath /home/gkesavan/zk-3.1/src/java/lib/jdiff-1.0.9.jar:/home/gkesavan/zk-3.1/src/java/lib/junit-4.4.jar:/home/gkesavan/zk-3.1/src/java/lib/log4j-1.2.15.jar:/home/gkesavan/zk-3.1/src/java/lib/xerces-1.4.4.jar:/home/gkesavan/zk-3.1/build/classes -sourcepath /home/gkesavan/zk-3.1/src/java/main -apidir /home/gkesavan/zk-3.1/src/java/lib/jdiff -apiname zookeeper 3.1.1 -->
-<package name="org.apache.zookeeper">
-  <!-- start interface org.apache.zookeeper.AsyncCallback -->
-  <interface name="AsyncCallback"    abstract="true"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-  </interface>
-  <!-- end interface org.apache.zookeeper.AsyncCallback -->
-  <!-- start interface org.apache.zookeeper.AsyncCallback.ACLCallback -->
-  <interface name="AsyncCallback.ACLCallback"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.AsyncCallback"/>
-    <method name="processResult"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="rc" type="int"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <param name="acl" type="java.util.List"/>
-      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
-    </method>
-  </interface>
-  <!-- end interface org.apache.zookeeper.AsyncCallback.ACLCallback -->
-  <!-- start interface org.apache.zookeeper.AsyncCallback.ChildrenCallback -->
-  <interface name="AsyncCallback.ChildrenCallback"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.AsyncCallback"/>
-    <method name="processResult"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="rc" type="int"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <param name="children" type="java.util.List"/>
-    </method>
-  </interface>
-  <!-- end interface org.apache.zookeeper.AsyncCallback.ChildrenCallback -->
-  <!-- start interface org.apache.zookeeper.AsyncCallback.DataCallback -->
-  <interface name="AsyncCallback.DataCallback"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.AsyncCallback"/>
-    <method name="processResult"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="rc" type="int"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <param name="data" type="byte[]"/>
-      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
-    </method>
-  </interface>
-  <!-- end interface org.apache.zookeeper.AsyncCallback.DataCallback -->
-  <!-- start interface org.apache.zookeeper.AsyncCallback.StatCallback -->
-  <interface name="AsyncCallback.StatCallback"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.AsyncCallback"/>
-    <method name="processResult"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="rc" type="int"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
-    </method>
-  </interface>
-  <!-- end interface org.apache.zookeeper.AsyncCallback.StatCallback -->
-  <!-- start interface org.apache.zookeeper.AsyncCallback.StringCallback -->
-  <interface name="AsyncCallback.StringCallback"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.AsyncCallback"/>
-    <method name="processResult"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="rc" type="int"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <param name="name" type="java.lang.String"/>
-    </method>
-  </interface>
-  <!-- end interface org.apache.zookeeper.AsyncCallback.StringCallback -->
-  <!-- start interface org.apache.zookeeper.AsyncCallback.VoidCallback -->
-  <interface name="AsyncCallback.VoidCallback"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.AsyncCallback"/>
-    <method name="processResult"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="rc" type="int"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="ctx" type="java.lang.Object"/>
-    </method>
-  </interface>
-  <!-- end interface org.apache.zookeeper.AsyncCallback.VoidCallback -->
-  <!-- start class org.apache.zookeeper.ClientCnxn -->
-  <class name="ClientCnxn" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="ClientCnxn" type="java.lang.String, int, org.apache.zookeeper.ZooKeeper, org.apache.zookeeper.ClientWatchManager"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <exception name="IOException" type="java.io.IOException"/>
-    </constructor>
-    <constructor name="ClientCnxn" type="java.lang.String, int, org.apache.zookeeper.ZooKeeper, org.apache.zookeeper.ClientWatchManager, long, byte[]"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <exception name="IOException" type="java.io.IOException"/>
-      <doc>
-      <![CDATA[Creates a connection object. The actual network connect doesn't get
- established until needed.
-
- @param hosts
-                a comma separated list of hosts that can be connected to.
- @param sessionTimeout
-                the timeout for connections.
- @param zooKeeper
-                the zookeeper object that this connection is related to.
- @throws KeeperException
- @throws IOException]]>
-      </doc>
-    </constructor>
-    <method name="getSessionId" return="long"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getSessionPasswd" return="byte[]"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="toString" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="disconnect"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Shutdown the send/event threads. This method should not be called
- directly - rather it should be called as part of close operation. This
- method is primarily here to allow the tests to verify disconnection
- behavior.]]>
-      </doc>
-    </method>
-    <method name="close"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <exception name="IOException" type="java.io.IOException"/>
-      <doc>
-      <![CDATA[Close the connection, which includes; send session disconnect to the
- server, shutdown the send/event threads.
- 
- @throws IOException]]>
-      </doc>
-    </method>
-    <method name="submitRequest" return="org.apache.zookeeper.proto.ReplyHeader"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="h" type="org.apache.zookeeper.proto.RequestHeader"/>
-      <param name="request" type="org.apache.jute.Record"/>
-      <param name="response" type="org.apache.jute.Record"/>
-      <param name="watchRegistration" type="org.apache.zookeeper.ZooKeeper.WatchRegistration"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-    </method>
-    <method name="addAuthInfo"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="scheme" type="java.lang.String"/>
-      <param name="auth" type="byte[]"/>
-    </method>
-    <field name="disableAutoWatchReset" type="boolean"
-      transient="false" volatile="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[This controls whether automatic watch resetting is enabled.
- Clients automatically reset watches during session reconnect, this
- option allows the client to turn off this behavior by setting
- the environment variable "zookeeper.disableAutoWatchReset" to "true"]]>
-      </doc>
-    </field>
-    <field name="packetLen" type="int"
-      transient="false" volatile="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <doc>
-    <![CDATA[This class manages the socket i/o for the client. ClientCnxn maintains a list
- of available servers to connect to and "transparently" switches servers it is
- connected to as needed.]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.ClientCnxn -->
-  <!-- start interface org.apache.zookeeper.ClientWatchManager -->
-  <interface name="ClientWatchManager"    abstract="true"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <method name="materialize" return="java.util.Set"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="state" type="org.apache.zookeeper.Watcher.Event.KeeperState"/>
-      <param name="type" type="org.apache.zookeeper.Watcher.Event.EventType"/>
-      <param name="path" type="java.lang.String"/>
-      <doc>
-      <![CDATA[Return a set of watchers that should be notified of the event. The 
- manager must not notify the watcher(s), however it will update it's 
- internal structure as if the watches had triggered. The intent being 
- that the callee is now responsible for notifying the watchers of the 
- event, possibly at some later time.
- 
- @param state event state
- @param type event type
- @param path event path
- @return]]>
-      </doc>
-    </method>
-  </interface>
-  <!-- end interface org.apache.zookeeper.ClientWatchManager -->
-  <!-- start class org.apache.zookeeper.CreateMode -->
-  <class name="CreateMode" extends="java.lang.Enum"
-    abstract="false"
-    static="false" final="true" visibility="public"
-    deprecated="not deprecated">
-    <method name="values" return="org.apache.zookeeper.CreateMode[]"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="valueOf" return="org.apache.zookeeper.CreateMode"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="name" type="java.lang.String"/>
-    </method>
-    <method name="isEphemeral" return="boolean"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="isSequential" return="boolean"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="toFlag" return="int"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="fromFlag" return="org.apache.zookeeper.CreateMode"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="flag" type="int"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <doc>
-      <![CDATA[Map an integer value to a CreateMode value]]>
-      </doc>
-    </method>
-    <field name="PERSISTENT" type="org.apache.zookeeper.CreateMode"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The znode will not be automatically deleted upon client's disconnect.]]>
-      </doc>
-    </field>
-    <field name="PERSISTENT_SEQUENTIAL" type="org.apache.zookeeper.CreateMode"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The znode will not be automatically deleted upon client's disconnect,
- and its name will be appended with a monotonically increasing number.]]>
-      </doc>
-    </field>
-    <field name="EPHEMERAL" type="org.apache.zookeeper.CreateMode"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The znode will be deleted upon the client's disconnect.]]>
-      </doc>
-    </field>
-    <field name="EPHEMERAL_SEQUENTIAL" type="org.apache.zookeeper.CreateMode"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The znode will be deleted upon the client's disconnect, and its name
- will be appended with a monotonically increasing number.]]>
-      </doc>
-    </field>
-    <doc>
-    <![CDATA[CreateMode value determines how the znode is created on ZooKeeper.]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.CreateMode -->
-  <!-- start class org.apache.zookeeper.Environment -->
-  <class name="Environment" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="Environment"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <method name="list" return="java.util.List"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="logEnv"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="msg" type="java.lang.String"/>
-      <param name="log" type="org.apache.log4j.Logger"/>
-    </method>
-    <doc>
-    <![CDATA[Provide insight into the runtime environment.]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.Environment -->
-  <!-- start class org.apache.zookeeper.Environment.Entry -->
-  <class name="Environment.Entry" extends="java.lang.Object"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="Environment.Entry" type="java.lang.String, java.lang.String"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <method name="getKey" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getValue" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="toString" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-  </class>
-  <!-- end class org.apache.zookeeper.Environment.Entry -->
-  <!-- start class org.apache.zookeeper.KeeperException -->
-  <class name="KeeperException" extends="java.lang.Exception"
-    abstract="true"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException" type="org.apache.zookeeper.KeeperException.Code"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <method name="create" return="org.apache.zookeeper.KeeperException"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="code" type="org.apache.zookeeper.KeeperException.Code"/>
-      <param name="path" type="java.lang.String"/>
-      <doc>
-      <![CDATA[All non-specific keeper exceptions should be constructed via
- this factory method in order to guarantee consistency in error
- codes and such.  If you know the error code, then you should
- construct the special purpose exception directly.  That will
- allow you to have the most specific possible declarations of
- what exceptions might actually be thrown.
-
- @param code The error code.
- @param path The ZooKeeper path being operated on.
- @return The specialized exception, presumably to be thrown by
-  the caller.]]>
-      </doc>
-    </method>
-    <method name="create" return="org.apache.zookeeper.KeeperException"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link #create(Code, String)}
- instead">
-      <param name="code" type="int"/>
-      <param name="path" type="java.lang.String"/>
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link #create(Code, String)}
- instead]]>
-      </doc>
-    </method>
-    <method name="create" return="org.apache.zookeeper.KeeperException"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link #create(Code)}
- instead">
-      <param name="code" type="int"/>
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link #create(Code)}
- instead]]>
-      </doc>
-    </method>
-    <method name="create" return="org.apache.zookeeper.KeeperException"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="code" type="org.apache.zookeeper.KeeperException.Code"/>
-      <doc>
-      <![CDATA[All non-specific keeper exceptions should be constructed via
- this factory method in order to guarantee consistency in error
- codes and such.  If you know the error code, then you should
- construct the special purpose exception directly.  That will
- allow you to have the most specific possible declarations of
- what exceptions might actually be thrown.
-
- @param code The error code of your new exception.  This will
- also determine the specific type of the exception that is
- returned.
- @return The specialized exception, presumably to be thrown by
- the caller.]]>
-      </doc>
-    </method>
-    <method name="setCode"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="deprecated in 3.1.0, exceptions should be immutable, this
- method should not be used">
-      <param name="code" type="int"/>
-      <doc>
-      <![CDATA[Set the code for this exception
- @param code error code
- @deprecated deprecated in 3.1.0, exceptions should be immutable, this
- method should not be used]]>
-      </doc>
-    </method>
-    <method name="getCode" return="int"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link #code()} instead">
-      <doc>
-      <![CDATA[Read the error code for this exception
- @return the error code for this exception
- @deprecated deprecated in 3.1.0, use {@link #code()} instead]]>
-      </doc>
-    </method>
-    <method name="code" return="org.apache.zookeeper.KeeperException.Code"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Read the error Code for this exception
- @return the error Code for this exception]]>
-      </doc>
-    </method>
-    <method name="getPath" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Read the path for this exception
- @return the path associated with this error, null if none]]>
-      </doc>
-    </method>
-    <method name="getMessage" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException -->
-  <!-- start class org.apache.zookeeper.KeeperException.APIErrorException -->
-  <class name="KeeperException.APIErrorException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.APIErrorException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.APIERROR]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.APIErrorException -->
-  <!-- start class org.apache.zookeeper.KeeperException.AuthFailedException -->
-  <class name="KeeperException.AuthFailedException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.AuthFailedException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.AUTHFAILED]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.AuthFailedException -->
-  <!-- start class org.apache.zookeeper.KeeperException.BadArgumentsException -->
-  <class name="KeeperException.BadArgumentsException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.BadArgumentsException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.BADARGUMENTS]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.BadArgumentsException -->
-  <!-- start class org.apache.zookeeper.KeeperException.BadVersionException -->
-  <class name="KeeperException.BadVersionException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.BadVersionException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.BADVERSION]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.BadVersionException -->
-  <!-- start class org.apache.zookeeper.KeeperException.Code -->
-  <class name="KeeperException.Code" extends="java.lang.Enum"
-    abstract="false"
-    static="true" final="true" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.KeeperException.CodeDeprecated"/>
-    <method name="values" return="org.apache.zookeeper.KeeperException.Code[]"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="valueOf" return="org.apache.zookeeper.KeeperException.Code"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="name" type="java.lang.String"/>
-    </method>
-    <method name="intValue" return="int"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Get the int value for a particular Code.
- @return error code as integer]]>
-      </doc>
-    </method>
-    <method name="get" return="org.apache.zookeeper.KeeperException.Code"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="code" type="int"/>
-      <doc>
-      <![CDATA[Get the Code value for a particular integer error code
- @param code int error code
- @return Code value corresponding to specified int code, or null]]>
-      </doc>
-    </method>
-    <field name="OK" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Everything is OK]]>
-      </doc>
-    </field>
-    <field name="SYSTEMERROR" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[System and server-side errors.
- This is never thrown by the server, it shouldn't be used other than
- to indicate a range. Specifically error codes greater than this
- value, but lesser than {@link #APIERROR}, are system errors.]]>
-      </doc>
-    </field>
-    <field name="RUNTIMEINCONSISTENCY" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[A runtime inconsistency was found]]>
-      </doc>
-    </field>
-    <field name="DATAINCONSISTENCY" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[A data inconsistency was found]]>
-      </doc>
-    </field>
-    <field name="CONNECTIONLOSS" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Connection to the server has been lost]]>
-      </doc>
-    </field>
-    <field name="MARSHALLINGERROR" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Error while marshalling or unmarshalling data]]>
-      </doc>
-    </field>
-    <field name="UNIMPLEMENTED" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Operation is unimplemented]]>
-      </doc>
-    </field>
-    <field name="OPERATIONTIMEOUT" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Operation timeout]]>
-      </doc>
-    </field>
-    <field name="BADARGUMENTS" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Invalid arguments]]>
-      </doc>
-    </field>
-    <field name="APIERROR" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[API errors.
- This is never thrown by the server, it shouldn't be used other than
- to indicate a range. Specifically error codes greater than this
- value are API errors (while values less than this indicate a
- {@link #SYSTEMERROR}).]]>
-      </doc>
-    </field>
-    <field name="NONODE" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Node does not exist]]>
-      </doc>
-    </field>
-    <field name="NOAUTH" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Not authenticated]]>
-      </doc>
-    </field>
-    <field name="BADVERSION" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Version conflict]]>
-      </doc>
-    </field>
-    <field name="NOCHILDRENFOREPHEMERALS" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Ephemeral nodes may not have children]]>
-      </doc>
-    </field>
-    <field name="NODEEXISTS" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The node already exists]]>
-      </doc>
-    </field>
-    <field name="NOTEMPTY" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The node has children]]>
-      </doc>
-    </field>
-    <field name="SESSIONEXPIRED" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The session has been expired by the server]]>
-      </doc>
-    </field>
-    <field name="INVALIDCALLBACK" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Invalid callback specified]]>
-      </doc>
-    </field>
-    <field name="INVALIDACL" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Invalid ACL specified]]>
-      </doc>
-    </field>
-    <field name="AUTHFAILED" type="org.apache.zookeeper.KeeperException.Code"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Client authentication failed]]>
-      </doc>
-    </field>
-    <doc>
-    <![CDATA[Codes which represent the various KeeperException
- types. This enum replaces the deprecated earlier static final int
- constants. The old, deprecated, values are in "camel case" while the new
- enum values are in all CAPS.]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.Code -->
-  <!-- start interface org.apache.zookeeper.KeeperException.CodeDeprecated -->
-  <interface name="KeeperException.CodeDeprecated"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <field name="Ok" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#OK} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#OK} instead]]>
-      </doc>
-    </field>
-    <field name="SystemError" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#SYSTEMERROR} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#SYSTEMERROR} instead]]>
-      </doc>
-    </field>
-    <field name="RuntimeInconsistency" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use
- {@link Code#RUNTIMEINCONSISTENCY} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use
- {@link Code#RUNTIMEINCONSISTENCY} instead]]>
-      </doc>
-    </field>
-    <field name="DataInconsistency" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#DATAINCONSISTENCY}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#DATAINCONSISTENCY}
- instead]]>
-      </doc>
-    </field>
-    <field name="ConnectionLoss" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#CONNECTIONLOSS}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#CONNECTIONLOSS}
- instead]]>
-      </doc>
-    </field>
-    <field name="MarshallingError" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#MARSHALLINGERROR}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#MARSHALLINGERROR}
- instead]]>
-      </doc>
-    </field>
-    <field name="Unimplemented" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#UNIMPLEMENTED}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#UNIMPLEMENTED}
- instead]]>
-      </doc>
-    </field>
-    <field name="OperationTimeout" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#OPERATIONTIMEOUT}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#OPERATIONTIMEOUT}
- instead]]>
-      </doc>
-    </field>
-    <field name="BadArguments" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#BADARGUMENTS}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#BADARGUMENTS}
- instead]]>
-      </doc>
-    </field>
-    <field name="APIError" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#APIERROR} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#APIERROR} instead]]>
-      </doc>
-    </field>
-    <field name="NoNode" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#NONODE} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NONODE} instead]]>
-      </doc>
-    </field>
-    <field name="NoAuth" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#NOAUTH} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NOAUTH} instead]]>
-      </doc>
-    </field>
-    <field name="BadVersion" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#BADVERSION} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#BADVERSION} instead]]>
-      </doc>
-    </field>
-    <field name="NoChildrenForEphemerals" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use
- {@link Code#NOCHILDRENFOREPHEMERALS}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use
- {@link Code#NOCHILDRENFOREPHEMERALS}
- instead]]>
-      </doc>
-    </field>
-    <field name="NodeExists" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#NODEEXISTS} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NODEEXISTS} instead]]>
-      </doc>
-    </field>
-    <field name="NotEmpty" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#NOTEMPTY} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NOTEMPTY} instead]]>
-      </doc>
-    </field>
-    <field name="SessionExpired" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#SESSIONEXPIRED} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#SESSIONEXPIRED} instead]]>
-      </doc>
-    </field>
-    <field name="InvalidCallback" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#INVALIDCALLBACK}
- instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#INVALIDCALLBACK}
- instead]]>
-      </doc>
-    </field>
-    <field name="InvalidACL" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#INVALIDACL} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#INVALIDACL} instead]]>
-      </doc>
-    </field>
-    <field name="AuthFailed" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="deprecated in 3.1.0, use {@link Code#AUTHFAILED} instead">
-      <doc>
-      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#AUTHFAILED} instead]]>
-      </doc>
-    </field>
-    <doc>
-    <![CDATA[This interface contains the original static final int constants
- which have now been replaced with an enumeration in Code. Do not
- reference this class directly, if necessary (legacy code) continue
- to access the constants through Code.
- Note: an interface is used here due to the fact that enums cannot
- reference constants defined within the same enum as said constants
- are considered initialized _after_ the enum itself. By using an
- interface as a super type this allows the deprecated constants to
- be initialized first and referenced when constructing the enums. I
- didn't want to have constants declared twice. This
- interface should be private, but it's declared public to enable
- javadoc to include in the user API spec.]]>
-    </doc>
-  </interface>
-  <!-- end interface org.apache.zookeeper.KeeperException.CodeDeprecated -->
-  <!-- start class org.apache.zookeeper.KeeperException.ConnectionLossException -->
-  <class name="KeeperException.ConnectionLossException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.ConnectionLossException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.CONNECTIONLOSS]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.ConnectionLossException -->
-  <!-- start class org.apache.zookeeper.KeeperException.DataInconsistencyException -->
-  <class name="KeeperException.DataInconsistencyException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.DataInconsistencyException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.DATAINCONSISTENCY]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.DataInconsistencyException -->
-  <!-- start class org.apache.zookeeper.KeeperException.InvalidACLException -->
-  <class name="KeeperException.InvalidACLException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.InvalidACLException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.INVALIDACL]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.InvalidACLException -->
-  <!-- start class org.apache.zookeeper.KeeperException.InvalidCallbackException -->
-  <class name="KeeperException.InvalidCallbackException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.InvalidCallbackException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.INVALIDCALLBACK]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.InvalidCallbackException -->
-  <!-- start class org.apache.zookeeper.KeeperException.MarshallingErrorException -->
-  <class name="KeeperException.MarshallingErrorException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.MarshallingErrorException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.MARSHALLINGERROR]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.MarshallingErrorException -->
-  <!-- start class org.apache.zookeeper.KeeperException.NoAuthException -->
-  <class name="KeeperException.NoAuthException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.NoAuthException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.NOAUTH]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.NoAuthException -->
-  <!-- start class org.apache.zookeeper.KeeperException.NoChildrenForEphemeralsException -->
-  <class name="KeeperException.NoChildrenForEphemeralsException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.NoChildrenForEphemeralsException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.NOCHILDRENFOREPHEMERALS]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.NoChildrenForEphemeralsException -->
-  <!-- start class org.apache.zookeeper.KeeperException.NodeExistsException -->
-  <class name="KeeperException.NodeExistsException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.NodeExistsException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.NODEEXISTS]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.NodeExistsException -->
-  <!-- start class org.apache.zookeeper.KeeperException.NoNodeException -->
-  <class name="KeeperException.NoNodeException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.NoNodeException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.NONODE]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.NoNodeException -->
-  <!-- start class org.apache.zookeeper.KeeperException.NotEmptyException -->
-  <class name="KeeperException.NotEmptyException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.NotEmptyException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.NOTEMPTY]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.NotEmptyException -->
-  <!-- start class org.apache.zookeeper.KeeperException.OperationTimeoutException -->
-  <class name="KeeperException.OperationTimeoutException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.OperationTimeoutException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.OPERATIONTIMEOUT]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.OperationTimeoutException -->
-  <!-- start class org.apache.zookeeper.KeeperException.RuntimeInconsistencyException -->
-  <class name="KeeperException.RuntimeInconsistencyException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.RuntimeInconsistencyException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.RUNTIMEINCONSISTENCY]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.RuntimeInconsistencyException -->
-  <!-- start class org.apache.zookeeper.KeeperException.SessionExpiredException -->
-  <class name="KeeperException.SessionExpiredException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.SessionExpiredException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.SESSIONEXPIRED]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.SessionExpiredException -->
-  <!-- start class org.apache.zookeeper.KeeperException.SystemErrorException -->
-  <class name="KeeperException.SystemErrorException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.SystemErrorException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.SYSTEMERROR]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.SystemErrorException -->
-  <!-- start class org.apache.zookeeper.KeeperException.UnimplementedException -->
-  <class name="KeeperException.UnimplementedException" extends="org.apache.zookeeper.KeeperException"
-    abstract="false"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="KeeperException.UnimplementedException"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <doc>
-    <![CDATA[@see Code.UNIMPLEMENTED]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.KeeperException.UnimplementedException -->
-  <!-- start class org.apache.zookeeper.Quotas -->
-  <class name="Quotas" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="Quotas"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <method name="quotaPath" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <doc>
-      <![CDATA[return the quota path associated with this
- prefix
- @param path the actual path in zookeeper.
- @return the limit quota path]]>
-      </doc>
-    </method>
-    <method name="statPath" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <doc>
-      <![CDATA[return the stat quota path associated with this
- prefix.
- @param path the actual path in zookeeper
- @return the stat quota path]]>
-      </doc>
-    </method>
-    <field name="procZookeeper" type="java.lang.String"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[the zookeeper nodes that acts as the management and status node]]>
-      </doc>
-    </field>
-    <field name="quotaZookeeper" type="java.lang.String"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[the zookeeper quota node that acts as the quota
- management node for zookeeper]]>
-      </doc>
-    </field>
-    <field name="limitNode" type="java.lang.String"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[the limit node that has the limit of
- a subtree]]>
-      </doc>
-    </field>
-    <field name="statNode" type="java.lang.String"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[the stat node that monitors the limit of
- a subtree.]]>
-      </doc>
-    </field>
-    <doc>
-    <![CDATA[this class manages quotas
- and has many other utils
- for quota]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.Quotas -->
-  <!-- start class org.apache.zookeeper.ServerAdminClient -->
-  <class name="ServerAdminClient" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="ServerAdminClient"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <method name="ruok"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="host" type="java.lang.String"/>
-      <param name="port" type="int"/>
-    </method>
-    <method name="dump"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="host" type="java.lang.String"/>
-      <param name="port" type="int"/>
-    </method>
-    <method name="stat"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="host" type="java.lang.String"/>
-      <param name="port" type="int"/>
-    </method>
-    <method name="kill"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="host" type="java.lang.String"/>
-      <param name="port" type="int"/>
-    </method>
-    <method name="setTraceMask"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="host" type="java.lang.String"/>
-      <param name="port" type="int"/>
-      <param name="traceMaskStr" type="java.lang.String"/>
-    </method>
-    <method name="getTraceMask"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="host" type="java.lang.String"/>
-      <param name="port" type="int"/>
-    </method>
-    <method name="main"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="args" type="java.lang.String[]"/>
-    </method>
-  </class>
-  <!-- end class org.apache.zookeeper.ServerAdminClient -->
-  <!-- start class org.apache.zookeeper.StatsTrack -->
-  <class name="StatsTrack" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="StatsTrack"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[a default constructor for
- stats]]>
-      </doc>
-    </constructor>
-    <constructor name="StatsTrack" type="java.lang.String"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[the stat string should be of the form count=int,bytes=long
- if stats is called with null the count and bytes are initialized
- to -1.
- @param stats the stat string to be intialized with]]>
-      </doc>
-    </constructor>
-    <method name="getCount" return="int"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[get the count of nodes allowed as part of quota
-
- @return the count as part of this string]]>
-      </doc>
-    </method>
-    <method name="setCount"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="count" type="int"/>
-      <doc>
-      <![CDATA[set the count for this stat tracker.
-
- @param count
-            the count to set with]]>
-      </doc>
-    </method>
-    <method name="getBytes" return="long"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[get the count of bytes allowed as part of quota
-
- @return the bytes as part of this string]]>
-      </doc>
-    </method>
-    <method name="setBytes"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="bytes" type="long"/>
-      <doc>
-      <![CDATA[set teh bytes for this stat tracker.
-
- @param bytes
-            the bytes to set with]]>
-      </doc>
-    </method>
-    <method name="toString" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <doc>
-    <![CDATA[a class that represents the stats associated with quotas]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.StatsTrack -->
-  <!-- start class org.apache.zookeeper.Version -->
-  <class name="Version" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <implements name="org.apache.zookeeper.version.Info"/>
-    <constructor name="Version"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <method name="getRevision" return="int"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getBuildDate" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getVersion" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getVersionRevision" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getFullVersion" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="printUsage"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="main"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="args" type="java.lang.String[]"/>
-      <doc>
-      <![CDATA[Prints the current version, revision and build date to the standard out.
- 
- @param args
-            <ul>
-            <li> --short - prints a short version string "1.2.3"
-            <li> --revision - prints a short version string with the SVN
-            repository revision "1.2.3-94"
-            <li> --full - prints the revision and the build date
-            </ul>]]>
-      </doc>
-    </method>
-  </class>
-  <!-- end class org.apache.zookeeper.Version -->
-  <!-- start class org.apache.zookeeper.WatchedEvent -->
-  <class name="WatchedEvent" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="WatchedEvent" type="org.apache.zookeeper.Watcher.Event.EventType, org.apache.zookeeper.Watcher.Event.KeeperState, java.lang.String"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Create a WatchedEvent with specified type, state and path]]>
-      </doc>
-    </constructor>
-    <constructor name="WatchedEvent" type="org.apache.zookeeper.proto.WatcherEvent"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Convert a WatcherEvent sent over the wire into a full-fledged WatcherEvent]]>
-      </doc>
-    </constructor>
-    <method name="getState" return="org.apache.zookeeper.Watcher.Event.KeeperState"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getType" return="org.apache.zookeeper.Watcher.Event.EventType"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getPath" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="toString" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="getWrapper" return="org.apache.zookeeper.proto.WatcherEvent"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Convert WatchedEvent to type that can be sent over network]]>
-      </doc>
-    </method>
-    <doc>
-    <![CDATA[A WatchedEvent represents a change on the ZooKeeper that a Watcher
-  is able to respond to.  The WatchedEvent includes exactly what happened,
-  the current state of the ZooKeeper, and the path of the znode that
-  was involved in the event.]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.WatchedEvent -->
-  <!-- start interface org.apache.zookeeper.Watcher -->
-  <interface name="Watcher"    abstract="true"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <method name="process"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="event" type="org.apache.zookeeper.WatchedEvent"/>
-    </method>
-    <doc>
-    <![CDATA[This interface specifies the public interface an event handler class must
- implement. A ZooKeeper client will get various events from the ZooKeepr
- server it connects to. An application using such a client handles these
- events by registering a callback object with the client. The callback object
- is expected to be an instance of a class that implements Watcher interface.]]>
-    </doc>
-  </interface>
-  <!-- end interface org.apache.zookeeper.Watcher -->
-  <!-- start interface org.apache.zookeeper.Watcher.Event -->
-  <interface name="Watcher.Event"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <doc>
-    <![CDATA[This interface defines the possible states an Event may represent]]>
-    </doc>
-  </interface>
-  <!-- end interface org.apache.zookeeper.Watcher.Event -->
-  <!-- start class org.apache.zookeeper.Watcher.Event.EventType -->
-  <class name="Watcher.Event.EventType" extends="java.lang.Enum"
-    abstract="false"
-    static="true" final="true" visibility="public"
-    deprecated="not deprecated">
-    <method name="values" return="org.apache.zookeeper.Watcher.Event.EventType[]"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="valueOf" return="org.apache.zookeeper.Watcher.Event.EventType"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="name" type="java.lang.String"/>
-    </method>
-    <method name="getIntValue" return="int"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="fromInt" return="org.apache.zookeeper.Watcher.Event.EventType"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="intValue" type="int"/>
-    </method>
-    <field name="None" type="org.apache.zookeeper.Watcher.Event.EventType"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="NodeCreated" type="org.apache.zookeeper.Watcher.Event.EventType"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="NodeDeleted" type="org.apache.zookeeper.Watcher.Event.EventType"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="NodeDataChanged" type="org.apache.zookeeper.Watcher.Event.EventType"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="NodeChildrenChanged" type="org.apache.zookeeper.Watcher.Event.EventType"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <doc>
-    <![CDATA[Enumeration of types of events that may occur on the ZooKeeper]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.Watcher.Event.EventType -->
-  <!-- start class org.apache.zookeeper.Watcher.Event.KeeperState -->
-  <class name="Watcher.Event.KeeperState" extends="java.lang.Enum"
-    abstract="false"
-    static="true" final="true" visibility="public"
-    deprecated="not deprecated">
-    <method name="values" return="org.apache.zookeeper.Watcher.Event.KeeperState[]"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="valueOf" return="org.apache.zookeeper.Watcher.Event.KeeperState"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="name" type="java.lang.String"/>
-    </method>
-    <method name="getIntValue" return="int"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="fromInt" return="org.apache.zookeeper.Watcher.Event.KeeperState"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="intValue" type="int"/>
-    </method>
-    <field name="Unknown" type="org.apache.zookeeper.Watcher.Event.KeeperState"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Unused, this state is never generated by the server]]>
-      </doc>
-    </field>
-    <field name="Disconnected" type="org.apache.zookeeper.Watcher.Event.KeeperState"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The client is in the disconnected state - it is not connected
- to any server in the ensemble.]]>
-      </doc>
-    </field>
-    <field name="NoSyncConnected" type="org.apache.zookeeper.Watcher.Event.KeeperState"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[Unused, this state is never generated by the server]]>
-      </doc>
-    </field>
-    <field name="SyncConnected" type="org.apache.zookeeper.Watcher.Event.KeeperState"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The client is in the connected state - it is connected
- to a server in the ensemble (one of the servers specified
- in the host connection parameter during ZooKeeper client
- creation).]]>
-      </doc>
-    </field>
-    <field name="Expired" type="org.apache.zookeeper.Watcher.Event.KeeperState"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The serving cluster has expired this session. The ZooKeeper
- client connection (the session) is no longer valid. You must
- create a new client connection (instantiate a new ZooKeeper
- instance) if you with to access the ensemble.]]>
-      </doc>
-    </field>
-    <doc>
-    <![CDATA[Enumeration of states the ZooKeeper may be at the event]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.Watcher.Event.KeeperState -->
-  <!-- start class org.apache.zookeeper.ZooDefs -->
-  <class name="ZooDefs" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="ZooDefs"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <field name="opNames" type="java.lang.String[]"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-  </class>
-  <!-- end class org.apache.zookeeper.ZooDefs -->
-  <!-- start interface org.apache.zookeeper.ZooDefs.Ids -->
-  <interface name="ZooDefs.Ids"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <field name="ANYONE_ID_UNSAFE" type="org.apache.zookeeper.data.Id"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[This Id represents anyone.]]>
-      </doc>
-    </field>
-    <field name="AUTH_IDS" type="org.apache.zookeeper.data.Id"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[This Id is only usable to set ACLs. It will get substituted with the
- Id's the client authenticated with.]]>
-      </doc>
-    </field>
-    <field name="OPEN_ACL_UNSAFE" type="java.util.ArrayList"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[This is a completely open ACL with the exception of ADMIN permission.]]>
-      </doc>
-    </field>
-    <field name="CREATOR_ALL_ACL" type="java.util.ArrayList"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[This ACL gives the creators authentication id's all permissions.]]>
-      </doc>
-    </field>
-    <field name="READ_ACL_UNSAFE" type="java.util.ArrayList"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[This ACL gives the world the ability to read.]]>
-      </doc>
-    </field>
-  </interface>
-  <!-- end interface org.apache.zookeeper.ZooDefs.Ids -->
-  <!-- start interface org.apache.zookeeper.ZooDefs.OpCode -->
-  <interface name="ZooDefs.OpCode"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <field name="notification" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="create" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="delete" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="exists" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="getData" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="setData" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="getACL" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="setACL" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="getChildren" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="sync" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="ping" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="auth" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="setWatches" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="createSession" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="closeSession" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="error" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-  </interface>
-  <!-- end interface org.apache.zookeeper.ZooDefs.OpCode -->
-  <!-- start interface org.apache.zookeeper.ZooDefs.Perms -->
-  <interface name="ZooDefs.Perms"    abstract="true"
-    static="true" final="false" visibility="public"
-    deprecated="not deprecated">
-    <field name="READ" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="WRITE" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="CREATE" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="DELETE" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="ADMIN" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="ALL" type="int"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-  </interface>
-  <!-- end interface org.apache.zookeeper.ZooDefs.Perms -->
-  <!-- start class org.apache.zookeeper.ZooKeeper -->
-  <class name="ZooKeeper" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="ZooKeeper" type="java.lang.String, int, org.apache.zookeeper.Watcher"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <exception name="IOException" type="java.io.IOException"/>
-      <doc>
-      <![CDATA[To create a client(ZooKeeper) object, the application needs to pass a
- string containing a comma separated list of host:port pairs, each 
- corresponding to a ZooKeeper server.
- <p>
- The client object will pick an arbitrary server and try to connect to it.
- If failed, it will try the next one in the list, until a connection is
- established, or all the servers have been tried.
-
- @param host
-            comma separated host:port pairs, each corresponding to a zk
-            server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
- @param sessionTimeout
-            session timeout in milliseconds
- @param watcher
-            a watcher object which will be notified of state changes, may
-            also be notified for node events
-
- @throws IOException in cases of network failure]]>
-      </doc>
-    </constructor>
-    <constructor name="ZooKeeper" type="java.lang.String, int, org.apache.zookeeper.Watcher, long, byte[]"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <exception name="IOException" type="java.io.IOException"/>
-      <doc>
-      <![CDATA[To create a client(ZooKeeper) object, the application needs to pass a
- string containing a comma separated list of host:port pairs, each
- corresponding to a ZooKeeper server.
- <p>
- The client object will pick an arbitrary server and try to connect to it.
- If failed, it will try the next one in the list, until a connection is
- established, or all the servers have been tried.
- <p>
- Use {@link #getSessionId} and {@link #getSessionPasswd} on an established
- client connection, these values must be passed as sessionId and
- sessionPasswd respectively if reconnecting. Otherwise, if not
- reconnecting, use the other constructor which does not require these
- parameters.
-
- @param host
-            comma separated host:port pairs, each corresponding to a zk
-            server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
- @param sessionTimeout
-            session timeout in milliseconds
- @param watcher
-            a watcher object which will be notified of state changes, may
-            also be notified for node events
- @param sessionId
-            specific session id to use if reconnecting
- @param sessionPasswd
-            password for this session
-
- @throws IOException in cases of network failure]]>
-      </doc>
-    </constructor>
-    <method name="getSessionId" return="long"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The session id for this ZooKeeper client instance. The value returned is
- not valid until the client connects to a server and may change after a
- re-connect.
-
- @return current session id]]>
-      </doc>
-    </method>
-    <method name="getSessionPasswd" return="byte[]"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <doc>
-      <![CDATA[The session password for this ZooKeeper client instance. The value
- returned is not valid until the client connects to a server and may
- change after a re-connect.
-
- @return current session password]]>
-      </doc>
-    </method>
-    <method name="addAuthInfo"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="scheme" type="java.lang.String"/>
-      <param name="auth" type="byte[]"/>
-    </method>
-    <method name="register"
-      abstract="false" native="false" synchronized="true"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
-    </method>
-    <method name="close"
-      abstract="false" native="false" synchronized="true"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Close this client object. Once the client is closed, its session becomes
- invalid. All the ephemeral nodes in the ZooKeeper server associated with
- the session will be removed. The watches left on those nodes (and on
- their parents) will be triggered.
-
- @throws InterruptedException
-
- @throws IOException
- @throws InterruptedException]]>
-      </doc>
-    </method>
-    <method name="create" return="java.lang.String"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="data" type="byte[]"/>
-      <param name="acl" type="java.util.List"/>
-      <param name="createMode" type="org.apache.zookeeper.CreateMode"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Create a node with the given path. The node data will be the given data,
- and node acl will be the given acl.
- <p>
- The flags argument specifies whether the created node will be ephemeral
- or not.
- <p>
- An ephemeral node will be removed by the ZooKeeper automatically when the
- session associated with the creation of the node expires.
- <p>
- The flags argument can also specify to create a sequential node. The
- actual path name of a sequential node will be the given path plus a
- suffix "_i" where i is the current sequential number of the node. Once
- such a node is created, the sequential number will be incremented by one.
- <p>
- If a node with the same actual path already exists in the ZooKeeper, a
- KeeperException with error code KeeperException.NodeExists will be
- thrown. Note that since a different actual path is used for each
- invocation of creating sequential node with the same path argument, the
- call will never throw "file exists" KeeperException.
- <p>
- If the parent node does not exist in the ZooKeeper, a KeeperException
- with error code KeeperException.NoNode will be thrown.
- <p>
- An ephemeral node cannot have children. If the parent node of the given
- path is ephemeral, a KeeperException with error code
- KeeperException.NoChildrenForEphemerals will be thrown.
- <p>
- This operation, if successful, will trigger all the watches left on the
- node of the given path by exists and getData API calls, and the watches
- left on the parent node by getChildren API calls.
- <p>
- If a node is created successfully, the ZooKeeper server will trigger the
- watches on the path left by exists calls, and the watches on the parent
- of the node by getChildren calls.
- <p>
- The maximum allowable size of the data array is 1 MB (1,048,576 bytes).
- Arrays larger than this will cause a KeeperExecption to be thrown.
-
- @param path
-                the path for the node
- @param data
-                the initial data for the node
- @param acl
-                the acl for the node
- @param flags
-                specifying whether the node to be created is ephemeral
-                and/or sequential
- @return the actual path of the created node
- @throws KeeperException if the server returns a non-zero error code
- @throws org.apache.zookeeper.KeeperException.InvalidACLException if the ACL is invalid
- @throws InterruptedException if the transaction is interrupted
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="validatePath"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <exception name="IllegalArgumentException" type="java.lang.IllegalArgumentException"/>
-      <doc>
-      <![CDATA[Validate the provided znode path string
- @param path znode path string
- @throws IllegalArgumentException if the path is invalid]]>
-      </doc>
-    </method>
-    <method name="create"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="data" type="byte[]"/>
-      <param name="acl" type="java.util.List"/>
-      <param name="createMode" type="org.apache.zookeeper.CreateMode"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StringCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of create. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #create(String, byte[], List<ACL>, CreateMode)]]>
-      </doc>
-    </method>
-    <method name="delete"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="version" type="int"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <doc>
-      <![CDATA[Delete the node with the given path. The call will succeed if such a node
- exists, and the given version matches the node's version (if the given
- version is -1, it matches any node's versions).
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if the nodes does not exist.
- <p>
- A KeeperException with error code KeeperException.BadVersion will be
- thrown if the given version does not match the node's version.
- <p>
- A KeeperException with error code KeeperException.NotEmpty will be thrown
- if the node has children.
- <p>
- This operation, if successful, will trigger all the watches on the node
- of the given path left by exists API calls, and the watches on the parent
- node left by getChildren API calls.
-
- @param path
-                the path of the node to be deleted.
- @param version
-                the expected node version.
- @throws InterruptedException IF the server transaction is interrupted
- @throws KeeperException If the server signals an error with a non-zero return code.
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="delete"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="version" type="int"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.VoidCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of delete. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #delete(String, int)]]>
-      </doc>
-    </method>
-    <method name="exists" return="org.apache.zookeeper.data.Stat"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Return the stat of the node of the given path. Return null if no such a
- node exists.
- <p>
- If the watch is non-null and the call is successful (no exception is thrown),
- a watch will be left on the node with the given path. The watch will be
- triggered by a successful operation that creates/delete the node or sets
- the data on the node.
-
- @param path the node path
- @param watcher explicit watcher
- @return the stat of the node of the given path; return null if no such a
-         node exists.
- @throws KeeperException If the server signals an error
- @throws InterruptedException If the server transaction is interrupted.
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="exists" return="org.apache.zookeeper.data.Stat"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watch" type="boolean"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Return the stat of the node of the given path. Return null if no such a
- node exists.
- <p>
- If the watch is true and the call is successful (no exception is thrown),
- a watch will be left on the node with the given path. The watch will be
- triggered by a successful operation that creates/delete the node or sets
- the data on the node.
-
- @param path
-                the node path
- @param watch
-                whether need to watch this node
- @return the stat of the node of the given path; return null if no such a
-         node exists.
- @throws KeeperException If the server signals an error
- @throws InterruptedException If the server transaction is interrupted.]]>
-      </doc>
-    </method>
-    <method name="exists"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of exists. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #exists(String, boolean)]]>
-      </doc>
-    </method>
-    <method name="exists"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watch" type="boolean"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of exists. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #exists(String, boolean)]]>
-      </doc>
-    </method>
-    <method name="getData" return="byte[]"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
-      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Return the data and the stat of the node of the given path.
- <p>
- If the watch is non-null and the call is successful (no exception is
- thrown), a watch will be left on the node with the given path. The watch
- will be triggered by a successful operation that sets data on the node, or
- deletes the node.
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if no node with the given path exists.
-
- @param path the given path
- @param watcher explicit watcher
- @param stat the stat of the node
- @return the data of the node
- @throws KeeperException If the server signals an error with a non-zero error code
- @throws InterruptedException If the server transaction is interrupted.
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="getData" return="byte[]"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watch" type="boolean"/>
-      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Return the data and the stat of the node of the given path.
- <p>
- If the watch is true and the call is successful (no exception is
- thrown), a watch will be left on the node with the given path. The watch
- will be triggered by a successful operation that sets data on the node, or
- deletes the node.
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if no node with the given path exists.
-
- @param path the given path
- @param watch whether need to watch this node
- @param stat the stat of the node
- @return the data of the node
- @throws KeeperException If the server signals an error with a non-zero error code
- @throws InterruptedException If the server transaction is interrupted.]]>
-      </doc>
-    </method>
-    <method name="getData"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.DataCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of getData. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #getData(String, Watcher, Stat)]]>
-      </doc>
-    </method>
-    <method name="getData"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watch" type="boolean"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.DataCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of getData. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #getData(String, boolean, Stat)]]>
-      </doc>
-    </method>
-    <method name="setData" return="org.apache.zookeeper.data.Stat"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="data" type="byte[]"/>
-      <param name="version" type="int"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Set the data for the node of the given path if such a node exists and the
- given version matches the version of the node (if the given version is
- -1, it matches any node's versions). Return the stat of the node.
- <p>
- This operation, if successful, will trigger all the watches on the node
- of the given path left by getData calls.
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if no node with the given path exists.
- <p>
- A KeeperException with error code KeeperException.BadVersion will be
- thrown if the given version does not match the node's version.
- <p>
- The maximum allowable size of the data array is 1 MB (1,048,576 bytes).
- Arrays larger than this will cause a KeeperExecption to be thrown.
-
- @param path
-                the path of the node
- @param data
-                the data to set
- @param version
-                the expected matching version
- @return the state of the node
- @throws InterruptedException If the server transaction is interrupted.
- @throws KeeperException If the server signals an error with a non-zero error code.
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="setData"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="data" type="byte[]"/>
-      <param name="version" type="int"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of setData. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #setData(String, byte[], int)]]>
-      </doc>
-    </method>
-    <method name="getACL" return="java.util.List"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Return the ACL and stat of the node of the given path.
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if no node with the given path exists.
-
- @param path
-                the given path for the node
- @param stat
-                the stat of the node will be copied to this parameter.
- @return the ACL array of the given node.
- @throws InterruptedException If the server transaction is interrupted.
- @throws KeeperException If the server signals an error with a non-zero error code.
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="getACL"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.ACLCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of getACL. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #getACL(String, Stat)]]>
-      </doc>
-    </method>
-    <method name="setACL" return="org.apache.zookeeper.data.Stat"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="acl" type="java.util.List"/>
-      <param name="version" type="int"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Set the ACL for the node of the given path if such a node exists and the
- given version matches the version of the node. Return the stat of the
- node.
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if no node with the given path exists.
- <p>
- A KeeperException with error code KeeperException.BadVersion will be
- thrown if the given version does not match the node's version.
-
- @param path
- @param acl
- @param version
- @return the stat of the node.
- @throws InterruptedException If the server transaction is interrupted.
- @throws KeeperException If the server signals an error with a non-zero error code.
- @throws org.apache.zookeeper.KeeperException.InvalidACLException If the acl is invalide.
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="setACL"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="acl" type="java.util.List"/>
-      <param name="version" type="int"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of setACL. The request doesn't actually until
- the asynchronous callback is called.
-
- @see #setACL(String, List, int)]]>
-      </doc>
-    </method>
-    <method name="getChildren" return="java.util.List"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Return the list of the children of the node of the given path.
- <p>
- If the watch is non-null and the call is successful (no exception is thrown),
- a watch will be left on the node with the given path. The watch willbe
- triggered by a successful operation that deletes the node of the given
- path or creates/delete a child under the node.
- <p>
- The list of children returned is not sorted and no guarantee is provided
- as to its natural or lexical order.
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if no node with the given path exists.
-
- @param path
- @param watcher explicit watcher
- @return an unordered array of children of the node with the given path
- @throws InterruptedException If the server transaction is interrupted.
- @throws KeeperException If the server signals an error with a non-zero error code.
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="getChildren" return="java.util.List"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watch" type="boolean"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[Return the list of the children of the node of the given path.
- <p>
- If the watch is true and the call is successful (no exception is thrown),
- a watch will be left on the node with the given path. The watch willbe
- triggered by a successful operation that deletes the node of the given
- path or creates/delete a child under the node.
- <p>
- The list of children returned is not sorted and no guarantee is provided
- as to its natural or lexical order.
- <p>
- A KeeperException with error code KeeperException.NoNode will be thrown
- if no node with the given path exists.
-
- @param path
- @param watch
- @return an unordered array of children of the node with the given path
- @throws InterruptedException If the server transaction is interrupted.
- @throws KeeperException If the server signals an error with a non-zero error code.]]>
-      </doc>
-    </method>
-    <method name="getChildren"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.ChildrenCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of getChildren. The request doesn't actually
- until the asynchronous callback is called.
-
- @see #getChildren(String, Watcher)]]>
-      </doc>
-    </method>
-    <method name="getChildren"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="watch" type="boolean"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.ChildrenCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[The Asynchronous version of getChildren. The request doesn't actually
- until the asynchronous callback is called.
-
- @see #getChildren(String, boolean)]]>
-      </doc>
-    </method>
-    <method name="sync"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="path" type="java.lang.String"/>
-      <param name="cb" type="org.apache.zookeeper.AsyncCallback.VoidCallback"/>
-      <param name="ctx" type="java.lang.Object"/>
-      <doc>
-      <![CDATA[Asynchronous sync. Flushes channel between process and leader.
- @param path
- @param cb a handler for the callback
- @param ctx context to be provided to the callback
- @throws IllegalArgumentException if an invalid path is specified]]>
-      </doc>
-    </method>
-    <method name="getState" return="org.apache.zookeeper.ZooKeeper.States"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <field name="cnxn" type="org.apache.zookeeper.ClientCnxn"
-      transient="false" volatile="false"
-      static="false" final="true" visibility="protected"
-      deprecated="not deprecated">
-    </field>
-    <doc>
-    <![CDATA[This is the main class of ZooKeeper client library. To use a ZooKeeper
- service, an application must first instantiate an object of ZooKeeper class.
- All the iterations will be done by calling the methods of ZooKeeper class.
- <p>
- Once a connection to a server is established, a session ID is assigned to the
- client. The client will send heart beats to the server periodically to keep
- the session valid.
- <p>
- The application can call ZooKeeper APIs through a client as long as the
- session ID of the client remains valid.
- <p>
- If for some reason, the client fails to send heart beats to the server for a
- prolonged period of time (exceeding the sessionTimeout value, for instance),
- the server will expire the session, and the session ID will become invalid.
- The client object will no longer be usable. To make ZooKeeper API calls, the
- application must create a new client object.
- <p>
- If the ZooKeeper server the client currently connects to fails or otherwise
- does not respond, the client will automatically try to connect to another
- server before its session ID expires. If successful, the application can
- continue to use the client.
- <p>
- Some successful ZooKeeper API calls can leave watches on the "data nodes" in
- the ZooKeeper server. Other successful ZooKeeper API calls can trigger those
- watches. Once a watch is triggered, an event will be delivered to the client
- which left the watch at the first place. Each watch can be triggered only
- once. Thus, up to one event will be delivered to a client for every watch it
- leaves.
- <p>
- A client needs an object of a class implementing Watcher interface for
- processing the events delivered to the client.
-
- When a client drops current connection and re-connects to a server, all the
- existing watches are considered as being triggered but the undelivered events
- are lost. To emulate this, the client will generate a special event to tell
- the event handler a connection has been dropped. This special event has type
- EventNone and state sKeeperStateDisconnected.]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.ZooKeeper -->
-  <!-- start class org.apache.zookeeper.ZooKeeper.States -->
-  <class name="ZooKeeper.States" extends="java.lang.Enum"
-    abstract="false"
-    static="true" final="true" visibility="public"
-    deprecated="not deprecated">
-    <method name="values" return="org.apache.zookeeper.ZooKeeper.States[]"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <method name="valueOf" return="org.apache.zookeeper.ZooKeeper.States"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="name" type="java.lang.String"/>
-    </method>
-    <method name="isAlive" return="boolean"
-      abstract="false" native="false" synchronized="false"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </method>
-    <field name="CONNECTING" type="org.apache.zookeeper.ZooKeeper.States"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="ASSOCIATING" type="org.apache.zookeeper.ZooKeeper.States"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="CONNECTED" type="org.apache.zookeeper.ZooKeeper.States"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="CLOSED" type="org.apache.zookeeper.ZooKeeper.States"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-    <field name="AUTH_FAILED" type="org.apache.zookeeper.ZooKeeper.States"
-      transient="false" volatile="false"
-      static="true" final="true" visibility="public"
-      deprecated="not deprecated">
-    </field>
-  </class>
-  <!-- end class org.apache.zookeeper.ZooKeeper.States -->
-  <!-- start class org.apache.zookeeper.ZooKeeperMain -->
-  <class name="ZooKeeperMain" extends="java.lang.Object"
-    abstract="false"
-    static="false" final="false" visibility="public"
-    deprecated="not deprecated">
-    <constructor name="ZooKeeperMain"
-      static="false" final="false" visibility="public"
-      deprecated="not deprecated">
-    </constructor>
-    <method name="main"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="args" type="java.lang.String[]"/>
-      <exception name="NumberFormatException" type="java.lang.NumberFormatException"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="IOException" type="java.io.IOException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-    </method>
-    <method name="delQuota" return="boolean"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="zk" type="org.apache.zookeeper.ZooKeeper"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="bytes" type="boolean"/>
-      <param name="numNodes" type="boolean"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="IOException" type="java.io.IOException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[this method deletes quota for a node.
- @param zk the zookeeper client
- @param path the path to delete quota for
- @param bytes true if number of bytes needs to
- be unset
- @param numNodes true if number of nodes needs 
- to be unset
- @return true if quota deletion is successful
- @throws KeeperException
- @throws IOException
- @throws InterruptedException]]>
-      </doc>
-    </method>
-    <method name="createQuota" return="boolean"
-      abstract="false" native="false" synchronized="false"
-      static="true" final="false" visibility="public"
-      deprecated="not deprecated">
-      <param name="zk" type="org.apache.zookeeper.ZooKeeper"/>
-      <param name="path" type="java.lang.String"/>
-      <param name="bytes" type="long"/>
-      <param name="numNodes" type="int"/>
-      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
-      <exception name="IOException" type="java.io.IOException"/>
-      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
-      <doc>
-      <![CDATA[this method creates a quota node for the path
- @param zk the ZooKeeper client
- @param path the path for which quota needs to be created
- @param bytes the limit of bytes on this path
- @param numNodes the limit of number of nodes on this path
- @return true if its successful and false if not.]]>
-      </doc>
-    </method>
-    <doc>
-    <![CDATA[The command line client to ZooKeeper.]]>
-    </doc>
-  </class>
-  <!-- end class org.apache.zookeeper.ZooKeeperMain -->
-</package>
-
-</api>