Repository: ambari Updated Branches: refs/heads/branch-feature-AMBARI-14714 5301b3f5c -> b558eda2d
AMBARI-22380 : Add stack name and version to registry API (mradhakrishnan) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b558eda2 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b558eda2 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b558eda2 Branch: refs/heads/branch-feature-AMBARI-14714 Commit: b558eda2d45724c865914e3f49a2af16abe43f86 Parents: 5301b3f Author: Madhuvanthi Radhakrishnan <mradhakrish...@hortonworks.com> Authored: Wed Nov 8 09:52:54 2017 -0800 Committer: Madhuvanthi Radhakrishnan <mradhakrish...@hortonworks.com> Committed: Wed Nov 8 09:52:54 2017 -0800 ---------------------------------------------------------------------- .../controller/RegistryMpackVersionResponse.java | 14 +++++++++++++- .../RegistryMpackVersionResourceProvider.java | 17 ++++++++++++++--- .../server/registry/RegistryMpackVersion.java | 7 +++++++ .../registry/json/JsonRegistryMpackVersion.java | 8 ++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/b558eda2/ambari-server/src/main/java/org/apache/ambari/server/controller/RegistryMpackVersionResponse.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RegistryMpackVersionResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RegistryMpackVersionResponse.java index a0674ee..5929c4c 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/RegistryMpackVersionResponse.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RegistryMpackVersionResponse.java @@ -33,6 +33,7 @@ public class RegistryMpackVersionResponse { private String mpackName; private String mpackVersion; private String mpackBuildNumber; + private String stackId; private String mpackUrl; private String mpackDocUrl; private List<? extends RegistryMpackService> mpackServices; @@ -48,12 +49,13 @@ public class RegistryMpackVersionResponse { * @param mpackDocUrl mpack documentation url * @param mpackServices list of mpack services * @param compatibleMpacks list of compatible mpacks + * @param stackId stack id of the mpack version */ public RegistryMpackVersionResponse( Long registryId, String mpackName, String mpackVersion, String mpackBuildNumber, String mpackUrl, String mpackDocUrl, List<? extends RegistryMpackService> mpackServices, - List<? extends RegistryMpackCompatiblity> compatibleMpacks) { + List<? extends RegistryMpackCompatiblity> compatibleMpacks, String stackId) { this.registryId = registryId; this.mpackName = mpackName; this.mpackVersion = mpackVersion; @@ -62,6 +64,7 @@ public class RegistryMpackVersionResponse { this.mpackDocUrl = mpackDocUrl; this.mpackServices = mpackServices; this.compatibleMpacks = compatibleMpacks; + this.stackId = stackId; } public Long getRegistryId() { @@ -96,6 +99,15 @@ public class RegistryMpackVersionResponse { return compatibleMpacks; } + + public String getStackId() { + return stackId; + } + + public void setStackId(String stackId) { + this.stackId = stackId; + } + @Override public int hashCode() { int result = 1; http://git-wip-us.apache.org/repos/asf/ambari/blob/b558eda2/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java index 3b8a3f5..9020146 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RegistryMpackVersionResourceProvider.java @@ -65,6 +65,10 @@ public class RegistryMpackVersionResourceProvider extends AbstractControllerReso public static final String REGISTRY_MPACK_DOC_URL = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "mpack_doc_url"; public static final String REGISTRY_MPACK_SERVICES = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "services"; public static final String REGISTRY_MPACK_COMPATIBLE_MPACKS = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "compatible_mpacks"; + public static final String REGISTRY_MPACK_STACK_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "stack_name"; + public static final String REGISTRY_MPACK_STACK_VERSION_PROPERTY_ID = + RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "stack_version"; + private static Set<String> pkPropertyIds = new HashSet<>( Arrays.asList(REGISTRY_ID, REGISTRY_MPACK_NAME)); @@ -94,6 +98,9 @@ public class RegistryMpackVersionResourceProvider extends AbstractControllerReso PROPERTY_IDS.add(REGISTRY_MPACK_DOC_URL); PROPERTY_IDS.add(REGISTRY_MPACK_SERVICES); PROPERTY_IDS.add(REGISTRY_MPACK_COMPATIBLE_MPACKS); + PROPERTY_IDS.add(REGISTRY_MPACK_STACK_NAME_PROPERTY_ID); + PROPERTY_IDS.add(REGISTRY_MPACK_STACK_VERSION_PROPERTY_ID); + // keys KEY_PROPERTY_IDS.put(Resource.Type.Registry, REGISTRY_ID); @@ -156,7 +163,9 @@ public class RegistryMpackVersionResourceProvider extends AbstractControllerReso setResourceProperty(resource, REGISTRY_MPACK_URL, response.getMpackUrl(), requestedIds); setResourceProperty(resource, REGISTRY_MPACK_DOC_URL, response.getMpackDocUrl(), requestedIds); setResourceProperty(resource, REGISTRY_MPACK_SERVICES, response.getMpackServices(), requestedIds); - setResourceProperty(resource, REGISTRY_MPACK_COMPATIBLE_MPACKS, response.getCompatibleMpacks(), requestedIds); + String[] stackid = ((String) response.getStackId()).split("-"); + setResourceProperty(resource, REGISTRY_MPACK_STACK_NAME_PROPERTY_ID, stackid[0], requestedIds); + setResourceProperty(resource, REGISTRY_MPACK_STACK_VERSION_PROPERTY_ID, stackid[1], requestedIds); sortedResources.add(resource); } sortedResources.sort(new Comparator<Resource>() { @@ -241,7 +250,8 @@ public class RegistryMpackVersionResourceProvider extends AbstractControllerReso registryMpackVersion.getMpackUrl(), registryMpackVersion.getMpackDocUrl(), registryMpackVersion.getMpackServices(), - registryMpackVersion.getCompatibleMpacks()); + registryMpackVersion.getCompatibleMpacks(), + registryMpackVersion.getMpackStackId()); responses.add(response); } } else { @@ -255,7 +265,8 @@ public class RegistryMpackVersionResourceProvider extends AbstractControllerReso registryMpackVersion.getMpackUrl(), registryMpackVersion.getMpackDocUrl(), registryMpackVersion.getMpackServices(), - registryMpackVersion.getCompatibleMpacks()); + registryMpackVersion.getCompatibleMpacks(), + registryMpackVersion.getMpackStackId()); responses.add(response); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/b558eda2/ambari-server/src/main/java/org/apache/ambari/server/registry/RegistryMpackVersion.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/registry/RegistryMpackVersion.java b/ambari-server/src/main/java/org/apache/ambari/server/registry/RegistryMpackVersion.java index 4a4b780..ed7abc2 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/registry/RegistryMpackVersion.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/registry/RegistryMpackVersion.java @@ -47,6 +47,13 @@ public interface RegistryMpackVersion { */ public String getMpackDocUrl(); + + /** + * Get mpack stack id + * @return + */ + public String getMpackStackId(); + /** * Get list of services in the mpack version * @return http://git-wip-us.apache.org/repos/asf/ambari/blob/b558eda2/ambari-server/src/main/java/org/apache/ambari/server/registry/json/JsonRegistryMpackVersion.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/registry/json/JsonRegistryMpackVersion.java b/ambari-server/src/main/java/org/apache/ambari/server/registry/json/JsonRegistryMpackVersion.java index 39ebf17..51aa0ca 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/registry/json/JsonRegistryMpackVersion.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/registry/json/JsonRegistryMpackVersion.java @@ -42,6 +42,9 @@ public class JsonRegistryMpackVersion implements RegistryMpackVersion { @SerializedName("docUrl") private String docUrl; + @SerializedName("stack-id") + private String stackId; + @SerializedName("services") private ArrayList<JsonRegistryMpackService> services; @@ -77,4 +80,9 @@ public class JsonRegistryMpackVersion implements RegistryMpackVersion { public List<? extends RegistryMpackCompatiblity> getCompatibleMpacks() { return compatibleMpacks; } + + @Override + public String getMpackStackId() { + return stackId; + } }