Merge branch 'master' into CURATOR-392
Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/ddf4cb28 Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/ddf4cb28 Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/ddf4cb28 Branch: refs/heads/master Commit: ddf4cb281e61c6fb0a25ea68331e1b4599e4bb20 Parents: 9b73d11 7d4f062 Author: Kenco <[email protected]> Authored: Mon Jul 17 20:45:43 2017 +0100 Committer: Kenco <[email protected]> Committed: Mon Jul 17 20:45:43 2017 +0100 ---------------------------------------------------------------------- README | 7 - README.md | 11 + .../ensemble/fixed/FixedEnsembleProvider.java | 4 +- .../curator/utils/ExceptionAccumulator.java | 69 +++ .../org/apache/curator/utils/ThreadUtils.java | 4 +- curator-examples/pom.xml | 23 +- .../src/main/java/async/AsyncExamples.java | 127 +++++ .../src/main/java/modeled/ContainerType.java | 68 +++ .../java/modeled/ModeledCuratorExamples.java | 67 +++ .../java/modeled/ModeledCuratorExamplesAlt.java | 52 ++ .../src/main/java/modeled/PersonId.java | 70 +++ .../src/main/java/modeled/PersonModel.java | 120 +++++ .../src/main/java/modeled/PersonModelSpec.java | 46 ++ .../src/main/java/pubsub/Clients.java | 76 +++ .../src/main/java/pubsub/Publisher.java | 146 ++++++ curator-examples/src/main/java/pubsub/README.md | 93 ++++ .../src/main/java/pubsub/SubPubTest.java | 220 +++++++++ .../src/main/java/pubsub/Subscriber.java | 84 ++++ .../java/pubsub/messages/LocationAvailable.java | 55 +++ .../main/java/pubsub/messages/UserCreated.java | 64 +++ .../src/main/java/pubsub/models/Group.java | 47 ++ .../src/main/java/pubsub/models/Instance.java | 76 +++ .../main/java/pubsub/models/InstanceType.java | 27 ++ .../src/main/java/pubsub/models/Message.java | 67 +++ .../src/main/java/pubsub/models/Priority.java | 26 + .../src/main/resources/log4j.properties | 24 + .../src/site/confluence/index.confluence | 5 +- .../curator/framework/api/CreateBuilder.java | 27 +- .../curator/framework/api/CreateBuilder2.java | 34 ++ .../transaction/TransactionCreateBuilder.java | 24 +- .../transaction/TransactionCreateBuilder2.java | 34 ++ .../framework/imps/CreateBuilderImpl.java | 159 +++---- .../framework/imps/GetDataBuilderImpl.java | 5 + .../apache/curator/framework/schema/Schema.java | 2 +- .../framework/imps/TestFailedDeleteManager.java | 8 +- .../curator/framework/imps/TestFramework.java | 2 +- .../framework/imps/TestFrameworkEdges.java | 22 +- .../framework/imps/TestNamespaceFacade.java | 6 +- .../framework/imps/TestReconfiguration.java | 74 ++- .../curator/framework/imps/TestTtlNodes.java | 88 ++++ .../framework/recipes/cache/NodeCache.java | 15 + .../recipes/cache/PathChildrenCache.java | 4 +- .../recipes/locks/InterProcessMutex.java | 7 +- .../framework/recipes/nodes/PersistentNode.java | 103 +++- .../recipes/nodes/PersistentNodeListener.java | 33 ++ .../recipes/nodes/PersistentTtlNode.java | 209 +++++++++ .../framework/recipes/shared/SharedCount.java | 10 +- .../framework/recipes/shared/SharedValue.java | 28 +- .../src/site/confluence/index.confluence | 3 +- .../persistent-ephemeral-node.confluence | 39 -- .../site/confluence/persistent-node.confluence | 39 ++ .../confluence/persistent-ttl-node.confluence | 41 ++ .../recipes/cache/TestEventOrdering.java | 2 +- .../cache/TestPathChildrenCacheInCluster.java | 63 ++- .../recipes/leader/TestLeaderSelector.java | 2 +- .../locks/TestInterProcessSemaphoreCluster.java | 3 +- .../nodes/TestPersistentEphemeralNode.java | 52 +- .../recipes/nodes/TestPersistentTtlNode.java | 154 ++++++ .../recipes/shared/TestSharedCount.java | 117 ++++- .../apache/curator/test/BaseClassForTests.java | 10 +- .../org/apache/curator/test/DirectoryUtils.java | 10 +- .../curator/test/TestingQuorumPeerMain.java | 17 +- .../curator/test/TestingZooKeeperMain.java | 16 +- .../curator/test/TestingZooKeeperServer.java | 18 +- .../java/org/apache/curator/test/Timing.java | 28 ++ .../apache/curator/test/ZooKeeperMainFace.java | 3 - curator-x-async/pom.xml | 18 + .../org/apache/curator/x/async/AsyncStage.java | 15 +- .../apache/curator/x/async/AsyncWrappers.java | 393 ++++++++++++++++ .../curator/x/async/api/AsyncCreateBuilder.java | 57 +++ .../x/async/api/AsyncCuratorFrameworkDsl.java | 1 - .../api/AsyncTransactionCreateBuilder.java | 35 +- .../x/async/details/AsyncCreateBuilderImpl.java | 43 +- .../x/async/details/AsyncTransactionOpImpl.java | 31 +- .../x/async/modeled/JacksonModelSerializer.java | 124 +++++ .../x/async/modeled/ModelSerializer.java | 61 +++ .../curator/x/async/modeled/ModelSpec.java | 217 +++++++++ .../x/async/modeled/ModelSpecBuilder.java | 138 ++++++ .../x/async/modeled/ModeledFramework.java | 371 +++++++++++++++ .../async/modeled/ModeledFrameworkBuilder.java | 172 +++++++ .../curator/x/async/modeled/ModeledOptions.java | 29 ++ .../curator/x/async/modeled/NodeName.java | 39 ++ .../curator/x/async/modeled/Resolvable.java | 48 ++ .../apache/curator/x/async/modeled/ZNode.java | 74 +++ .../apache/curator/x/async/modeled/ZPath.java | 279 +++++++++++ .../modeled/cached/CachedModeledFramework.java | 113 +++++ .../x/async/modeled/cached/ModeledCache.java | 46 ++ .../modeled/cached/ModeledCacheListener.java | 106 +++++ .../details/CachedModeledFrameworkImpl.java | 334 +++++++++++++ .../x/async/modeled/details/ModelSpecImpl.java | 239 ++++++++++ .../x/async/modeled/details/ModelStage.java | 171 +++++++ .../async/modeled/details/ModeledCacheImpl.java | 211 +++++++++ .../modeled/details/ModeledFrameworkImpl.java | 469 +++++++++++++++++++ .../details/VersionedModeledFrameworkImpl.java | 85 ++++ .../x/async/modeled/details/ZNodeImpl.java | 56 +++ .../x/async/modeled/details/ZPathImpl.java | 289 ++++++++++++ .../x/async/modeled/typed/TypedModelSpec.java | 87 ++++ .../x/async/modeled/typed/TypedModelSpec0.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec10.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec2.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec3.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec4.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec5.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec6.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec7.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec8.java | 61 +++ .../x/async/modeled/typed/TypedModelSpec9.java | 61 +++ .../modeled/typed/TypedModeledFramework.java | 93 ++++ .../modeled/typed/TypedModeledFramework0.java | 63 +++ .../modeled/typed/TypedModeledFramework10.java | 63 +++ .../modeled/typed/TypedModeledFramework2.java | 63 +++ .../modeled/typed/TypedModeledFramework3.java | 63 +++ .../modeled/typed/TypedModeledFramework4.java | 63 +++ .../modeled/typed/TypedModeledFramework5.java | 63 +++ .../modeled/typed/TypedModeledFramework6.java | 63 +++ .../modeled/typed/TypedModeledFramework7.java | 63 +++ .../modeled/typed/TypedModeledFramework8.java | 63 +++ .../modeled/typed/TypedModeledFramework9.java | 63 +++ .../x/async/modeled/typed/TypedZPath.java | 92 ++++ .../x/async/modeled/typed/TypedZPath0.java | 52 ++ .../x/async/modeled/typed/TypedZPath10.java | 52 ++ .../x/async/modeled/typed/TypedZPath2.java | 52 ++ .../x/async/modeled/typed/TypedZPath3.java | 52 ++ .../x/async/modeled/typed/TypedZPath4.java | 52 ++ .../x/async/modeled/typed/TypedZPath5.java | 52 ++ .../x/async/modeled/typed/TypedZPath6.java | 52 ++ .../x/async/modeled/typed/TypedZPath7.java | 52 ++ .../x/async/modeled/typed/TypedZPath8.java | 52 ++ .../x/async/modeled/typed/TypedZPath9.java | 52 ++ .../x/async/modeled/versioned/Versioned.java | 69 +++ .../versioned/VersionedModeledFramework.java | 56 +++ .../src/site/confluence/async.confluence | 212 +++++++++ .../src/site/confluence/index.confluence | 213 +-------- .../confluence/modeled-components.confluence | 186 ++++++++ .../site/confluence/modeled-typed.confluence | 89 ++++ .../src/site/confluence/modeled.confluence | 48 ++ curator-x-async/src/site/site.xml | 6 +- .../x/async/CompletableBaseClassForTests.java | 71 +++ .../curator/x/async/TestAsyncWrappers.java | 73 +++ .../curator/x/async/TestBasicOperations.java | 58 +-- .../modeled/TestCachedModeledFramework.java | 96 ++++ .../x/async/modeled/TestModeledFramework.java | 170 +++++++ .../async/modeled/TestModeledFrameworkBase.java | 64 +++ .../curator/x/async/modeled/TestZPath.java | 126 +++++ .../x/async/modeled/models/TestModel.java | 115 +++++ .../x/async/modeled/models/TestNewerModel.java | 137 ++++++ .../x/async/modeled/models/TestSimpleModel.java | 84 ++++ .../src/test/resources/log4j.properties | 27 ++ .../curator/x/discovery/ServiceInstance.java | 15 + .../curator/x/discovery/ServiceProvider.java | 7 + .../details/JsonInstanceSerializer.java | 53 ++- .../x/discovery/details/OldServiceInstance.java | 196 ++++++++ .../discovery/details/ServiceDiscoveryImpl.java | 21 +- .../x/discovery/TestJsonInstanceSerializer.java | 16 +- ...TestJsonInstanceSerializerCompatibility.java | 107 +++++ .../details/TestNewServiceInstance.java | 145 ++++++ .../discovery/details/TestServiceDiscovery.java | 130 ++--- .../discovery/details/TestServiceProvider.java | 3 +- curator-x-rpc/src/site/site.xml | 2 +- doap.rdf | 4 +- pom.xml | 27 +- src/site/confluence/index.confluence | 2 + src/site/site.xml | 4 +- 163 files changed, 11516 insertions(+), 601 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/ddf4cb28/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java ---------------------------------------------------------------------- diff --cc curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java index 52d2860,abe6cc1..9e79f24 --- a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java +++ b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestReconfiguration.java @@@ -313,41 -333,14 +333,46 @@@ public class TestReconfiguration extend } } + @Test + public void testConfigToConnectionStringNormal() throws Exception + { + String config = "server.1=10.1.2.3:2888:3888:participant;10.2.3.4:2181"; + String configString = EnsembleTracker.configToConnectionString(toQuorumVerifier(config.getBytes())); + Assert.assertEquals("10.2.3.4:2181", configString); + } + + @Test + public void testConfigToConnectionStringNoClientAddr() throws Exception + { + String config = "server.1=10.1.2.3:2888:3888:participant;2181"; + String configString = EnsembleTracker.configToConnectionString(toQuorumVerifier(config.getBytes())); + Assert.assertEquals("10.1.2.3:2181", configString); + } + + @Test + public void testConfigToConnectionStringWildcardClientAddr() throws Exception + { + String config = "server.1=10.1.2.3:2888:3888:participant;0.0.0.0:2181"; + String configString = EnsembleTracker.configToConnectionString(toQuorumVerifier(config.getBytes())); + Assert.assertEquals("10.1.2.3:2181", configString); + } + + @Test + public void testConfigToConnectionStringNoClientAddrOrPort() throws Exception + { + String config = "server.1=10.1.2.3:2888:3888:participant"; + String configString = EnsembleTracker.configToConnectionString(toQuorumVerifier(config.getBytes())); + Assert.assertEquals("", configString); + } + private CuratorFramework newClient() { - final AtomicReference<String> connectString = new AtomicReference<>(cluster.getConnectString()); + return newClient(cluster.getConnectString()); + } + + private CuratorFramework newClient(String connectionString) + { + final AtomicReference<String> connectString = new AtomicReference<>(connectionString); ensembleProvider = new EnsembleProvider() { @Override
