You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by vi...@apache.org on 2013/07/23 00:41:29 UTC

git commit: Added NodeInstance API

Updated Branches:
  refs/heads/helix_api_refactoring b50ddcdca -> 8fc5650bd


Added NodeInstance API


Project: http://git-wip-us.apache.org/repos/asf/incubator-helix/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-helix/commit/8fc5650b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-helix/tree/8fc5650b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-helix/diff/8fc5650b

Branch: refs/heads/helix_api_refactoring
Commit: 8fc5650bd1878c7784400cbfb3fa2847e40da9eb
Parents: b50ddcd
Author: Vinayak Borkar <vi...@netbook.local>
Authored: Mon Jul 22 15:41:25 2013 -0700
Committer: Vinayak Borkar <vi...@netbook.local>
Committed: Mon Jul 22 15:41:25 2013 -0700

----------------------------------------------------------------------
 .../apache/helix/api/model/NodeInstance.java    | 37 ++++++++++++++++++++
 .../helix/api/model/NodeInstanceState.java      | 10 ++++++
 .../org/apache/helix/api/model/PartitionId.java | 20 +++++++++++
 .../helix/api/model/PropertyLifetime.java       |  6 ++++
 .../org/apache/helix/api/model/ResourceId.java  | 13 +++++++
 5 files changed, 86 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/8fc5650b/helix-api/src/main/java/org/apache/helix/api/model/NodeInstance.java
----------------------------------------------------------------------
diff --git a/helix-api/src/main/java/org/apache/helix/api/model/NodeInstance.java b/helix-api/src/main/java/org/apache/helix/api/model/NodeInstance.java
new file mode 100644
index 0000000..097bfb9
--- /dev/null
+++ b/helix-api/src/main/java/org/apache/helix/api/model/NodeInstance.java
@@ -0,0 +1,37 @@
+package org.apache.helix.api.model;
+
+import java.util.List;
+
+public interface NodeInstance {
+    public interface Builder {
+        public void setName(String name);
+
+        public void setEnabled(boolean enabled);
+
+        public <T> void setProperty(PropertyLifetime lifetime, String name, T value);
+
+        public void setHost(String host);
+
+        public void setPort(int port);
+
+        public void setTagList(List<String> tagList);
+
+        public void setBlacklistedPartitions(List<PartitionId> partitionIds);
+    }
+
+    public String getName();
+
+    public NodeInstanceState getNodeInstanceState();
+
+    public boolean isEnabled();
+
+    public <T> T getProperty(String name);
+
+    public String getHost();
+
+    public int getPort();
+
+    public List<String> getTagList();
+
+    public List<PartitionId> getBlacklistedPartitions();
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/8fc5650b/helix-api/src/main/java/org/apache/helix/api/model/NodeInstanceState.java
----------------------------------------------------------------------
diff --git a/helix-api/src/main/java/org/apache/helix/api/model/NodeInstanceState.java b/helix-api/src/main/java/org/apache/helix/api/model/NodeInstanceState.java
new file mode 100644
index 0000000..f0852d2
--- /dev/null
+++ b/helix-api/src/main/java/org/apache/helix/api/model/NodeInstanceState.java
@@ -0,0 +1,10 @@
+package org.apache.helix.api.model;
+
+public enum NodeInstanceState {
+    NEW,
+    STARTING,
+    RUNNING,
+    STOPPING,
+    TERMINATED,
+    FAILED
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/8fc5650b/helix-api/src/main/java/org/apache/helix/api/model/PartitionId.java
----------------------------------------------------------------------
diff --git a/helix-api/src/main/java/org/apache/helix/api/model/PartitionId.java b/helix-api/src/main/java/org/apache/helix/api/model/PartitionId.java
new file mode 100644
index 0000000..9fefe5d
--- /dev/null
+++ b/helix-api/src/main/java/org/apache/helix/api/model/PartitionId.java
@@ -0,0 +1,20 @@
+package org.apache.helix.api.model;
+
+public final class PartitionId {
+    private final ResourceId resourceId;
+
+    private final String partitionName;
+
+    public PartitionId(ResourceId resourceId, String partitionName) {
+        this.resourceId = resourceId;
+        this.partitionName = partitionName;
+    }
+
+    public ResourceId getResourceId() {
+        return resourceId;
+    }
+
+    public String getPartitionName() {
+        return partitionName;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/8fc5650b/helix-api/src/main/java/org/apache/helix/api/model/PropertyLifetime.java
----------------------------------------------------------------------
diff --git a/helix-api/src/main/java/org/apache/helix/api/model/PropertyLifetime.java b/helix-api/src/main/java/org/apache/helix/api/model/PropertyLifetime.java
new file mode 100644
index 0000000..008979e
--- /dev/null
+++ b/helix-api/src/main/java/org/apache/helix/api/model/PropertyLifetime.java
@@ -0,0 +1,6 @@
+package org.apache.helix.api.model;
+
+public enum PropertyLifetime {
+    SESSION,
+    PERSISTENT
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/8fc5650b/helix-api/src/main/java/org/apache/helix/api/model/ResourceId.java
----------------------------------------------------------------------
diff --git a/helix-api/src/main/java/org/apache/helix/api/model/ResourceId.java b/helix-api/src/main/java/org/apache/helix/api/model/ResourceId.java
new file mode 100644
index 0000000..ed35725
--- /dev/null
+++ b/helix-api/src/main/java/org/apache/helix/api/model/ResourceId.java
@@ -0,0 +1,13 @@
+package org.apache.helix.api.model;
+
+public final class ResourceId {
+    private final String resourceName;
+
+    public ResourceId(String resourceName) {
+        this.resourceName = resourceName;
+    }
+
+    public String getResourceName() {
+        return resourceName;
+    }
+}
\ No newline at end of file