Repository: curator Updated Branches: refs/heads/CURATOR-397 1110ab3bb -> e95b885eb
Allow setting a version for orSetData() Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/e95b885e Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/e95b885e Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/e95b885e Branch: refs/heads/CURATOR-397 Commit: e95b885ebf0240e61d8de1c2644f8fb11cc2eca5 Parents: 1110ab3 Author: randgalt <[email protected]> Authored: Sun May 7 09:58:07 2017 +0200 Committer: randgalt <[email protected]> Committed: Sun May 7 09:58:07 2017 +0200 ---------------------------------------------------------------------- .../org/apache/curator/framework/api/CreateBuilder.java | 10 ++++++++++ .../apache/curator/framework/imps/CreateBuilderImpl.java | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/e95b885e/curator-framework/src/main/java/org/apache/curator/framework/api/CreateBuilder.java ---------------------------------------------------------------------- diff --git a/curator-framework/src/main/java/org/apache/curator/framework/api/CreateBuilder.java b/curator-framework/src/main/java/org/apache/curator/framework/api/CreateBuilder.java index 59b3510..b310f06 100644 --- a/curator-framework/src/main/java/org/apache/curator/framework/api/CreateBuilder.java +++ b/curator-framework/src/main/java/org/apache/curator/framework/api/CreateBuilder.java @@ -32,5 +32,15 @@ public interface CreateBuilder extends CreateBuilderMain */ CreateBuilderMain withTtl(long ttl); + /** + * If the ZNode already exists, Curator will instead call setData() + */ CreateBuilder2 orSetData(); + + /** + * If the ZNode already exists, Curator will instead call setData() + * + * @param version the version to use for {@link org.apache.curator.framework.CuratorFramework#setData()} + */ + CreateBuilder2 orSetData(int version); } http://git-wip-us.apache.org/repos/asf/curator/blob/e95b885e/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java ---------------------------------------------------------------------- diff --git a/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java b/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java index 60f49c5..cabcb99 100644 --- a/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java +++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java @@ -104,8 +104,15 @@ public class CreateBuilderImpl implements CreateBuilder, CreateBuilder2, Backgro @Override public CreateBuilder2 orSetData() { + return orSetData(-1); + } + + @Override + public CreateBuilder2 orSetData(int version) + { setDataIfExists = true; - return this; + setDataIfExistsVersion = version; + return null; } @Override
