Repository: curator Updated Branches: refs/heads/CURATOR-397 dd390b6e1 -> d518417e5
ModeledDetails isn't needed Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/45daa69b Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/45daa69b Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/45daa69b Branch: refs/heads/CURATOR-397 Commit: 45daa69bbf2a9ca0cfaa4c1ac20d53ce0314feb9 Parents: dd390b6 Author: randgalt <[email protected]> Authored: Sat Apr 8 23:00:16 2017 -0500 Committer: randgalt <[email protected]> Committed: Sat Apr 8 23:00:16 2017 -0500 ---------------------------------------------------------------------- .../framework/recipes/cache/NodeCache.java | 10 ++++ .../modeled/ModeledAsyncCuratorFramework.java | 2 - .../curator/x/async/modeled/ModeledDetails.java | 49 -------------------- .../ModeledAsyncCuratorFrameworkImpl.java | 28 +---------- .../details/recipes/ModeledNodeCacheImpl.java | 15 +++--- .../recipes/ModeledPathChildrenCacheImpl.java | 22 ++++----- .../details/recipes/ModeledTreeCacheImpl.java | 14 +++--- .../async/modeled/recipes/ModeledNodeCache.java | 8 ++-- .../recipes/ModeledPathChildrenCache.java | 10 ++-- .../async/modeled/recipes/ModeledTreeCache.java | 8 ++-- .../details/recipes/TestEventTypeMappings.java | 26 +++++++++++ .../modeled/recipes/TestModeledNodeCache.java | 43 +++++++++++++++++ 12 files changed, 120 insertions(+), 115 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java ---------------------------------------------------------------------- diff --git a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java index 9a6eaa7..3a490ca 100644 --- a/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java +++ b/curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/NodeCache.java @@ -233,6 +233,16 @@ public class NodeCache implements Closeable return data.get(); } + /** + * Return the path this cache is watching + * + * @return path + */ + public String getPath() + { + return path; + } + @VisibleForTesting volatile Exchanger<Object> rebuildTestExchanger; http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledAsyncCuratorFramework.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledAsyncCuratorFramework.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledAsyncCuratorFramework.java index d13de24..4b7e8e8 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledAsyncCuratorFramework.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledAsyncCuratorFramework.java @@ -70,8 +70,6 @@ public interface ModeledAsyncCuratorFramework<T> */ CuratorFramework unwrap(); - ModeledDetails<T> getDetails(); - /** * Return a new Modeled Curator instance with all the same options but applying to the given child node of this Modeled Curator's * path. E.g. if this Modeled Curator instance applies to "/a/b", calling <code>modeled.at("c")</code> returns an instance that applies to http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledDetails.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledDetails.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledDetails.java deleted file mode 100644 index c9579d7..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledDetails.java +++ /dev/null @@ -1,49 +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.curator.x.async.modeled; - -import org.apache.curator.x.async.api.CreateOption; -import java.util.Set; - -/** - * Modeling options - */ -public interface ModeledDetails<T> -{ - /** - * Return the create options set for this instance - * - * @return options - */ - Set<CreateOption> getCreateOptions(); - - /** - * Return the serializer for this instance - * - * @return serializer - */ - ModelSerializer<T> getSerializer(); - - /** - * Return the path for this instance - * - * @return path - */ - ZPath getPath(); -} http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledAsyncCuratorFrameworkImpl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledAsyncCuratorFrameworkImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledAsyncCuratorFrameworkImpl.java index 1754f03..40a3be8 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledAsyncCuratorFrameworkImpl.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledAsyncCuratorFrameworkImpl.java @@ -34,8 +34,6 @@ import org.apache.curator.x.async.api.DeleteOption; import org.apache.curator.x.async.api.WatchableAsyncCuratorFramework; import org.apache.curator.x.async.modeled.ModelSerializer; import org.apache.curator.x.async.modeled.ModeledAsyncCuratorFramework; -import org.apache.curator.x.async.modeled.ModeledDetails; -import org.apache.curator.x.async.modeled.ZPath; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.data.ACL; @@ -47,7 +45,7 @@ import java.util.Set; import java.util.concurrent.CompletionStage; import java.util.function.UnaryOperator; -public class ModeledAsyncCuratorFrameworkImpl<T> implements ModeledAsyncCuratorFramework<T>, ModeledDetails<T> +public class ModeledAsyncCuratorFrameworkImpl<T> implements ModeledAsyncCuratorFramework<T> { private final AsyncCuratorFramework client; private final WatchableAsyncCuratorFramework watchableClient; @@ -84,30 +82,6 @@ public class ModeledAsyncCuratorFrameworkImpl<T> implements ModeledAsyncCuratorF } @Override - public ModeledDetails<T> getDetails() - { - return this; - } - - @Override - public Set<CreateOption> getCreateOptions() - { - return createOptions; - } - - @Override - public ModelSerializer<T> getSerializer() - { - return serializer; - } - - @Override - public ZPath getPath() - { - return ZPath.parse(path); - } - - @Override public CuratorFramework unwrap() { return client.unwrap(); http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledNodeCacheImpl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledNodeCacheImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledNodeCacheImpl.java index 8270b78..4509c73 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledNodeCacheImpl.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledNodeCacheImpl.java @@ -23,7 +23,8 @@ import org.apache.curator.framework.recipes.cache.ChildData; import org.apache.curator.framework.recipes.cache.NodeCache; import org.apache.curator.framework.recipes.cache.NodeCacheListener; import org.apache.curator.utils.CloseableUtils; -import org.apache.curator.x.async.modeled.ModeledDetails; +import org.apache.curator.x.async.modeled.ModelSerializer; +import org.apache.curator.x.async.modeled.ZPath; import org.apache.curator.x.async.modeled.recipes.ModeledCachedNode; import org.apache.curator.x.async.modeled.recipes.ModeledNodeCache; import org.apache.zookeeper.data.Stat; @@ -33,12 +34,14 @@ import java.util.Optional; public class ModeledNodeCacheImpl<T> implements ModeledNodeCache<T> { private final NodeCache cache; - private final ModeledDetails<T> modeled; + private final ModelSerializer<T> serializer; + private final ZPath path; - public ModeledNodeCacheImpl(ModeledDetails<T> modeled, NodeCache cache) + public ModeledNodeCacheImpl(NodeCache cache, ModelSerializer<T> serializer) { - this.modeled = Objects.requireNonNull(modeled, "modeled cannot be null"); this.cache = Objects.requireNonNull(cache, "cache cannot be null"); + this.serializer = Objects.requireNonNull(serializer, "serializer cannot be null"); + path = ZPath.parse(cache.getPath()); } @Override @@ -108,9 +111,9 @@ public class ModeledNodeCacheImpl<T> implements ModeledNodeCache<T> } if ( (data == null) || (data.length == 0) ) { - return Optional.of(new ModeledCachedNodeImpl<T>(modeled.getPath(), null, stat)); + return Optional.of(new ModeledCachedNodeImpl<T>(path, null, stat)); } - return Optional.of(new ModeledCachedNodeImpl<>(modeled.getPath(), modeled.getSerializer().deserialize(data), stat)); + return Optional.of(new ModeledCachedNodeImpl<>(path, serializer.deserialize(data), stat)); } @Override http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledPathChildrenCacheImpl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledPathChildrenCacheImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledPathChildrenCacheImpl.java index c8b569d..0153806 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledPathChildrenCacheImpl.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledPathChildrenCacheImpl.java @@ -26,13 +26,13 @@ import org.apache.curator.framework.recipes.cache.PathChildrenCache; import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener; import org.apache.curator.utils.CloseableUtils; -import org.apache.curator.x.async.modeled.ModeledDetails; +import org.apache.curator.x.async.modeled.ModelSerializer; import org.apache.curator.x.async.modeled.ZPath; +import org.apache.curator.x.async.modeled.recipes.ModeledCacheEvent; import org.apache.curator.x.async.modeled.recipes.ModeledCacheEventType; +import org.apache.curator.x.async.modeled.recipes.ModeledCacheListener; import org.apache.curator.x.async.modeled.recipes.ModeledCachedNode; import org.apache.curator.x.async.modeled.recipes.ModeledPathChildrenCache; -import org.apache.curator.x.async.modeled.recipes.ModeledCacheEvent; -import org.apache.curator.x.async.modeled.recipes.ModeledCacheListener; import java.util.List; import java.util.Map; import java.util.Objects; @@ -43,14 +43,14 @@ import java.util.stream.Collectors; public class ModeledPathChildrenCacheImpl<T> implements ModeledPathChildrenCache<T> { - private final ModeledDetails<T> modeled; private final PathChildrenCache cache; private final Map<ModeledCacheListener, PathChildrenCacheListener> listenerMap = new ConcurrentHashMap<>(); + private final ModelSerializer<T> serializer; - public ModeledPathChildrenCacheImpl(ModeledDetails<T> modeled, PathChildrenCache cache) + public ModeledPathChildrenCacheImpl(PathChildrenCache cache, ModelSerializer<T> serializer) { - this.modeled = Objects.requireNonNull(modeled, "modeled cannot be null"); this.cache = Objects.requireNonNull(cache, "cache cannot be null"); + this.serializer = Objects.requireNonNull(serializer, "serializer cannot be null"); } @Override @@ -137,7 +137,7 @@ public class ModeledPathChildrenCacheImpl<T> implements ModeledPathChildrenCache @Override public Optional<ModeledCachedNode<T>> getNode() { - return Optional.ofNullable(from(modeled, event.getData())); + return Optional.ofNullable(from(serializer, event.getData())); } }; listener.event(modeledEvent); @@ -162,14 +162,14 @@ public class ModeledPathChildrenCacheImpl<T> implements ModeledPathChildrenCache public List<ModeledCachedNode> getCurrentData() { return cache.getCurrentData().stream() - .map(data -> from(modeled, data)) + .map(data -> from(serializer, data)) .collect(Collectors.toList()); } @Override public Optional<ModeledCachedNode> getCurrentData(String fullPath) { - return Optional.ofNullable(from(modeled, cache.getCurrentData(fullPath))); + return Optional.ofNullable(from(serializer, cache.getCurrentData(fullPath))); } @Override @@ -209,13 +209,13 @@ public class ModeledPathChildrenCacheImpl<T> implements ModeledPathChildrenCache CloseableUtils.closeQuietly(cache); } - static <T> ModeledCachedNode<T> from(ModeledDetails<T> modeled, ChildData data) + static <T> ModeledCachedNode<T> from(ModelSerializer<T> serializer, ChildData data) { if ( data == null ) { return null; } - T model = (data.getData() != null) ? modeled.getSerializer().deserialize(data.getData()) : null; + T model = (data.getData() != null) ? serializer.deserialize(data.getData()) : null; return new ModeledCachedNodeImpl<>(ZPath.parse(data.getPath()), model, data.getStat()); } http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledTreeCacheImpl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledTreeCacheImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledTreeCacheImpl.java index 20a1bc7..8cf156b 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledTreeCacheImpl.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/recipes/ModeledTreeCacheImpl.java @@ -26,7 +26,7 @@ import org.apache.curator.framework.recipes.cache.TreeCache; import org.apache.curator.framework.recipes.cache.TreeCacheEvent; import org.apache.curator.framework.recipes.cache.TreeCacheListener; import org.apache.curator.utils.CloseableUtils; -import org.apache.curator.x.async.modeled.ModeledDetails; +import org.apache.curator.x.async.modeled.ModelSerializer; import org.apache.curator.x.async.modeled.ZPath; import org.apache.curator.x.async.modeled.recipes.ModeledCacheEvent; import org.apache.curator.x.async.modeled.recipes.ModeledCacheEventType; @@ -46,14 +46,14 @@ import static org.apache.curator.x.async.modeled.details.recipes.ModeledPathChil public class ModeledTreeCacheImpl<T> implements ModeledTreeCache<T> { - private final ModeledDetails<T> modeled; private final TreeCache cache; private final Map<ModeledCacheListener, TreeCacheListener> listenerMap = new ConcurrentHashMap<>(); + private final ModelSerializer<T> serializer; - public ModeledTreeCacheImpl(ModeledDetails<T> modeled, TreeCache cache) + public ModeledTreeCacheImpl(TreeCache cache, ModelSerializer<T> serializer) { - this.modeled = Objects.requireNonNull(modeled, "modeled cannot be null"); this.cache = Objects.requireNonNull(cache, "cache cannot be null"); + this.serializer = Objects.requireNonNull(serializer, "serializer cannot be null"); } @Override @@ -107,7 +107,7 @@ public class ModeledTreeCacheImpl<T> implements ModeledTreeCache<T> @Override public Optional<ModeledCachedNode<T>> getNode() { - return Optional.ofNullable(from(modeled, event.getData())); + return Optional.ofNullable(from(serializer, event.getData())); } }; }; @@ -136,14 +136,14 @@ public class ModeledTreeCacheImpl<T> implements ModeledTreeCache<T> return Collections.emptyMap(); } return currentChildren.entrySet().stream() - .map(entry -> new AbstractMap.SimpleEntry<>(ZPath.parse(entry.getKey()), from(modeled, entry.getValue()))) + .map(entry -> new AbstractMap.SimpleEntry<>(ZPath.parse(entry.getKey()), from(serializer, entry.getValue()))) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); } @Override public Optional<ModeledCachedNode<T>> getCurrentData(ZPath fullPath) { - return Optional.ofNullable(from(modeled, cache.getCurrentData(fullPath.fullPath()))); + return Optional.ofNullable(from(serializer, cache.getCurrentData(fullPath.fullPath()))); } @VisibleForTesting http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledNodeCache.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledNodeCache.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledNodeCache.java index 0a7064a..73949c5 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledNodeCache.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledNodeCache.java @@ -21,7 +21,7 @@ package org.apache.curator.x.async.modeled.recipes; import org.apache.curator.framework.listen.Listenable; import org.apache.curator.framework.recipes.cache.NodeCache; import org.apache.curator.framework.recipes.cache.NodeCacheListener; -import org.apache.curator.x.async.modeled.ModeledDetails; +import org.apache.curator.x.async.modeled.ModelSerializer; import org.apache.curator.x.async.modeled.details.recipes.ModeledNodeCacheImpl; import java.io.Closeable; import java.util.Optional; @@ -35,13 +35,13 @@ public interface ModeledNodeCache<T> extends Closeable /** * Return a newly wrapped cache * - * @param modeled modeling options * @param cache the cache to wrap + * @param serializer for the model * @return new wrapped cache */ - static <T> ModeledNodeCache wrap(ModeledDetails<T> modeled, NodeCache cache) + static <T> ModeledNodeCache wrap(NodeCache cache, ModelSerializer<T> serializer) { - return new ModeledNodeCacheImpl<>(modeled, cache); + return new ModeledNodeCacheImpl<>(cache, serializer); } /** http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledPathChildrenCache.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledPathChildrenCache.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledPathChildrenCache.java index f192dbf..32ed58f 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledPathChildrenCache.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledPathChildrenCache.java @@ -20,7 +20,7 @@ package org.apache.curator.x.async.modeled.recipes; import org.apache.curator.framework.listen.Listenable; import org.apache.curator.framework.recipes.cache.PathChildrenCache; -import org.apache.curator.x.async.modeled.ModeledDetails; +import org.apache.curator.x.async.modeled.ModelSerializer; import org.apache.curator.x.async.modeled.ZPath; import org.apache.curator.x.async.modeled.details.recipes.ModeledPathChildrenCacheImpl; import java.io.Closeable; @@ -36,13 +36,13 @@ public interface ModeledPathChildrenCache<T> extends Closeable /** * Return a newly wrapped cache * - * @param modeled modeling options * @param cache the cache to wrap + * @param serializer model serializer * @return new wrapped cache */ - static <T> ModeledPathChildrenCache<T> wrap(ModeledDetails<T> modeled, PathChildrenCache cache) + static <T> ModeledPathChildrenCache<T> wrap(PathChildrenCache cache, ModelSerializer<T> serializer) { - return new ModeledPathChildrenCacheImpl<>(modeled, cache); + return new ModeledPathChildrenCacheImpl<>(cache, serializer); } /** @@ -118,7 +118,7 @@ public interface ModeledPathChildrenCache<T> extends Closeable void clear(); /** - * Forwards to {@link org.apache.curator.framework.recipes.cache.PathChildrenCache#close()} + * Forwards to {@link org.apache.curator.framework.recipes.cache.PathChildrenCache#rebuildNode(String)} */ void close(); } http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledTreeCache.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledTreeCache.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledTreeCache.java index 2b6c817..c7a32c2 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledTreeCache.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/recipes/ModeledTreeCache.java @@ -20,7 +20,7 @@ package org.apache.curator.x.async.modeled.recipes; import org.apache.curator.framework.listen.Listenable; import org.apache.curator.framework.recipes.cache.TreeCache; -import org.apache.curator.x.async.modeled.ModeledDetails; +import org.apache.curator.x.async.modeled.ModelSerializer; import org.apache.curator.x.async.modeled.ZPath; import org.apache.curator.x.async.modeled.details.recipes.ModeledTreeCacheImpl; import java.io.Closeable; @@ -36,13 +36,13 @@ public interface ModeledTreeCache<T> extends Closeable /** * Return a newly wrapped cache * - * @param modeled modeling options * @param cache the cache to wrap + * @param serializer model serializer * @return new wrapped cache */ - static <T> ModeledTreeCache<T> wrap(ModeledDetails<T> modeled, TreeCache cache) + static <T> ModeledTreeCache<T> wrap(TreeCache cache, ModelSerializer<T> serializer) { - return new ModeledTreeCacheImpl<>(modeled, cache); + return new ModeledTreeCacheImpl<>(cache, serializer); } /** http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/details/recipes/TestEventTypeMappings.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/details/recipes/TestEventTypeMappings.java b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/details/recipes/TestEventTypeMappings.java new file mode 100644 index 0000000..ea46ab1 --- /dev/null +++ b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/details/recipes/TestEventTypeMappings.java @@ -0,0 +1,26 @@ +package org.apache.curator.x.async.modeled.details.recipes; + +import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; +import org.apache.curator.framework.recipes.cache.TreeCacheEvent; +import org.testng.annotations.Test; + +public class TestEventTypeMappings +{ + @Test + public void testPathChildrenCacheTypes() + { + for ( PathChildrenCacheEvent.Type type : PathChildrenCacheEvent.Type.values() ) + { + ModeledPathChildrenCacheImpl.toType(type); // throws an exception on unknown types + } + } + + @Test + public void testTreeCacheTypes() + { + for ( TreeCacheEvent.Type type : TreeCacheEvent.Type.values() ) + { + ModeledTreeCacheImpl.toType(type); // throws an exception on unknown types + } + } +} http://git-wip-us.apache.org/repos/asf/curator/blob/45daa69b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/recipes/TestModeledNodeCache.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/recipes/TestModeledNodeCache.java b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/recipes/TestModeledNodeCache.java new file mode 100644 index 0000000..0f6cd97 --- /dev/null +++ b/curator-x-async/src/test/java/org/apache/curator/x/async/modeled/recipes/TestModeledNodeCache.java @@ -0,0 +1,43 @@ +package org.apache.curator.x.async.modeled.recipes; + +import org.apache.curator.framework.CuratorFramework; +import org.apache.curator.framework.CuratorFrameworkFactory; +import org.apache.curator.retry.RetryOneTime; +import org.apache.curator.test.BaseClassForTests; +import org.apache.curator.test.Timing; +import org.apache.curator.utils.CloseableUtils; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class TestModeledNodeCache extends BaseClassForTests +{ + private static final Timing timing = new Timing(); + private CuratorFramework client; + + @BeforeMethod + @Override + public void setup() throws Exception + { + super.setup(); + + client = CuratorFrameworkFactory.newClient(server.getConnectString(), timing.session(), timing.connection(), new RetryOneTime(1)); + client.start(); + } + + @AfterMethod + @Override + public void teardown() throws Exception + { + CloseableUtils.closeQuietly(client); + + super.teardown(); + } + + @Test + public void testBasic() + { + ModeledNodeCache nodeCache = null;//ModeledNodeCache.wrap(new NodeCache(client, modeledDetails.getPath().fullPath())); + nodeCache.start(); + } +}
