zookeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From an...@apache.org
Subject [45/45] zookeeper git commit: ZOOKEEPER-3030: MAVEN MIGRATION - Step 1.3 - move contrib directories
Date Mon, 06 Aug 2018 12:14:10 GMT
ZOOKEEPER-3030: MAVEN MIGRATION - Step 1.3 - move contrib directories

Move the contrib projects according to new directory structure.
In the PR src/contrib/zkperl/build/check_zk_version.c and .h looks like I removed the file. but everything looks good on my local (I just moved them, did not modify anything). Will investigate further.

DO-NOT-MERGE-YET: Checking if creating the maven structure of directories now will break anything other then the already different directory structure in build/zookeeper-[version]/src/ (I will write an e-mail about this on dev list)

Author: Norbert Kalmar <nkalmar@yahoo.com>

Reviewers: andor@apache.org

Closes #574 from nkalmar/ZOOKEEPER-3030 and squashes the following commits:

49b7519b [Norbert Kalmar] ZOOKEEPER-3030 create maven dir structure
9f19ab06 [Norbert Kalmar] ZOOKEEPER-3030 fix releaseaudit license missing exclusions
59d9d17d [Norbert Kalmar] ZOOKEEPER-3030 add missing files in dist.dir
165d4dc5 [Norbert Kalmar] ZOOKEEPER-3030 - MAVEN MIGRATION - move contrib directories


Project: http://git-wip-us.apache.org/repos/asf/zookeeper/repo
Commit: http://git-wip-us.apache.org/repos/asf/zookeeper/commit/b0df8fe1
Tree: http://git-wip-us.apache.org/repos/asf/zookeeper/tree/b0df8fe1
Diff: http://git-wip-us.apache.org/repos/asf/zookeeper/diff/b0df8fe1

Branch: refs/heads/master
Commit: b0df8fe1e10e63aa2b268e126d109cc61ea2d33c
Parents: 44d2736
Author: Norbert Kalmar <nkalmar@yahoo.com>
Authored: Mon Aug 6 14:13:17 2018 +0200
Committer: Andor Molnar <andor@apache.org>
Committed: Mon Aug 6 14:13:17 2018 +0200

----------------------------------------------------------------------
 build.xml                                       |   44 +-
 src/contrib/build-contrib.xml                   |  233 -
 src/contrib/build.xml                           |   70 -
 src/contrib/fatjar/README.txt                   |    2 -
 src/contrib/fatjar/build.xml                    |   74 -
 src/contrib/fatjar/conf/mainClasses             |   10 -
 .../org/apache/zookeeper/util/FatJarMain.java   |  128 -
 src/contrib/huebrowser/README                   |   62 -
 src/contrib/huebrowser/zkui/Makefile            |   21 -
 src/contrib/huebrowser/zkui/setup.py            |   46 -
 .../huebrowser/zkui/src/zkui/__init__.py        |   16 -
 src/contrib/huebrowser/zkui/src/zkui/forms.py   |   29 -
 src/contrib/huebrowser/zkui/src/zkui/models.py  |   17 -
 src/contrib/huebrowser/zkui/src/zkui/rest.py    |  230 -
 .../huebrowser/zkui/src/zkui/settings.py        |   30 -
 .../zkui/src/zkui/static/art/line_icons.png     |  Bin 7499 -> 0 bytes
 .../zkui/src/zkui/static/art/zkui.png           |  Bin 4430 -> 0 bytes
 .../zkui/src/zkui/static/bootstrap.js           |   32 -
 .../zkui/src/zkui/static/css/zkui.css           |   56 -
 .../zkui/src/zkui/static/help/index.html        |   26 -
 .../zkui/src/zkui/static/js/Source/Zkui/Zkui.js |   50 -
 .../zkui/src/zkui/static/js/package.yml         |   19 -
 src/contrib/huebrowser/zkui/src/zkui/stats.py   |  170 -
 .../zkui/src/zkui/templates/clients.mako        |   51 -
 .../zkui/src/zkui/templates/create.mako         |   34 -
 .../zkui/src/zkui/templates/edit.mako           |   34 -
 .../zkui/src/zkui/templates/index.mako          |   54 -
 .../src/zkui/templates/shared_components.mako   |   66 -
 .../zkui/src/zkui/templates/tree.mako           |   75 -
 .../zkui/src/zkui/templates/view.mako           |  128 -
 src/contrib/huebrowser/zkui/src/zkui/urls.py    |   28 -
 src/contrib/huebrowser/zkui/src/zkui/utils.py   |   33 -
 src/contrib/huebrowser/zkui/src/zkui/views.py   |  165 -
 .../huebrowser/zkui/src/zkui/windmilltests.py   |   23 -
 src/contrib/loggraph/README.txt                 |   69 -
 src/contrib/loggraph/bin/loggraph-dev.sh        |   43 -
 src/contrib/loggraph/bin/loggraph.sh            |   48 -
 src/contrib/loggraph/build.xml                  |   70 -
 src/contrib/loggraph/ivy.xml                    |   44 -
 .../apache/zookeeper/graph/FilterException.java |   22 -
 .../org/apache/zookeeper/graph/FilterOp.java    |   76 -
 .../apache/zookeeper/graph/FilterParser.java    |  131 -
 .../apache/zookeeper/graph/JsonGenerator.java   |  224 -
 .../org/apache/zookeeper/graph/Log4JEntry.java  |   40 -
 .../org/apache/zookeeper/graph/Log4JSource.java |  391 --
 .../org/apache/zookeeper/graph/LogEntry.java    |   47 -
 .../org/apache/zookeeper/graph/LogIterator.java |   26 -
 .../org/apache/zookeeper/graph/LogServer.java   |   66 -
 .../org/apache/zookeeper/graph/LogSkipList.java |   95 -
 .../org/apache/zookeeper/graph/LogSource.java   |   33 -
 .../zookeeper/graph/MeasureThroughput.java      |  104 -
 .../apache/zookeeper/graph/MergedLogSource.java |  219 -
 .../zookeeper/graph/RandomAccessFileReader.java |  329 --
 .../zookeeper/graph/TransactionEntry.java       |   59 -
 .../apache/zookeeper/graph/TxnLogSource.java    |  376 --
 .../apache/zookeeper/graph/filterops/AndOp.java |   33 -
 .../apache/zookeeper/graph/filterops/Arg.java   |   36 -
 .../zookeeper/graph/filterops/EqualsOp.java     |   44 -
 .../graph/filterops/GreaterThanOp.java          |   70 -
 .../zookeeper/graph/filterops/LessThanOp.java   |   69 -
 .../apache/zookeeper/graph/filterops/NotOp.java |   31 -
 .../zookeeper/graph/filterops/NumberArg.java    |   28 -
 .../apache/zookeeper/graph/filterops/OrOp.java  |   33 -
 .../zookeeper/graph/filterops/StringArg.java    |   28 -
 .../zookeeper/graph/filterops/SymbolArg.java    |   27 -
 .../apache/zookeeper/graph/filterops/XorOp.java |   40 -
 .../zookeeper/graph/servlets/FileLoader.java    |   60 -
 .../org/apache/zookeeper/graph/servlets/Fs.java |   69 -
 .../zookeeper/graph/servlets/GraphData.java     |   85 -
 .../zookeeper/graph/servlets/JsonServlet.java   |   85 -
 .../zookeeper/graph/servlets/NumEvents.java     |   88 -
 .../zookeeper/graph/servlets/StaticContent.java |   53 -
 .../zookeeper/graph/servlets/Throughput.java    |  126 -
 .../org/apache/zookeeper/graph/log4j.properties |   11 -
 .../zookeeper/graph/resources/date.format.js    |  126 -
 .../apache/zookeeper/graph/resources/g.bar.js   |  385 --
 .../apache/zookeeper/graph/resources/g.dot.js   |  110 -
 .../apache/zookeeper/graph/resources/g.line.js  |  230 -
 .../apache/zookeeper/graph/resources/g.pie.js   |  205 -
 .../zookeeper/graph/resources/g.raphael.js      |  481 --
 .../zookeeper/graph/resources/load-big.gif      |  Bin 1924 -> 0 bytes
 .../apache/zookeeper/graph/resources/load.gif   |  Bin 673 -> 0 bytes
 .../zookeeper/graph/resources/loggraph.css      |   54 -
 .../zookeeper/graph/resources/loggraph.js       |  262 -
 .../zookeeper/graph/resources/loggraph.log.js   |   57 -
 .../graph/resources/loggraph.server.js          |  329 --
 .../graph/resources/loggraph.session.js         |  202 -
 .../zookeeper/graph/resources/loggraph.stats.js |   44 -
 .../zookeeper/graph/resources/loggraph.ui.js    |  377 --
 .../apache/zookeeper/graph/resources/main.html  |   60 -
 .../apache/zookeeper/graph/resources/raphael.js | 3296 -------------
 .../apache/zookeeper/graph/resources/yui-min.js |   12 -
 src/contrib/monitoring/JMX-RESOURCES            |   38 -
 src/contrib/monitoring/README                   |   85 -
 src/contrib/monitoring/cacti/README             |   56 -
 src/contrib/monitoring/check_zookeeper.py       |  407 --
 src/contrib/monitoring/ganglia/README           |   48 -
 src/contrib/monitoring/ganglia/Screenshot.png   |  Bin 111055 -> 0 bytes
 src/contrib/monitoring/ganglia/modpython.conf   |   28 -
 src/contrib/monitoring/ganglia/zookeeper.pyconf |   53 -
 .../monitoring/ganglia/zookeeper_ganglia.py     |  250 -
 src/contrib/monitoring/nagios/README.txt        |   86 -
 src/contrib/monitoring/nagios/Screenshot-1.png  |  Bin 196668 -> 0 bytes
 src/contrib/monitoring/nagios/Screenshot.png    |  Bin 163646 -> 0 bytes
 src/contrib/monitoring/nagios/hostgroups.cfg    |   25 -
 src/contrib/monitoring/nagios/services.cfg      |   67 -
 src/contrib/monitoring/nagios/zookeeper.cfg     |   30 -
 src/contrib/monitoring/test.py                  |  282 --
 src/contrib/rest/NOTICE.txt                     |    7 -
 src/contrib/rest/README.txt                     |   72 -
 src/contrib/rest/SPEC.txt                       |  355 --
 src/contrib/rest/build.xml                      |  189 -
 src/contrib/rest/conf/keys/README               |    8 -
 src/contrib/rest/conf/keys/rest.cer             |  Bin 595 -> 0 bytes
 src/contrib/rest/conf/keys/rest.jks             |  Bin 1363 -> 0 bytes
 src/contrib/rest/conf/log4j.properties          |   68 -
 src/contrib/rest/conf/rest.properties           |   70 -
 src/contrib/rest/ivy.xml                        |   48 -
 src/contrib/rest/rest.sh                        |   90 -
 .../zookeeper/server/jersey/RestMain.java       |  151 -
 .../server/jersey/ZooKeeperService.java         |  242 -
 .../server/jersey/cfg/Credentials.java          |   47 -
 .../zookeeper/server/jersey/cfg/Endpoint.java   |   72 -
 .../zookeeper/server/jersey/cfg/HostPort.java   |   51 -
 .../server/jersey/cfg/HostPortSet.java          |   51 -
 .../zookeeper/server/jersey/cfg/RestCfg.java    |  110 -
 .../server/jersey/filters/HTTPBasicAuth.java    |   87 -
 .../zookeeper/server/jersey/jaxb/ZChildren.java |   80 -
 .../server/jersey/jaxb/ZChildrenJSON.java       |   76 -
 .../zookeeper/server/jersey/jaxb/ZError.java    |   41 -
 .../zookeeper/server/jersey/jaxb/ZPath.java     |   63 -
 .../zookeeper/server/jersey/jaxb/ZSession.java  |   55 -
 .../zookeeper/server/jersey/jaxb/ZStat.java     |  106 -
 .../jersey/resources/JAXBContextResolver.java   |   72 -
 .../jersey/resources/KeeperExceptionMapper.java |   86 -
 .../resources/RuntimeExceptionMapper.java       |   55 -
 .../jersey/resources/SessionsResource.java      |  135 -
 .../server/jersey/resources/ZErrorWriter.java   |   63 -
 .../server/jersey/resources/ZNodeResource.java  |  412 --
 src/contrib/rest/src/python/README.txt          |    9 -
 .../rest/src/python/demo_master_election.py     |   90 -
 src/contrib/rest/src/python/demo_queue.py       |   99 -
 src/contrib/rest/src/python/test.py             |  163 -
 src/contrib/rest/src/python/zk_dump_tree.py     |  108 -
 src/contrib/rest/src/python/zkrest.py           |  218 -
 .../apache/zookeeper/server/jersey/Base.java    |   91 -
 .../zookeeper/server/jersey/CreateTest.java     |  162 -
 .../zookeeper/server/jersey/DeleteTest.java     |   95 -
 .../zookeeper/server/jersey/ExistsTest.java     |   80 -
 .../server/jersey/GetChildrenTest.java          |  138 -
 .../apache/zookeeper/server/jersey/GetTest.java |  122 -
 .../zookeeper/server/jersey/RestTestSuite.java  |   42 -
 .../zookeeper/server/jersey/RootTest.java       |   66 -
 .../zookeeper/server/jersey/SessionTest.java    |  135 -
 .../apache/zookeeper/server/jersey/SetTest.java |  154 -
 .../zookeeper/server/jersey/WadlTest.java       |   45 -
 src/contrib/rest/src/test/zkServer.sh           |   91 -
 src/contrib/zkfuse/Makefile.am                  |    4 -
 src/contrib/zkfuse/README.txt                   |   63 -
 src/contrib/zkfuse/build.xml                    |   61 -
 src/contrib/zkfuse/configure.ac                 |   72 -
 src/contrib/zkfuse/src/Makefile.am              |    7 -
 src/contrib/zkfuse/src/blockingqueue.h          |  154 -
 src/contrib/zkfuse/src/doxygen.cfg              | 1242 -----
 src/contrib/zkfuse/src/event.cc                 |   29 -
 src/contrib/zkfuse/src/event.h                  |  553 ---
 src/contrib/zkfuse/src/log.cc                   |   36 -
 src/contrib/zkfuse/src/log.h                    |  116 -
 src/contrib/zkfuse/src/log4cxx.properties       |   28 -
 src/contrib/zkfuse/src/mutex.h                  |  169 -
 src/contrib/zkfuse/src/thread.cc                |   41 -
 src/contrib/zkfuse/src/thread.h                 |   99 -
 src/contrib/zkfuse/src/zkadapter.cc             |  884 ----
 src/contrib/zkfuse/src/zkadapter.h              |  718 ---
 src/contrib/zkfuse/src/zkfuse.cc                | 4492 ------------------
 src/contrib/zkperl/Changes                      |   65 -
 src/contrib/zkperl/LICENSE                      |  202 -
 src/contrib/zkperl/MANIFEST                     |   23 -
 src/contrib/zkperl/Makefile.PL                  |   73 -
 src/contrib/zkperl/NOTICE                       |    6 -
 src/contrib/zkperl/README                       |   86 -
 src/contrib/zkperl/ZooKeeper.pm                 | 1257 -----
 src/contrib/zkperl/ZooKeeper.xs                 | 2664 -----------
 src/contrib/zkperl/build.xml                    |   61 -
 src/contrib/zkperl/build/check_zk_version.c     |   29 -
 src/contrib/zkperl/build/check_zk_version.h     |   27 -
 src/contrib/zkperl/t/10_invalid.t               |  773 ---
 src/contrib/zkperl/t/15_thread.t                |  121 -
 src/contrib/zkperl/t/20_tie.t                   |  353 --
 src/contrib/zkperl/t/22_stat_tie.t              |  438 --
 src/contrib/zkperl/t/24_watch_tie.t             |  292 --
 src/contrib/zkperl/t/30_connect.t               |  202 -
 src/contrib/zkperl/t/35_log.t                   |   88 -
 src/contrib/zkperl/t/40_basic.t                 |  277 --
 src/contrib/zkperl/t/45_class.t                 |  408 --
 src/contrib/zkperl/t/50_access.t                |  356 --
 src/contrib/zkperl/t/60_watch.t                 |  304 --
 src/contrib/zkperl/t/util.pl                    |   62 -
 src/contrib/zkperl/typemap                      |   38 -
 src/contrib/zkpython/README                     |  109 -
 src/contrib/zkpython/build.xml                  |  111 -
 src/contrib/zkpython/ivy.xml                    |   35 -
 src/contrib/zkpython/src/c/pyzk_docstrings.h    |  594 ---
 src/contrib/zkpython/src/c/zookeeper.c          | 1664 -------
 src/contrib/zkpython/src/examples/README        |    8 -
 .../src/examples/watch_znode_for_changes.py     |  202 -
 src/contrib/zkpython/src/python/setup.py        |   36 -
 src/contrib/zkpython/src/python/zk.py           |   76 -
 src/contrib/zkpython/src/test/acl_test.py       |  109 -
 src/contrib/zkpython/src/test/async_test.py     |   33 -
 src/contrib/zkpython/src/test/callback_test.py  |  155 -
 src/contrib/zkpython/src/test/clientid_test.py  |   48 -
 .../zkpython/src/test/close_deadlock_test.py    |   50 -
 .../zkpython/src/test/connection_test.py        |  131 -
 src/contrib/zkpython/src/test/create_test.py    |  104 -
 src/contrib/zkpython/src/test/delete_test.py    |   68 -
 src/contrib/zkpython/src/test/exists_test.py    |   64 -
 src/contrib/zkpython/src/test/get_set_test.py   |  211 -
 src/contrib/zkpython/src/test/run_tests.sh      |   40 -
 src/contrib/zkpython/src/test/zkServer.sh       |   77 -
 src/contrib/zkpython/src/test/zktestbase.py     |  101 -
 src/contrib/zktreeutil/Makefile.am              |    4 -
 src/contrib/zktreeutil/README.txt               |   74 -
 src/contrib/zktreeutil/build.xml                |   61 -
 src/contrib/zktreeutil/configure.ac             |   66 -
 src/contrib/zktreeutil/src/Makefile.am          |   24 -
 src/contrib/zktreeutil/src/SimpleTree.h         |  150 -
 src/contrib/zktreeutil/src/ZkAdaptor.cc         |  513 --
 src/contrib/zktreeutil/src/ZkAdaptor.h          |  327 --
 src/contrib/zktreeutil/src/ZkTreeUtil.cc        |  705 ---
 src/contrib/zktreeutil/src/ZkTreeUtil.h         |  262 -
 src/contrib/zktreeutil/src/ZkTreeUtilMain.cc    |  247 -
 src/contrib/zktreeutil/tests/zk_sample.xml      |   44 -
 src/contrib/zooinspector/NOTICE.txt             |    9 -
 src/contrib/zooinspector/README.txt             |   94 -
 src/contrib/zooinspector/TODO                   |   19 -
 src/contrib/zooinspector/build.xml              |  139 -
 .../config/defaultConnectionSettings.cfg        |   21 -
 .../zooinspector/config/defaultNodeViewers.cfg  |   17 -
 src/contrib/zooinspector/ivy.xml                |   50 -
 src/contrib/zooinspector/lib/log4j.properties   |    9 -
 .../licences/Apache Software Licence v2.0.txt   |  202 -
 .../java/com/nitido/utils/toaster/Toaster.java  |  533 ---
 .../zookeeper/inspector/ZooInspector.java       |   71 -
 .../encryption/BasicDataEncryptionManager.java  |   50 -
 .../encryption/DataEncryptionManager.java       |   39 -
 .../zookeeper/inspector/gui/IconResource.java   |  106 -
 .../gui/NodeViewersChangeListener.java          |   37 -
 .../apache/zookeeper/inspector/gui/Toolbar.java |   92 -
 .../inspector/gui/ZooInspectorAboutDialog.java  |   79 -
 .../ZooInspectorConnectionPropertiesDialog.java |  321 --
 .../gui/ZooInspectorNodeViewersDialog.java      |  631 ---
 .../gui/ZooInspectorNodeViewersPanel.java       |  140 -
 .../inspector/gui/ZooInspectorPanel.java        |  258 -
 .../inspector/gui/ZooInspectorTreeViewer.java   |  384 --
 .../apache/zookeeper/inspector/gui/about.html   |   21 -
 .../inspector/gui/actions/AddNodeAction.java    |   74 -
 .../inspector/gui/actions/DeleteNodeAction.java |   79 -
 .../inspector/gui/nodeviewer/NodeViewerACL.java |  187 -
 .../gui/nodeviewer/NodeViewerData.java          |  143 -
 .../gui/nodeviewer/NodeViewerMetaData.java      |  186 -
 .../gui/nodeviewer/ZooInspectorNodeViewer.java  |  138 -
 .../inspector/logger/LoggerFactory.java         |   36 -
 .../inspector/manager/NodeListener.java         |   37 -
 .../zookeeper/inspector/manager/NodesCache.java |   86 -
 .../zookeeper/inspector/manager/Pair.java       |  120 -
 .../inspector/manager/ZooInspectorManager.java  |  139 -
 .../manager/ZooInspectorManagerImpl.java        |  875 ----
 .../manager/ZooInspectorNodeManager.java        |   33 -
 .../manager/ZooInspectorNodeTreeManager.java    |   43 -
 .../manager/ZooInspectorReadOnlyManager.java    |   99 -
 .../apache/zookeeper/retry/ZooKeeperRetry.java  |  288 --
 .../resources/icons/Tango/16x16/actions/add.png |  Bin 323 -> 0 bytes
 .../icons/Tango/16x16/actions/document-new.png  |  Bin 477 -> 0 bytes
 .../icons/Tango/16x16/actions/document-save.png |  Bin 911 -> 0 bytes
 .../icons/Tango/16x16/actions/down.png          |  Bin 683 -> 0 bytes
 .../16x16/actions/media-playback-start.png      |  Bin 660 -> 0 bytes
 .../Tango/16x16/actions/media-playback-stop.png |  Bin 429 -> 0 bytes
 .../icons/Tango/16x16/actions/remove.png        |  Bin 247 -> 0 bytes
 .../resources/icons/Tango/16x16/actions/up.png  |  Bin 652 -> 0 bytes
 .../icons/Tango/16x16/actions/view-refresh.png  |  Bin 912 -> 0 bytes
 .../Tango/16x16/mimetypes/text-x-generic.png    |  Bin 333 -> 0 bytes
 .../icons/Tango/16x16/places/folder.png         |  Bin 581 -> 0 bytes
 .../icons/Tango/16x16/places/user-trash.png     |  Bin 655 -> 0 bytes
 .../resources/icons/Tango/16x16/status/info.png |  Bin 863 -> 0 bytes
 .../resources/icons/Tango/22x22/actions/add.png |  Bin 386 -> 0 bytes
 .../icons/Tango/22x22/actions/document-new.png  |  Bin 692 -> 0 bytes
 .../icons/Tango/22x22/actions/document-save.png |  Bin 1150 -> 0 bytes
 .../icons/Tango/22x22/actions/down.png          |  Bin 874 -> 0 bytes
 .../22x22/actions/media-playback-start.png      |  Bin 961 -> 0 bytes
 .../Tango/22x22/actions/media-playback-stop.png |  Bin 513 -> 0 bytes
 .../icons/Tango/22x22/actions/remove.png        |  Bin 252 -> 0 bytes
 .../resources/icons/Tango/22x22/actions/up.png  |  Bin 877 -> 0 bytes
 .../icons/Tango/22x22/actions/view-refresh.png  |  Bin 1364 -> 0 bytes
 .../Tango/22x22/mimetypes/text-x-generic.png    |  Bin 523 -> 0 bytes
 .../icons/Tango/22x22/places/folder.png         |  Bin 848 -> 0 bytes
 .../icons/Tango/22x22/places/user-trash.png     |  Bin 1149 -> 0 bytes
 .../resources/icons/Tango/22x22/status/info.png |  Bin 1204 -> 0 bytes
 .../resources/icons/Tango/24x24/actions/add.png |  Bin 433 -> 0 bytes
 .../icons/Tango/24x24/actions/document-new.png  |  Bin 1012 -> 0 bytes
 .../icons/Tango/24x24/actions/document-save.png |  Bin 1032 -> 0 bytes
 .../icons/Tango/24x24/actions/down.png          |  Bin 1101 -> 0 bytes
 .../24x24/actions/media-playback-start.png      |  Bin 1112 -> 0 bytes
 .../Tango/24x24/actions/media-playback-stop.png |  Bin 747 -> 0 bytes
 .../icons/Tango/24x24/actions/remove.png        |  Bin 317 -> 0 bytes
 .../resources/icons/Tango/24x24/actions/up.png  |  Bin 1109 -> 0 bytes
 .../icons/Tango/24x24/actions/view-refresh.png  |  Bin 1469 -> 0 bytes
 .../Tango/24x24/mimetypes/text-x-generic.png    |  Bin 602 -> 0 bytes
 .../icons/Tango/24x24/places/folder.png         |  Bin 1180 -> 0 bytes
 .../icons/Tango/24x24/places/user-trash.png     |  Bin 1266 -> 0 bytes
 .../resources/icons/Tango/24x24/status/info.png |  Bin 1461 -> 0 bytes
 .../resources/icons/Tango/32x32/actions/add.png |  Bin 601 -> 0 bytes
 .../icons/Tango/32x32/actions/document-new.png  |  Bin 1008 -> 0 bytes
 .../icons/Tango/32x32/actions/document-save.png |  Bin 1971 -> 0 bytes
 .../icons/Tango/32x32/actions/down.png          |  Bin 1187 -> 0 bytes
 .../32x32/actions/media-playback-start.png      |  Bin 1028 -> 0 bytes
 .../Tango/32x32/actions/media-playback-stop.png |  Bin 571 -> 0 bytes
 .../icons/Tango/32x32/actions/remove.png        |  Bin 317 -> 0 bytes
 .../resources/icons/Tango/32x32/actions/up.png  |  Bin 1193 -> 0 bytes
 .../icons/Tango/32x32/actions/view-refresh.png  |  Bin 2024 -> 0 bytes
 .../Tango/32x32/mimetypes/text-x-generic.png    |  Bin 744 -> 0 bytes
 .../icons/Tango/32x32/places/folder.png         |  Bin 1176 -> 0 bytes
 .../icons/Tango/32x32/places/user-trash.png     |  Bin 1788 -> 0 bytes
 .../resources/icons/Tango/32x32/status/info.png |  Bin 1910 -> 0 bytes
 src/contrib/zooinspector/zooInspector-dev.sh    |   18 -
 src/contrib/zooinspector/zooInspector.cmd       |   21 -
 src/contrib/zooinspector/zooInspector.sh        |   18 -
 zookeeper-contrib/build-contrib.xml             |  233 +
 zookeeper-contrib/build.xml                     |   70 +
 .../zookeeper-contrib-fatjar/README.txt         |    2 +
 .../zookeeper-contrib-fatjar/build.xml          |   74 +
 .../org/apache/zookeeper/util/FatJarMain.java   |  128 +
 .../src/main/resources/mainClasses              |   10 +
 .../zookeeper-contrib-huebrowser/README         |   62 +
 .../zookeeper-contrib-huebrowser/zkui/Makefile  |   21 +
 .../zookeeper-contrib-huebrowser/zkui/setup.py  |   46 +
 .../zkui/src/zkui/__init__.py                   |   16 +
 .../zkui/src/zkui/forms.py                      |   29 +
 .../zkui/src/zkui/models.py                     |   17 +
 .../zkui/src/zkui/rest.py                       |  230 +
 .../zkui/src/zkui/settings.py                   |   30 +
 .../zkui/src/zkui/static/art/line_icons.png     |  Bin 0 -> 7499 bytes
 .../zkui/src/zkui/static/art/zkui.png           |  Bin 0 -> 4430 bytes
 .../zkui/src/zkui/static/bootstrap.js           |   32 +
 .../zkui/src/zkui/static/css/zkui.css           |   56 +
 .../zkui/src/zkui/static/help/index.html        |   26 +
 .../zkui/src/zkui/static/js/Source/Zkui/Zkui.js |   50 +
 .../zkui/src/zkui/static/js/package.yml         |   19 +
 .../zkui/src/zkui/stats.py                      |  170 +
 .../zkui/src/zkui/templates/clients.mako        |   51 +
 .../zkui/src/zkui/templates/create.mako         |   34 +
 .../zkui/src/zkui/templates/edit.mako           |   34 +
 .../zkui/src/zkui/templates/index.mako          |   54 +
 .../src/zkui/templates/shared_components.mako   |   66 +
 .../zkui/src/zkui/templates/tree.mako           |   75 +
 .../zkui/src/zkui/templates/view.mako           |  128 +
 .../zkui/src/zkui/urls.py                       |   28 +
 .../zkui/src/zkui/utils.py                      |   33 +
 .../zkui/src/zkui/views.py                      |  165 +
 .../zkui/src/zkui/windmilltests.py              |   23 +
 .../zookeeper-contrib-loggraph/README.txt       |   70 +
 .../zookeeper-contrib-loggraph/build.xml        |   70 +
 .../zookeeper-contrib-loggraph/ivy.xml          |   44 +
 .../apache/zookeeper/graph/FilterException.java |   22 +
 .../org/apache/zookeeper/graph/FilterOp.java    |   76 +
 .../apache/zookeeper/graph/FilterParser.java    |  131 +
 .../apache/zookeeper/graph/JsonGenerator.java   |  224 +
 .../org/apache/zookeeper/graph/Log4JEntry.java  |   40 +
 .../org/apache/zookeeper/graph/Log4JSource.java |  391 ++
 .../org/apache/zookeeper/graph/LogEntry.java    |   47 +
 .../org/apache/zookeeper/graph/LogIterator.java |   26 +
 .../org/apache/zookeeper/graph/LogServer.java   |   66 +
 .../org/apache/zookeeper/graph/LogSkipList.java |   95 +
 .../org/apache/zookeeper/graph/LogSource.java   |   33 +
 .../zookeeper/graph/MeasureThroughput.java      |  104 +
 .../apache/zookeeper/graph/MergedLogSource.java |  219 +
 .../zookeeper/graph/RandomAccessFileReader.java |  329 ++
 .../zookeeper/graph/TransactionEntry.java       |   59 +
 .../apache/zookeeper/graph/TxnLogSource.java    |  376 ++
 .../apache/zookeeper/graph/filterops/AndOp.java |   33 +
 .../apache/zookeeper/graph/filterops/Arg.java   |   36 +
 .../zookeeper/graph/filterops/EqualsOp.java     |   44 +
 .../graph/filterops/GreaterThanOp.java          |   70 +
 .../zookeeper/graph/filterops/LessThanOp.java   |   69 +
 .../apache/zookeeper/graph/filterops/NotOp.java |   31 +
 .../zookeeper/graph/filterops/NumberArg.java    |   28 +
 .../apache/zookeeper/graph/filterops/OrOp.java  |   33 +
 .../zookeeper/graph/filterops/StringArg.java    |   28 +
 .../zookeeper/graph/filterops/SymbolArg.java    |   27 +
 .../apache/zookeeper/graph/filterops/XorOp.java |   40 +
 .../zookeeper/graph/servlets/FileLoader.java    |   60 +
 .../org/apache/zookeeper/graph/servlets/Fs.java |   69 +
 .../zookeeper/graph/servlets/GraphData.java     |   85 +
 .../zookeeper/graph/servlets/JsonServlet.java   |   85 +
 .../zookeeper/graph/servlets/NumEvents.java     |   88 +
 .../zookeeper/graph/servlets/StaticContent.java |   53 +
 .../zookeeper/graph/servlets/Throughput.java    |  126 +
 .../src/main/resources/loggraph-dev.sh          |   43 +
 .../src/main/resources/loggraph.sh              |   48 +
 .../org/apache/zookeeper/graph/log4j.properties |   11 +
 .../zookeeper/graph/resources/date.format.js    |  126 +
 .../apache/zookeeper/graph/resources/g.bar.js   |  385 ++
 .../apache/zookeeper/graph/resources/g.dot.js   |  110 +
 .../apache/zookeeper/graph/resources/g.line.js  |  230 +
 .../apache/zookeeper/graph/resources/g.pie.js   |  205 +
 .../zookeeper/graph/resources/g.raphael.js      |  481 ++
 .../zookeeper/graph/resources/load-big.gif      |  Bin 0 -> 1924 bytes
 .../apache/zookeeper/graph/resources/load.gif   |  Bin 0 -> 673 bytes
 .../zookeeper/graph/resources/loggraph.css      |   54 +
 .../zookeeper/graph/resources/loggraph.js       |  262 +
 .../zookeeper/graph/resources/loggraph.log.js   |   57 +
 .../graph/resources/loggraph.server.js          |  329 ++
 .../graph/resources/loggraph.session.js         |  202 +
 .../zookeeper/graph/resources/loggraph.stats.js |   44 +
 .../zookeeper/graph/resources/loggraph.ui.js    |  377 ++
 .../apache/zookeeper/graph/resources/main.html  |   60 +
 .../apache/zookeeper/graph/resources/raphael.js | 3296 +++++++++++++
 .../apache/zookeeper/graph/resources/yui-min.js |   12 +
 .../zookeeper-contrib-monitoring/JMX-RESOURCES  |   38 +
 .../zookeeper-contrib-monitoring/README         |   85 +
 .../zookeeper-contrib-monitoring/cacti/README   |   56 +
 .../check_zookeeper.py                          |  407 ++
 .../zookeeper-contrib-monitoring/ganglia/README |   48 +
 .../ganglia/Screenshot.png                      |  Bin 0 -> 111055 bytes
 .../ganglia/modpython.conf                      |   28 +
 .../ganglia/zookeeper.pyconf                    |   53 +
 .../ganglia/zookeeper_ganglia.py                |  250 +
 .../nagios/README.txt                           |   86 +
 .../nagios/Screenshot-1.png                     |  Bin 0 -> 196668 bytes
 .../nagios/Screenshot.png                       |  Bin 0 -> 163646 bytes
 .../nagios/hostgroups.cfg                       |   25 +
 .../nagios/services.cfg                         |   67 +
 .../nagios/zookeeper.cfg                        |   30 +
 .../zookeeper-contrib-monitoring/test.py        |  282 ++
 .../zookeeper-contrib-rest/NOTICE.txt           |    7 +
 .../zookeeper-contrib-rest/README.txt           |   72 +
 .../zookeeper-contrib-rest/SPEC.txt             |  355 ++
 .../zookeeper-contrib-rest/build.xml            |  189 +
 .../zookeeper-contrib-rest/conf/keys/README     |    8 +
 .../zookeeper-contrib-rest/conf/keys/rest.cer   |  Bin 0 -> 595 bytes
 .../zookeeper-contrib-rest/conf/keys/rest.jks   |  Bin 0 -> 1363 bytes
 .../conf/log4j.properties                       |   68 +
 .../zookeeper-contrib-rest/conf/rest.properties |   70 +
 .../zookeeper-contrib-rest/ivy.xml              |   48 +
 .../zookeeper-contrib-rest/rest.sh              |   90 +
 .../zookeeper/server/jersey/RestMain.java       |  151 +
 .../server/jersey/ZooKeeperService.java         |  242 +
 .../server/jersey/cfg/Credentials.java          |   47 +
 .../zookeeper/server/jersey/cfg/Endpoint.java   |   72 +
 .../zookeeper/server/jersey/cfg/HostPort.java   |   51 +
 .../server/jersey/cfg/HostPortSet.java          |   51 +
 .../zookeeper/server/jersey/cfg/RestCfg.java    |  110 +
 .../server/jersey/filters/HTTPBasicAuth.java    |   87 +
 .../zookeeper/server/jersey/jaxb/ZChildren.java |   80 +
 .../server/jersey/jaxb/ZChildrenJSON.java       |   76 +
 .../zookeeper/server/jersey/jaxb/ZError.java    |   41 +
 .../zookeeper/server/jersey/jaxb/ZPath.java     |   63 +
 .../zookeeper/server/jersey/jaxb/ZSession.java  |   55 +
 .../zookeeper/server/jersey/jaxb/ZStat.java     |  106 +
 .../jersey/resources/JAXBContextResolver.java   |   72 +
 .../jersey/resources/KeeperExceptionMapper.java |   86 +
 .../resources/RuntimeExceptionMapper.java       |   55 +
 .../jersey/resources/SessionsResource.java      |  135 +
 .../server/jersey/resources/ZErrorWriter.java   |   63 +
 .../server/jersey/resources/ZNodeResource.java  |  412 ++
 .../src/python/README.txt                       |    9 +
 .../src/python/demo_master_election.py          |   90 +
 .../src/python/demo_queue.py                    |   99 +
 .../zookeeper-contrib-rest/src/python/test.py   |  163 +
 .../src/python/zk_dump_tree.py                  |  108 +
 .../zookeeper-contrib-rest/src/python/zkrest.py |  218 +
 .../apache/zookeeper/server/jersey/Base.java    |   91 +
 .../zookeeper/server/jersey/CreateTest.java     |  162 +
 .../zookeeper/server/jersey/DeleteTest.java     |   95 +
 .../zookeeper/server/jersey/ExistsTest.java     |   80 +
 .../server/jersey/GetChildrenTest.java          |  138 +
 .../apache/zookeeper/server/jersey/GetTest.java |  122 +
 .../zookeeper/server/jersey/RestTestSuite.java  |   42 +
 .../zookeeper/server/jersey/RootTest.java       |   66 +
 .../zookeeper/server/jersey/SessionTest.java    |  135 +
 .../apache/zookeeper/server/jersey/SetTest.java |  154 +
 .../zookeeper/server/jersey/WadlTest.java       |   45 +
 .../zookeeper-contrib-rest/src/test/zkServer.sh |   91 +
 .../zookeeper-contrib-zkfuse/Makefile.am        |    4 +
 .../zookeeper-contrib-zkfuse/README.txt         |   63 +
 .../zookeeper-contrib-zkfuse/build.xml          |   61 +
 .../zookeeper-contrib-zkfuse/configure.ac       |   72 +
 .../zookeeper-contrib-zkfuse/src/Makefile.am    |    7 +
 .../src/blockingqueue.h                         |  154 +
 .../zookeeper-contrib-zkfuse/src/doxygen.cfg    | 1242 +++++
 .../zookeeper-contrib-zkfuse/src/event.cc       |   29 +
 .../zookeeper-contrib-zkfuse/src/event.h        |  553 +++
 .../zookeeper-contrib-zkfuse/src/log.cc         |   36 +
 .../zookeeper-contrib-zkfuse/src/log.h          |  116 +
 .../src/log4cxx.properties                      |   28 +
 .../zookeeper-contrib-zkfuse/src/mutex.h        |  169 +
 .../zookeeper-contrib-zkfuse/src/thread.cc      |   41 +
 .../zookeeper-contrib-zkfuse/src/thread.h       |   99 +
 .../zookeeper-contrib-zkfuse/src/zkadapter.cc   |  884 ++++
 .../zookeeper-contrib-zkfuse/src/zkadapter.h    |  718 +++
 .../zookeeper-contrib-zkfuse/src/zkfuse.cc      | 4492 ++++++++++++++++++
 .../zookeeper-contrib-zkperl/Changes            |   65 +
 .../zookeeper-contrib-zkperl/LICENSE            |  202 +
 .../zookeeper-contrib-zkperl/MANIFEST           |   23 +
 .../zookeeper-contrib-zkperl/Makefile.PL        |   73 +
 .../zookeeper-contrib-zkperl/NOTICE             |    6 +
 .../zookeeper-contrib-zkperl/README             |   86 +
 .../zookeeper-contrib-zkperl/ZooKeeper.pm       | 1257 +++++
 .../zookeeper-contrib-zkperl/ZooKeeper.xs       | 2664 +++++++++++
 .../zookeeper-contrib-zkperl/build.xml          |   61 +
 .../build/check_zk_version.c                    |   29 +
 .../build/check_zk_version.h                    |   27 +
 .../zookeeper-contrib-zkperl/t/10_invalid.t     |  773 +++
 .../zookeeper-contrib-zkperl/t/15_thread.t      |  121 +
 .../zookeeper-contrib-zkperl/t/20_tie.t         |  353 ++
 .../zookeeper-contrib-zkperl/t/22_stat_tie.t    |  438 ++
 .../zookeeper-contrib-zkperl/t/24_watch_tie.t   |  292 ++
 .../zookeeper-contrib-zkperl/t/30_connect.t     |  202 +
 .../zookeeper-contrib-zkperl/t/35_log.t         |   88 +
 .../zookeeper-contrib-zkperl/t/40_basic.t       |  277 ++
 .../zookeeper-contrib-zkperl/t/45_class.t       |  408 ++
 .../zookeeper-contrib-zkperl/t/50_access.t      |  356 ++
 .../zookeeper-contrib-zkperl/t/60_watch.t       |  304 ++
 .../zookeeper-contrib-zkperl/t/util.pl          |   62 +
 .../zookeeper-contrib-zkperl/typemap            |   38 +
 .../zookeeper-contrib-zkpython/README           |  109 +
 .../zookeeper-contrib-zkpython/build.xml        |  111 +
 .../zookeeper-contrib-zkpython/ivy.xml          |   35 +
 .../src/c/pyzk_docstrings.h                     |  594 +++
 .../src/c/zookeeper.c                           | 1664 +++++++
 .../src/examples/README                         |    8 +
 .../src/examples/watch_znode_for_changes.py     |  202 +
 .../src/python/setup.py                         |   36 +
 .../zookeeper-contrib-zkpython/src/python/zk.py |   76 +
 .../src/test/acl_test.py                        |  109 +
 .../src/test/async_test.py                      |   33 +
 .../src/test/callback_test.py                   |  155 +
 .../src/test/clientid_test.py                   |   48 +
 .../src/test/close_deadlock_test.py             |   50 +
 .../src/test/connection_test.py                 |  131 +
 .../src/test/create_test.py                     |  104 +
 .../src/test/delete_test.py                     |   68 +
 .../src/test/exists_test.py                     |   64 +
 .../src/test/get_set_test.py                    |  211 +
 .../src/test/run_tests.sh                       |   40 +
 .../src/test/zkServer.sh                        |   77 +
 .../src/test/zktestbase.py                      |  101 +
 .../zookeeper-contrib-zktreeutil/Makefile.am    |    4 +
 .../zookeeper-contrib-zktreeutil/README.txt     |   74 +
 .../zookeeper-contrib-zktreeutil/build.xml      |   61 +
 .../zookeeper-contrib-zktreeutil/configure.ac   |   66 +
 .../src/Makefile.am                             |   24 +
 .../src/SimpleTree.h                            |  150 +
 .../src/ZkAdaptor.cc                            |  513 ++
 .../src/ZkAdaptor.h                             |  327 ++
 .../src/ZkTreeUtil.cc                           |  705 +++
 .../src/ZkTreeUtil.h                            |  262 +
 .../src/ZkTreeUtilMain.cc                       |  247 +
 .../tests/zk_sample.xml                         |   44 +
 .../zookeeper-contrib-zooinspector/NOTICE.txt   |    9 +
 .../zookeeper-contrib-zooinspector/README.txt   |   94 +
 .../zookeeper-contrib-zooinspector/TODO         |   19 +
 .../zookeeper-contrib-zooinspector/build.xml    |  148 +
 .../zookeeper-contrib-zooinspector/ivy.xml      |   50 +
 .../licences/Apache Software Licence v2.0.txt   |  202 +
 .../java/com/nitido/utils/toaster/Toaster.java  |  533 +++
 .../zookeeper/inspector/ZooInspector.java       |   71 +
 .../encryption/BasicDataEncryptionManager.java  |   50 +
 .../encryption/DataEncryptionManager.java       |   39 +
 .../zookeeper/inspector/gui/IconResource.java   |  106 +
 .../gui/NodeViewersChangeListener.java          |   37 +
 .../apache/zookeeper/inspector/gui/Toolbar.java |   92 +
 .../inspector/gui/ZooInspectorAboutDialog.java  |   79 +
 .../ZooInspectorConnectionPropertiesDialog.java |  321 ++
 .../gui/ZooInspectorNodeViewersDialog.java      |  631 +++
 .../gui/ZooInspectorNodeViewersPanel.java       |  140 +
 .../inspector/gui/ZooInspectorPanel.java        |  258 +
 .../inspector/gui/ZooInspectorTreeViewer.java   |  384 ++
 .../apache/zookeeper/inspector/gui/about.html   |   21 +
 .../inspector/gui/actions/AddNodeAction.java    |   74 +
 .../inspector/gui/actions/DeleteNodeAction.java |   79 +
 .../inspector/gui/nodeviewer/NodeViewerACL.java |  187 +
 .../gui/nodeviewer/NodeViewerData.java          |  143 +
 .../gui/nodeviewer/NodeViewerMetaData.java      |  186 +
 .../gui/nodeviewer/ZooInspectorNodeViewer.java  |  138 +
 .../inspector/logger/LoggerFactory.java         |   36 +
 .../inspector/manager/NodeListener.java         |   37 +
 .../zookeeper/inspector/manager/NodesCache.java |   86 +
 .../zookeeper/inspector/manager/Pair.java       |  120 +
 .../inspector/manager/ZooInspectorManager.java  |  139 +
 .../manager/ZooInspectorManagerImpl.java        |  875 ++++
 .../manager/ZooInspectorNodeManager.java        |   33 +
 .../manager/ZooInspectorNodeTreeManager.java    |   43 +
 .../manager/ZooInspectorReadOnlyManager.java    |   99 +
 .../apache/zookeeper/retry/ZooKeeperRetry.java  |  288 ++
 .../resources/defaultConnectionSettings.cfg     |   21 +
 .../src/main/resources/defaultNodeViewers.cfg   |   17 +
 .../resources/icons/Tango/16x16/actions/add.png |  Bin 0 -> 323 bytes
 .../icons/Tango/16x16/actions/document-new.png  |  Bin 0 -> 477 bytes
 .../icons/Tango/16x16/actions/document-save.png |  Bin 0 -> 911 bytes
 .../icons/Tango/16x16/actions/down.png          |  Bin 0 -> 683 bytes
 .../16x16/actions/media-playback-start.png      |  Bin 0 -> 660 bytes
 .../Tango/16x16/actions/media-playback-stop.png |  Bin 0 -> 429 bytes
 .../icons/Tango/16x16/actions/remove.png        |  Bin 0 -> 247 bytes
 .../resources/icons/Tango/16x16/actions/up.png  |  Bin 0 -> 652 bytes
 .../icons/Tango/16x16/actions/view-refresh.png  |  Bin 0 -> 912 bytes
 .../Tango/16x16/mimetypes/text-x-generic.png    |  Bin 0 -> 333 bytes
 .../icons/Tango/16x16/places/folder.png         |  Bin 0 -> 581 bytes
 .../icons/Tango/16x16/places/user-trash.png     |  Bin 0 -> 655 bytes
 .../resources/icons/Tango/16x16/status/info.png |  Bin 0 -> 863 bytes
 .../resources/icons/Tango/22x22/actions/add.png |  Bin 0 -> 386 bytes
 .../icons/Tango/22x22/actions/document-new.png  |  Bin 0 -> 692 bytes
 .../icons/Tango/22x22/actions/document-save.png |  Bin 0 -> 1150 bytes
 .../icons/Tango/22x22/actions/down.png          |  Bin 0 -> 874 bytes
 .../22x22/actions/media-playback-start.png      |  Bin 0 -> 961 bytes
 .../Tango/22x22/actions/media-playback-stop.png |  Bin 0 -> 513 bytes
 .../icons/Tango/22x22/actions/remove.png        |  Bin 0 -> 252 bytes
 .../resources/icons/Tango/22x22/actions/up.png  |  Bin 0 -> 877 bytes
 .../icons/Tango/22x22/actions/view-refresh.png  |  Bin 0 -> 1364 bytes
 .../Tango/22x22/mimetypes/text-x-generic.png    |  Bin 0 -> 523 bytes
 .../icons/Tango/22x22/places/folder.png         |  Bin 0 -> 848 bytes
 .../icons/Tango/22x22/places/user-trash.png     |  Bin 0 -> 1149 bytes
 .../resources/icons/Tango/22x22/status/info.png |  Bin 0 -> 1204 bytes
 .../resources/icons/Tango/24x24/actions/add.png |  Bin 0 -> 433 bytes
 .../icons/Tango/24x24/actions/document-new.png  |  Bin 0 -> 1012 bytes
 .../icons/Tango/24x24/actions/document-save.png |  Bin 0 -> 1032 bytes
 .../icons/Tango/24x24/actions/down.png          |  Bin 0 -> 1101 bytes
 .../24x24/actions/media-playback-start.png      |  Bin 0 -> 1112 bytes
 .../Tango/24x24/actions/media-playback-stop.png |  Bin 0 -> 747 bytes
 .../icons/Tango/24x24/actions/remove.png        |  Bin 0 -> 317 bytes
 .../resources/icons/Tango/24x24/actions/up.png  |  Bin 0 -> 1109 bytes
 .../icons/Tango/24x24/actions/view-refresh.png  |  Bin 0 -> 1469 bytes
 .../Tango/24x24/mimetypes/text-x-generic.png    |  Bin 0 -> 602 bytes
 .../icons/Tango/24x24/places/folder.png         |  Bin 0 -> 1180 bytes
 .../icons/Tango/24x24/places/user-trash.png     |  Bin 0 -> 1266 bytes
 .../resources/icons/Tango/24x24/status/info.png |  Bin 0 -> 1461 bytes
 .../resources/icons/Tango/32x32/actions/add.png |  Bin 0 -> 601 bytes
 .../icons/Tango/32x32/actions/document-new.png  |  Bin 0 -> 1008 bytes
 .../icons/Tango/32x32/actions/document-save.png |  Bin 0 -> 1971 bytes
 .../icons/Tango/32x32/actions/down.png          |  Bin 0 -> 1187 bytes
 .../32x32/actions/media-playback-start.png      |  Bin 0 -> 1028 bytes
 .../Tango/32x32/actions/media-playback-stop.png |  Bin 0 -> 571 bytes
 .../icons/Tango/32x32/actions/remove.png        |  Bin 0 -> 317 bytes
 .../resources/icons/Tango/32x32/actions/up.png  |  Bin 0 -> 1193 bytes
 .../icons/Tango/32x32/actions/view-refresh.png  |  Bin 0 -> 2024 bytes
 .../Tango/32x32/mimetypes/text-x-generic.png    |  Bin 0 -> 744 bytes
 .../icons/Tango/32x32/places/folder.png         |  Bin 0 -> 1176 bytes
 .../icons/Tango/32x32/places/user-trash.png     |  Bin 0 -> 1788 bytes
 .../resources/icons/Tango/32x32/status/info.png |  Bin 0 -> 1910 bytes
 .../src/main/resources/log4j.properties         |    9 +
 .../zooInspector-dev.sh                         |   18 +
 .../zooInspector.cmd                            |   21 +
 .../zooInspector.sh                             |   18 +
 653 files changed, 47553 insertions(+), 47527 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 464e155..e73b047 100644
--- a/build.xml
+++ b/build.xml
@@ -148,7 +148,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
     <property name="dist.dir" value="${build.dir}/${final.name}"/>
     <property name="dist.maven.dir" value="${dist.dir}/dist-maven"/>
 
-    <property name="contrib.dir" value="${src.dir}/contrib"/>
+    <property name="contrib.dir" value="${basedir}/zookeeper-contrib"/>
     <property name="recipes.dir" value="${basedir}/zookeeper-recipes"/>
 
     <property name="ivy.version" value="2.4.0"/>
@@ -872,12 +872,17 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
 
       <copy todir="${dist.dir}/src" includeEmptyDirs="true">
         <fileset dir="src" excludes="**/*.template **/docs/build/**/* **/ivy*.jar"/>
+        <fileset dir="${basedir}" excludes="**/*.template **/docs/build/**/* **/ivy*.jar">
+          <include name="zookeeper-recipes/**"/>
+          <include name="zookeeper-docs/**"/>
+          <include name="zookeeper-contrib/**"/>
+        </fileset>
         <fileset file="src/pom.template"/>
       </copy>
   	  
       <chmod perm="ugo+x" type="file" parallel="false">
         <fileset dir="${dist.dir}/bin"/>
-        <fileset dir="${dist.dir}/src/contrib/">
+        <fileset dir="${dist.dir}/src/zookeeper-contrib/">
           <include name="*/bin/*" />
         </fileset>
       </chmod>
@@ -995,7 +1000,7 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
       <chmod perm="ugo+x" type="file" parallel="false">
         <fileset dir="${dist.dir}/bin"/>
         <fileset dir="${dist.dir}/sbin"/>
-        <fileset dir="${dist.dir}/src/contrib/">
+        <fileset dir="${dist.dir}/src/zookeeper-contrib/">
           <include name="*/bin/*" />
         </fileset>
       </chmod>
@@ -1721,10 +1726,12 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
           <exclude name="**/OldChangeLog"/>
           <exclude name="**/Changes"/>
           <exclude name="**/contrib/zkperl/MANIFEST"/>
+          <exclude name="**/zookeeper-contrib/zookeeper-contrib-zkperl/MANIFEST"/>
           <exclude name="**/conf/*"/>
           <exclude name="**/docs/"/>
+          <exclude name="**/zookeeper-docs/"/>
           <exclude name="**/lib/jdiff/"/>
-          <exclude name="contrib/ZooInspector/src/java/com/nitido/utils/toaster/Toaster.java"/>
+          <exclude name="contrib/ZooInspector/src/main/java/com/nitido/utils/toaster/Toaster.java"/>
           <exclude name="src/c/*.la"/>
           <exclude name="src/c/*.lo"/>
           <exclude name="src/c/.libs/"/>
@@ -1734,16 +1741,25 @@ xmlns:cs="antlib:com.puppycrawl.tools.checkstyle.ant">
           <exclude name="src/c/src/hashtable/"/>
           <exclude name="src/c/test-driver"/>
           <exclude name="src/c/tests/quorum.cfg"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/date.format.js"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/g.bar.js"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/g.dot.js"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/g.line.js"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/g.pie.js"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/g.raphael.js"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/raphael.js"/>
-          <exclude name="src/contrib/loggraph/web/org/apache/zookeeper/graph/resources/yui-min.js"/>
-          <exclude name="src/contrib/monitoring/JMX-RESOURCES"/>
-          <exclude name="src/contrib/zooinspector/src/java/com/nitido/utils/toaster/Toaster.java"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/date.format.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/g.bar.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/g.dot.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/g.line.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/g.pie.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/g.raphael.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/raphael.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/webapp/org/apache/zookeeper/graph/resources/yui-min.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/date.format.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/g.bar.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/g.dot.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/g.line.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/g.pie.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/g.raphael.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/raphael.js"/>
+          <exclude name="contrib/loggraph/src/webapp/org/apache/zookeeper/graph/resources/yui-min.js"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-monitoring/JMX-RESOURCES"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-zooinspector/src/main/java/com/nitido/utils/toaster/Toaster.java"/>
+          <exclude name="src/zookeeper-contrib/zookeeper-contrib-fatjar/src/main/resources/mainClasses"/>
           <exclude name="src/java/generated/.generated/"/>
           <exclude name="src/java/test/checkstyle*.xml"/>
           <exclude name="src/java/test/checkstyle*.xsl"/>

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/build-contrib.xml
----------------------------------------------------------------------
diff --git a/src/contrib/build-contrib.xml b/src/contrib/build-contrib.xml
deleted file mode 100644
index d006448..0000000
--- a/src/contrib/build-contrib.xml
+++ /dev/null
@@ -1,233 +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.
--->
-
-<!-- Imported by contrib/*/build.xml files to share generic targets. -->
-
-<project name="zookeeperbuildcontrib" xmlns:ivy="antlib:org.apache.ivy.ant">
-
-  <property name="name" value="${ant.project.name}"/>
-  <property name="version" value="dev"/>
-  <property name="root" value="${basedir}"/>
-
-  <property name="zk.root" location="${root}/../../../"/>
-
-  <property name="src.dir"  location="${root}/src/java"/>
-  <property name="src.test" location="${root}/src/test"/>
-
-  <property name="lib.dir"  location="${zk.root}/src/java/lib"/>
-
-  <property name="build.dir" location="${zk.root}/build/contrib/${name}"/>
-  <property name="build.classes" location="${build.dir}/classes"/>
-  <property name="build.test" location="${build.dir}/test"/>
-
-  <property name="javac.deprecation" value="on"/>
-  <property name="javac.debug" value="on"/>
-
-  <property name="build.encoding" value="utf8"/>
-
-  <property name="ivy.version" value="2.4.0"/>
-  <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.test.lib" value="${build.test}/lib"/>
-  <property name="ivysettings.xml" value="${zk.root}/ivysettings.xml"/>
-
-  <!-- to be overridden by sub-projects -->
-  <target name="check-contrib"/>
-  <target name="init-contrib"/>
-
-  <property name="lib.jars.includes" value="lib/*.jar" />
-  <property name="lib.jars.excludes" value="" />
-
-  <!-- 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="${zk.root}/bin" />
-  <property name="additional.lib.dir.includes" value="**/*.jar" />
-  <property name="additional.lib.dir.excludes" value="**/*.jar" />
-
-  <fileset id="lib.jars" dir="${root}">
-    <include name="${lib.jars.includes}" />
-    <exclude name="${lib.jars.excludes}" />
-  </fileset>
-
-  <path id="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 refid="lib.jars"/>
-    <pathelement location="${zk.root}/build/classes"/>
-    <fileset dir="${ivy.lib}">
-      <include name="**/*.jar" />
-    </fileset>
-    <fileset dir="${ivy.test.lib}">
-      <include name="**/*.jar" />
-    </fileset>
-    <fileset dir="${zk.root}/src/java/lib">
-      <include name="**/*.jar" />
-    </fileset>
-    <fileset dir="${ant.home}/lib">
-      <include name="ant.jar" />
-    </fileset>
-  </path>
-
-  <!-- ====================================================== -->
-  <!-- Stuff needed by all targets                            -->
-  <!-- ====================================================== -->
-  <target name="init" depends="check-contrib" unless="skip.contrib">
-    <echo message="contrib: ${name}"/>
-    <mkdir dir="${build.dir}"/>
-    <mkdir dir="${build.classes}"/>
-    <mkdir dir="${build.test}"/>
-
-    <mkdir dir="${ivy.lib}"/>
-    <mkdir dir="${ivy.test.lib}"/>
-    <condition property="ivy.jar.exists">
-      <available file="${lib.dir}/ivy-${ivy.version}.jar"/>
-    </condition>
-
-    <antcall target="init-contrib"/>
-  </target>
-
-  <!-- ====================================================== -->
-  <!-- Compile a contrib's files                              -->
-  <!-- ====================================================== -->
-  <target name="compile" depends="init"
-          unless="skip.contrib">
-    <echo message="contrib: ${name}"/>
-
-    <javac
-     encoding="${build.encoding}"
-     srcdir="${src.dir}"
-     includes="**/*.java"
-     destdir="${build.classes}"
-     debug="${javac.debug}"
-     deprecation="${javac.deprecation}">
-      <classpath refid="classpath"/>
-    </javac>
-  </target>
-
-  <!-- ====================================================== -->
-  <!-- Make a contrib's jar                                   -->
-  <!-- ====================================================== -->
-  <target name="jar" depends="compile" unless="skip.contrib">
-    <echo message="contrib: ${name}"/>
-    <jar
-      jarfile="${build.dir}/zookeeper-${version}-${name}.jar"
-      basedir="${build.classes}"      
-    />
-  </target>
-
-  <!-- ====================================================== -->
-  <!-- Package a contrib's files                              -->
-  <!-- ====================================================== -->
-  <target name="package" depends="jar" unless="skip.contrib"> 
-    <echo message="contrib: ${name}"/>
-
-    <mkdir dir="${dist.dir}${package.share}/contrib/${name}"/>
-    <copy todir="${dist.dir}${package.share}/contrib/${name}" includeEmptyDirs="false"
-          flatten="true">
-      <fileset dir="${build.dir}">
-        <include name="zookeeper-${version}-${name}.jar" />
-      </fileset>
-    </copy>
-  </target>
-
-  <!-- ====================================================== -->
-  <!-- Package a contrib's files                              -->
-  <!-- ====================================================== -->
-  <target name="package-native" depends="jar" unless="skip.contrib">
-    <echo message="contrib: ${name}"/>
-  </target>
-
-  <!-- ================================================================== -->
-  <!-- Clean.  Delete the build files, and their directories              -->
-  <!-- ================================================================== -->
-  <target name="clean">
-    <echo message="contrib: ${name}"/>
-    <delete dir="${build.dir}"/>
-  </target>
-
-
-  <!-- ================================================================== -->
-  <!-- Utility features                                                   -->
-  <!-- ================================================================== -->
-
-  <target name="checkMainIsAvailable">
-    <available classname="org.apache.zookeeper.ZooKeeperMain"
-               property="mainIsCompiled">
-      <!-- we can't use id=classpath, because available fails if fileset directory
-           doesn't exist -->
-      <classpath>
-        <pathelement location="${zk.root}/build/classes"/>
-      </classpath>
-    </available>
-  </target>
-
-  <target name="checkMainCompiled" unless="mainIsCompiled" depends="checkMainIsAvailable">
-    <fail message="ZooKeeper main must first be compiled (toplevel build.xml)"/>
-  </target>
-
-
-  <target name="checkMainTestIsAvailable">
-    <available file="${zk.root}/build/test/classes/org/apache/zookeeper/test/ClientBase.class"
-               property="mainTestIsCompiled">
-    </available>
-  </target>
-
-  <target name="checkMainTestCompiled" unless="mainTestIsCompiled" depends="checkMainTestIsAvailable">
-    <fail message="ZooKeeper test must first be compiled (toplevel build.xml) using 'ant compile-test'"/>
-  </target>
-
-  <!-- ====================================================== -->
-  <!-- Ivy                                                    -->
-  <!-- ====================================================== -->
-  <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-init" depends="ivy-download" unless="ivy.initialized">
-    <taskdef resource="org/apache/ivy/ant/antlib.xml"
-             uri="antlib:org.apache.ivy.ant" classpathref="classpath"/>
-    <!-- ensure that ivy taskdef is only run once, otw ant will error -->
-    <property name="ivy.initialized" value="true"/>
-    <ivy:settings id="${ant.project.name}" file="${ivysettings.xml}"/> 
-  </target>
-
-  <target name="ivy-retrieve" depends="init,ivy-init">
-    <ivy:retrieve settingsRef="${ant.project.name}" type="jar" conf="default"
-                  pattern="${ivy.lib}/[artifact]-[revision].[ext]"/>
-    <ivy:retrieve settingsRef="${ant.project.name}" type="bundle" conf="default"
-  				  pattern="${ivy.lib}/[artifact]-[revision].[ext]"/>
-  </target>
-
-  <target name="ivy-retrieve-test" depends="init,ivy-init">
-    <ivy:retrieve settingsRef="${ant.project.name}" type="jar" conf="test"
-                  pattern="${ivy.test.lib}/[artifact]-[revision].[ext]"/>
-  </target>
-
-
-</project>

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/build.xml
----------------------------------------------------------------------
diff --git a/src/contrib/build.xml b/src/contrib/build.xml
deleted file mode 100644
index c1a716c..0000000
--- a/src/contrib/build.xml
+++ /dev/null
@@ -1,70 +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="zookeepercontrib" default="compile" basedir=".">
-
-  <property name="contribfilesetincludes" value="*/build.xml" />
-  <property name="contribfilesetexcludes" value="fatjar/build.xml" />
-
-  <fileset id="contribfileset" dir=".">
-    <include name="${contribfilesetincludes}"/>
-    <exclude name="${contribfilesetexcludes}"/>
-  </fileset>
-
-  <!-- In case one of the contrib subdirectories -->
-  <!-- fails the build or test targets and you cannot fix it: -->
-  <!-- Then add to fileset: excludes="badcontrib/build.xml" -->
-
-  <!-- ====================================================== -->
-  <!-- Compile contribs.                                      -->
-  <!-- ====================================================== -->
-  <target name="compile">
-    <subant target="jar">
-      <fileset refid="contribfileset" />
-    </subant>
-  </target>
-  
-  <!-- ====================================================== -->
-  <!-- Package contrib jars.                                  -->
-  <!-- ====================================================== -->
-  <target name="package">
-    <subant target="package">
-      <fileset refid="contribfileset" />
-    </subant>
-  </target>
-
-  <!-- ====================================================== -->
-  <!-- Test all the contribs.                               -->
-  <!-- ====================================================== -->
-  <target name="test">
-    <subant target="test">
-      <fileset refid="contribfileset" />
-    </subant>
-  </target>
-  
-  
-  <!-- ====================================================== -->
-  <!-- Clean all the contribs.                              -->
-  <!-- ====================================================== -->
-  <target name="clean">
-    <subant target="clean">
-      <fileset refid="contribfileset" />
-    </subant>
-  </target>
-</project>

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/fatjar/README.txt
----------------------------------------------------------------------
diff --git a/src/contrib/fatjar/README.txt b/src/contrib/fatjar/README.txt
deleted file mode 100644
index f8027ae..0000000
--- a/src/contrib/fatjar/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This package contains build to create a fat zookeeper jar. You need to run ant to create the fat jar.
-To run the fatjar you can use. java -jar zoookeeper-*fatjar.jar 

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/fatjar/build.xml
----------------------------------------------------------------------
diff --git a/src/contrib/fatjar/build.xml b/src/contrib/fatjar/build.xml
deleted file mode 100644
index 8935f39..0000000
--- a/src/contrib/fatjar/build.xml
+++ /dev/null
@@ -1,74 +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="fatjar" default="jar">
-  <import file="../build-contrib.xml"/>
-
-  <target name="setjarname">
-    <property name="jarname"
-              value="${build.dir}/zookeeper-${version}-${name}.jar"/>
-  </target>
-
-  <!-- Override jar target to specify main class -->
-  <target name="jar" depends="checkMainCompiled, setjarname, compile">
-    <echo message="contrib: ${name}"/>
-    <jar jarfile="${jarname}">
-      <manifest>
-        <attribute name="Main-Class" value="org.apache.zookeeper.util.FatJarMain" />
-        <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>
-      <fileset file="${basedir}/conf/mainClasses" />
-      <fileset dir="${build.classes}"/>
-      <fileset dir="${build.test}"/>
-      <fileset file="${zk.root}/LICENSE.txt" />
-      <fileset file="${zk.root}/conf/log4j.properties" />
-      <fileset dir="${zk.root}/build/classes" excludes="**/.generated"/>
-      <fileset dir="${zk.root}/build/test/classes"/>
-      <zipgroupfileset dir="${zk.root}/build/lib" includes="*.jar" />
-      <zipgroupfileset dir="${zk.root}/build/test/lib" includes="*.jar" />
-      <zipgroupfileset dir="${zk.root}/src/java/lib" includes="*.jar" />
-    </jar>
-  </target>
-
-  <target name="package" depends="jar, zookeeperbuildcontrib.package"
-          unless="skip.contrib">
-
-    <copy file="${basedir}/build.xml" todir="${dist.dir}/contrib/${name}"/>
-
-    <mkdir dir="${dist.dir}/contrib/${name}/conf"/>
-    <copy todir="${dist.dir}/contrib/${name}/conf">
-      <fileset dir="${basedir}/conf"/>
-    </copy>
-
-    <mkdir dir="${dist.dir}/contrib/${name}/src"/>
-    <copy todir="${dist.dir}/contrib/${name}/src">
-      <fileset dir="${basedir}/src"/>
-    </copy>
-  </target>
-
-	<target name="test">
-		<echo message="No test target defined for this package" />
-	</target>
-</project>
-

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/fatjar/conf/mainClasses
----------------------------------------------------------------------
diff --git a/src/contrib/fatjar/conf/mainClasses b/src/contrib/fatjar/conf/mainClasses
deleted file mode 100644
index 2b0fc83..0000000
--- a/src/contrib/fatjar/conf/mainClasses
+++ /dev/null
@@ -1,10 +0,0 @@
-::Client Commands
-client:org.apache.zookeeper.ZooKeeperMain:Client shell to ZooKeeper
-::Server Commands
-server:org.apache.zookeeper.server.quorum.QuorumPeerMain:Start ZooKeeper server
-::Test Commands
-generateLoad:org.apache.zookeeper.test.system.GenerateLoad:A distributed load generator for testing
-quorumBench:org.apache.zookeeper.server.QuorumBenchmark:A benchmark of just the quorum protocol
-abBench:org.apache.zookeeper.server.quorum.AtomicBroadcastBenchmark:A benchmark of just the atomic broadcast
-ic:org.apache.zookeeper.test.system.InstanceContainer:A container that will instantiate classes as directed by an instance manager
-systest:org.apache.zookeeper.test.system.BaseSysTest:Start system test

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/fatjar/src/java/org/apache/zookeeper/util/FatJarMain.java
----------------------------------------------------------------------
diff --git a/src/contrib/fatjar/src/java/org/apache/zookeeper/util/FatJarMain.java b/src/contrib/fatjar/src/java/org/apache/zookeeper/util/FatJarMain.java
deleted file mode 100644
index 283675d..0000000
--- a/src/contrib/fatjar/src/java/org/apache/zookeeper/util/FatJarMain.java
+++ /dev/null
@@ -1,128 +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.
- */
-
-package org.apache.zookeeper.util;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This is a generic Main class that is completely driven by the
- * /mainClasses resource on the class path. This resource has the
- * format:
- * <pre>
- * cmd:mainClass:Description
- * </pre>
- * Any lines starting with # will be skipped
- *
- */
-public class FatJarMain {
-    static class Cmd {
-        Cmd(String cmd, String clazz, String desc) {
-            this.cmd = cmd;
-            this.clazz = clazz;
-            this.desc = desc;
-        }
-        String cmd;
-        String clazz;
-        String desc;
-    }
-    static Map<String, Cmd> cmds = new HashMap<String, Cmd>();
-    static List<String> order = new ArrayList<String>();
-    
-    /**
-     * @param args the first parameter of args will be used as an
-     * index into the /mainClasses resource. The rest will be passed
-     * to the mainClass to run.
-     * @throws IOException 
-     * @throws ClassNotFoundException 
-     * @throws NoSuchMethodException 
-     * @throws SecurityException 
-     * @throws IllegalAccessException 
-     * @throws IllegalArgumentException 
-     */
-    public static void main(String[] args) throws IOException, ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException {
-        InputStream is = FatJarMain.class.getResourceAsStream("/mainClasses");
-        if (is == null) {
-            System.err.println("Couldn't find /mainClasses in classpath.");
-            System.exit(3);
-        }
-        BufferedReader br = new BufferedReader(new InputStreamReader(is));
-        String line;
-        while((line = br.readLine()) != null) {
-            String parts[] = line.split(":", 3);
-            if (parts.length != 3 || (parts[0].length() > 0 && parts[0].charAt(0) == '#')) {
-                continue;
-            }
-            if (parts[0].length() > 0) {
-                cmds.put(parts[0], new Cmd(parts[0], parts[1], parts[2]));
-                // We use the order array to preserve the order of the commands
-                // for help. The hashmap will not preserver order. (It may be overkill.)
-                order.add(parts[0]);
-            } else {
-                // Just put the description in
-                order.add(parts[2]);
-            }
-        }
-        if (args.length == 0) {
-            doHelp();
-            return;
-        }
-        Cmd cmd = cmds.get(args[0]);
-        if (cmd == null) {
-            doHelp();
-            return;
-        }
-        Class<?> clazz = Class.forName(cmd.clazz);
-        Method main = clazz.getMethod("main", String[].class);
-        String newArgs[] = new String[args.length-1];
-        System.arraycopy(args, 1, newArgs, 0, newArgs.length);
-        try {
-            main.invoke(null, (Object)newArgs);
-        } catch(InvocationTargetException e) {
-            if (e.getCause() != null) {
-                e.getCause().printStackTrace();
-            } else {
-                e.printStackTrace();
-            }
-        }
-    }
-    
-    private static void doHelp() {
-        System.err.println("USAGE: FatJarMain cmd args");
-        System.err.println("Available cmds:");
-        for(String c: order) {
-            Cmd cmd = cmds.get(c);
-            if (cmd != null) {
-                System.err.println("  " + c + " " + cmd.desc);
-            } else {
-                System.err.println(c);
-            }
-        }
-        System.exit(2);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/huebrowser/README
----------------------------------------------------------------------
diff --git a/src/contrib/huebrowser/README b/src/contrib/huebrowser/README
deleted file mode 100644
index c03ea90..0000000
--- a/src/contrib/huebrowser/README
+++ /dev/null
@@ -1,62 +0,0 @@
-
-ZooKeeper Browser - Hue Application
-===================================
-
-The ZooKeeper Browser application allows you to see how the cluster nodes are working and also allows you to do CRUD operations on the znode hierarchy.
-
-Requirements
-------------
-
-Hue-1.0:
-  * http://github.com/downloads/cloudera/hue/hue-1.0.tgz
-  * http://github.com/downloads/cloudera/hue/release-notes-1.0.html
-
-ZooKeeper REST gateway:
-  * available as contrib: contrib/rest
-
-How to install?
----------------
-
-First of all you need to install Hue 1.0 release:
-
-  * http://archive.cloudera.com/cdh/3/hue/sdk/sdk.html
-  * http://github.com/cloudera/hue/tree/release-1.0
-
-After you finish the previous step you should copy the zkui/ folder to apps/ and register the new application:
-
-  * $ ./build/env/bin/python tools/app_reg/app_reg.py --install apps/zkui
-  * $ ./build/env/bin/python tools/app_reg/app_reg.py --list 2>&1 | grep zkui
-    zkui           0.1     /Users/philip/src/hue/apps/zkui
-
-
-And restart the Hue application server.
-
-Configuration
--------------
-
-Edit zkui/src/zkui/settings.py:
-
-CLUSTERS = [{
-        'nice_name': 'Default',
-        'hostport': 'localhost:2181,localhost:2182,localhost:2183',
-        'rest_gateway': 'http://localhost:9998'
-    }, {
-      # ... and more clusters
-    }
-]
-
-What is Hue?
-------------
-
-Wiki: http://wiki.github.com/cloudera/hue/
-Main Repo: http://github.com/cloudera/hue 
-
-Hue is both a web UI for Hadoop and a framework to create interactive web applications. It features a FileBrowser for accessing HDFS, JobSub and JobBrowser applications for submitting and viewing MapReduce jobs, a Beeswax application for interacting with Hive. On top of that, the web frontend is mostly built from declarative widgets that require no JavaScript and are easy to learn.
-
-What is ZooKeeper?
-------------------
-
-http://zookeeper.apache.org/
-
-ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them ,which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.
-

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/huebrowser/zkui/Makefile
----------------------------------------------------------------------
diff --git a/src/contrib/huebrowser/zkui/Makefile b/src/contrib/huebrowser/zkui/Makefile
deleted file mode 100644
index 9c22d1c..0000000
--- a/src/contrib/huebrowser/zkui/Makefile
+++ /dev/null
@@ -1,21 +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.
-
-ifeq ($(ROOT),)
-  $(error "Error: Expect the environment variable $$ROOT to point to the Desktop installation")
-endif
-
-include $(ROOT)/Makefile.sdk

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/huebrowser/zkui/setup.py
----------------------------------------------------------------------
diff --git a/src/contrib/huebrowser/zkui/setup.py b/src/contrib/huebrowser/zkui/setup.py
deleted file mode 100644
index 68d1352..0000000
--- a/src/contrib/huebrowser/zkui/setup.py
+++ /dev/null
@@ -1,46 +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.
-from setuptools import setup, find_packages
-import os
-
-def expand_package_data(src_dirs, strip=""):
-  ret = []
-  for src_dir in src_dirs:
-    for path, dnames, fnames in os.walk(src_dir):
-      for fname in fnames:
-        ret.append(os.path.join(path, fname).replace(strip, ""))
-  return ret
-
-os.chdir(os.path.dirname(os.path.abspath(__file__)))
-setup(
-  name = "zkui",
-  version = "0.1",
-  url = 'http://zookeeper.apache.org/',
-  description = 'ZooKeeper Browser',
-  packages = find_packages('src'),
-  package_dir = {'': 'src'},
-  install_requires = ['setuptools', 'desktop'],
-  entry_points = { 'desktop.sdk.application': 'zkui=zkui' },
-  zip_safe = False,
-  package_data = {
-    # Include static resources.  Package_data doesn't
-    # deal well with directory globs, so we enumerate
-    # the files manually.
-    'zkui': expand_package_data(
-      ["src/zkui/templates", "src/zkui/static"],
-      "src/zkui/")
-  }
-)

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/huebrowser/zkui/src/zkui/__init__.py
----------------------------------------------------------------------
diff --git a/src/contrib/huebrowser/zkui/src/zkui/__init__.py b/src/contrib/huebrowser/zkui/src/zkui/__init__.py
deleted file mode 100644
index eccc881..0000000
--- a/src/contrib/huebrowser/zkui/src/zkui/__init__.py
+++ /dev/null
@@ -1,16 +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.
-

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/huebrowser/zkui/src/zkui/forms.py
----------------------------------------------------------------------
diff --git a/src/contrib/huebrowser/zkui/src/zkui/forms.py b/src/contrib/huebrowser/zkui/src/zkui/forms.py
deleted file mode 100644
index 6b1f178..0000000
--- a/src/contrib/huebrowser/zkui/src/zkui/forms.py
+++ /dev/null
@@ -1,29 +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.
-
-from django import forms
-from django.forms.widgets import Textarea, HiddenInput
-
-class CreateZNodeForm(forms.Form):
-  name = forms.CharField(max_length=64)
-  data = forms.CharField(required=False, widget=Textarea)
-  sequence = forms.BooleanField(required=False)
-
-class EditZNodeForm(forms.Form):
-  data = forms.CharField(required=False, widget=Textarea)
-  version = forms.IntegerField(required=False, widget=HiddenInput)
-  
-

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/huebrowser/zkui/src/zkui/models.py
----------------------------------------------------------------------
diff --git a/src/contrib/huebrowser/zkui/src/zkui/models.py b/src/contrib/huebrowser/zkui/src/zkui/models.py
deleted file mode 100644
index a46696b..0000000
--- a/src/contrib/huebrowser/zkui/src/zkui/models.py
+++ /dev/null
@@ -1,17 +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.
-
-

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b0df8fe1/src/contrib/huebrowser/zkui/src/zkui/rest.py
----------------------------------------------------------------------
diff --git a/src/contrib/huebrowser/zkui/src/zkui/rest.py b/src/contrib/huebrowser/zkui/src/zkui/rest.py
deleted file mode 100644
index e4874a1..0000000
--- a/src/contrib/huebrowser/zkui/src/zkui/rest.py
+++ /dev/null
@@ -1,230 +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.
-
-import urllib2
-import urllib
-import simplejson
-
-from contextlib import contextmanager
-
-class RequestWithMethod(urllib2.Request):
-    """ Request class that know how to set the method name """
-    def __init__(self, *args, **kwargs):
-        urllib2.Request.__init__(self, *args, **kwargs)
-        self._method = None
-
-    def get_method(self):
-        return self._method or \
-            urllib2.Request.get_method(self)
-
-    def set_method(self, method):
-        self._method = method
-
-class ZooKeeper(object):
-
-    class Error(Exception): pass
-
-    class NotFound(Error): pass
-
-    class ZNodeExists(Error): pass
-
-    class InvalidSession(Error): pass
-
-    class WrongVersion(Error): pass
-
-    def __init__(self, uri = 'http://localhost:9998'):
-        self._base = uri
-        self._session = None
-
-    def start_session(self, expire=5, id=None):
-        """ Create a session and return the ID """
-        if id is None:
-            url = "%s/sessions/v1/?op=create&expire=%d" % (self._base, expire)
-            self._session = self._do_post(url)['id']
-        else:
-            self._session = id
-        return self._session
-
-    def close_session(self):
-        """ Close the session on the server """
-        if self._session is not None:
-            url = '%s/sessions/v1/%s' % (self._base, self._session)
-            self._do_delete(url)
-            self._session = None
-
-    def heartbeat(self):
-        """ Send a heartbeat request. This is needed in order to keep a session alive """
-        if self._session is not None:
-            url = '%s/sessions/v1/%s' % (self._base, self._session)
-            self._do_put(url, '')
-
-    @contextmanager
-    def session(self, *args, **kwargs):
-        """ Session handling using a context manager """
-        yield self.start_session(*args, **kwargs)
-        self.close_session()
-
-    def get(self, path):
-        """ Get a node """
-        url = "%s/znodes/v1%s" % (self._base, path)
-        return self._do_get(url)
-
-    def get_children(self, path):
-        """ Get all the children for a given path. This function creates a generator """
-        for child_path in self.get_children_paths(path, uris=True):
-            try:
-                yield self._do_get(child_path)
-            except ZooKeeper.NotFound:
-                continue
-
-    def get_children_paths(self, path, uris=False):
-        """ Get the paths for children nodes """
-        url = "%s/znodes/v1%s?view=children" % (self._base, path)
-        resp = self._do_get(url)
-        for child in resp.get('children', []):
-            yield child if not uris else resp['child_uri_template']\
-              .replace('{child}', urllib2.quote(child))
-       
-    def create(self, path, data=None, sequence=False, ephemeral=False):
-        """ Create a new node. By default this call creates a persistent znode.
-
-        You can also create an ephemeral or a sequential znode.
-        """
-        ri = path.rindex('/')
-        head, name = path[:ri+1], path[ri+1:]
-        if head != '/': head = head[:-1]
-
-        flags = {
-            'null': 'true' if data is None else 'false',
-            'ephemeral': 'true' if ephemeral else 'false',
-            'sequence': 'true' if sequence else 'false'
-        }
-        if ephemeral:
-            if self._session:
-                flags['session'] = self._session
-            else:
-                raise ZooKeeper.Error, 'You need a session '\
-                    'to create an ephemeral node'
-        flags = urllib.urlencode(flags)
-
-        url = "%s/znodes/v1%s?op=create&name=%s&%s" % \
-            (self._base, head, name, flags)
-
-        return self._do_post(url, data)
-
-    def set(self, path, data=None, version=-1, null=False):
-        """ Set the value of node """
-        url = "%s/znodes/v1%s?%s" % (self._base, path, \
-            urllib.urlencode({
-                'version': version,
-                'null': 'true' if null else 'false'
-        }))
-        return self._do_put(url, data)
-
-    def delete(self, path, version=-1):
-        """ Delete a znode """
-        if type(path) is list:
-            map(lambda el: self.delete(el, version), path)
-            return
-
-        url = '%s/znodes/v1%s?%s' % (self._base, path, \
-            urllib.urlencode({
-                'version':version
-        }))
-        try:
-            return self._do_delete(url)
-        except urllib2.HTTPError, e:
-            if e.code == 412:
-                raise ZooKeeper.WrongVersion(path)
-            elif e.code == 404:
-                raise ZooKeeper.NotFound(path)
-            raise
-
-    def recursive_delete(self, path):
-        """ Delete all the nodes from the tree """
-        for child in self.get_children_paths(path):
-            fp = ("%s/%s" % (path, child)).replace('//', '/')
-            self.recursive_delete(fp)
-        self.delete(path)
-
-    def exists(self, path):
-        """ Do a znode exists """
-        try:
-            self.get(path)
-            return True
-        except ZooKeeper.NotFound:
-            return False
-
-    def _do_get(self, uri):
-        """ Send a GET request and convert errors to exceptions """
-        try:
-            req = urllib2.urlopen(uri)
-            resp = simplejson.load(req)
-
-            if 'Error' in resp:
-               raise ZooKeeper.Error(resp['Error'])
-
-            return resp
-        except urllib2.HTTPError, e:
-            if e.code == 404:
-                raise ZooKeeper.NotFound(uri)
-            raise
-
-    def _do_post(self, uri, data=None):
-        """ Send a POST request and convert errors to exceptions """
-        try:
-            req = urllib2.Request(uri, {})
-            req.add_header('Content-Type', 'application/octet-stream')
-            if data is not None:
-                req.add_data(data)
-
-            resp = simplejson.load(urllib2.urlopen(req))
-            if 'Error' in resp:
-                raise ZooKeeper.Error(resp['Error'])
-            return resp
-
-        except urllib2.HTTPError, e:
-            if e.code == 201:
-                return True
-            elif e.code == 409:
-                raise ZooKeeper.ZNodeExists(uri)
-            elif e.code == 401:
-                raise ZooKeeper.InvalidSession(uri)
-            raise
-
-    def _do_delete(self, uri):
-        """ Send a DELETE request """
-        req = RequestWithMethod(uri)
-        req.set_method('DELETE')
-        req.add_header('Content-Type', 'application/octet-stream')
-        return urllib2.urlopen(req).read()
-
-    def _do_put(self, uri, data):
-        """ Send a PUT request """
-        try:
-            req = RequestWithMethod(uri)
-            req.set_method('PUT')
-            req.add_header('Content-Type', 'application/octet-stream')
-            if data is not None:
-                req.add_data(data)
-
-            return urllib2.urlopen(req).read()
-        except urllib2.HTTPError, e:
-            if e.code == 412: # precondition failed
-                raise ZooKeeper.WrongVersion(uri)
-            raise
-


Mime
View raw message