You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jl...@apache.org on 2016/06/27 23:36:58 UTC
[32/34] ambari git commit: AMBARI-17355 & AMBARI-17354: POC: FE & BE
changes for first class support for Yarn hosted services
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/RemoteClustersService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RemoteClustersService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RemoteClustersService.java
index d7c7a20..ccfafd6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RemoteClustersService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RemoteClustersService.java
@@ -20,6 +20,7 @@ package org.apache.ambari.server.api.services;
import com.google.common.base.Optional;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -40,9 +41,12 @@ import java.util.Collections;
/**
* Service responsible for Remote Cluster resource requests.
*/
-@Path("/remoteclusters")
public class RemoteClustersService extends BaseService {
+ public RemoteClustersService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
/**
* Get the list of all Remote Clusters
* @param headers
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryService.java
index e366ad5..cdbb00e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryService.java
@@ -49,6 +49,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -66,7 +67,8 @@ public class RepositoryService extends BaseService {
*
* @param parentKeyProperties extra properties to be inserted into created resource
*/
- public RepositoryService(Map<Resource.Type, String> parentKeyProperties) {
+ public RepositoryService(ApiVersion apiVersion, Map<Resource.Type, String> parentKeyProperties) {
+ super(apiVersion);
this.parentKeyProperties = parentKeyProperties;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryVersionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryVersionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryVersionService.java
index 0a21762..c2ad906 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryVersionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RepositoryVersionService.java
@@ -33,6 +33,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -50,7 +51,8 @@ public class RepositoryVersionService extends BaseService {
*
* @param parentKeyProperties extra properties to be inserted into created resource
*/
- public RepositoryVersionService(Map<Resource.Type, String> parentKeyProperties) {
+ public RepositoryVersionService(ApiVersion apiVersion, Map<Resource.Type, String> parentKeyProperties) {
+ super(apiVersion);
this.parentKeyProperties = parentKeyProperties;
}
@@ -141,7 +143,7 @@ public class RepositoryVersionService extends BaseService {
final Map<Resource.Type, String> mapIds = new HashMap<Resource.Type, String>();
mapIds.putAll(parentKeyProperties);
mapIds.put(Resource.Type.RepositoryVersion, repositoryVersionId);
- return new OperatingSystemService(mapIds);
+ return new OperatingSystemService(m_apiVersion, mapIds);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java
index 3ad589c..a3fd472 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java
@@ -18,6 +18,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.DELETE;
@@ -48,7 +49,8 @@ public class RequestScheduleService extends BaseService {
* Constructor
* @param m_clusterName
*/
- public RequestScheduleService(String m_clusterName) {
+ public RequestScheduleService(ApiVersion apiVersion, String m_clusterName) {
+ super(apiVersion);
this.m_clusterName = m_clusterName;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestService.java
index e1bccec..4b2d0cc 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestService.java
@@ -20,6 +20,7 @@ package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.GET;
@@ -39,7 +40,6 @@ import java.util.Map;
/**
* Service responsible for request resource requests.
*/
-@Path("/requests/")
public class RequestService extends BaseService {
/**
* Parent cluster name.
@@ -47,7 +47,8 @@ public class RequestService extends BaseService {
private String m_clusterName;
- public RequestService() {
+ public RequestService(ApiVersion apiVersion) {
+ super(apiVersion);
}
/**
@@ -55,7 +56,8 @@ public class RequestService extends BaseService {
*
* @param clusterName cluster id
*/
- public RequestService(String clusterName) {
+ public RequestService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
m_clusterName = clusterName;
}
@@ -101,7 +103,7 @@ public class RequestService extends BaseService {
*/
@Path("{requestId}/stages")
public StageService getStageHandler(@PathParam("requestId") String requestId) {
- return new StageService(m_clusterName, requestId);
+ return new StageService(m_apiVersion, m_clusterName, requestId);
}
/**
@@ -109,7 +111,7 @@ public class RequestService extends BaseService {
*/
@Path("{requestId}/tasks")
public TaskService getTaskHandler(@PathParam("requestId") String requestId) {
- return new TaskService(m_clusterName, requestId, null);
+ return new TaskService(m_apiVersion, m_clusterName, requestId, null);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/RoleAuthorizationService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RoleAuthorizationService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RoleAuthorizationService.java
index 60f8a36..ad1c544 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RoleAuthorizationService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RoleAuthorizationService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.GET;
@@ -38,15 +39,14 @@ import java.util.Map;
* The result sets returned by this service are either the full set of available authorizations or
* those related to a particular permission.
*/
-@Path("/authorizations/")
public class RoleAuthorizationService extends BaseService {
private String permissionId;
/**
* Constructs a new RoleAuthorizationService that is not linked to any role (or permission)
*/
- public RoleAuthorizationService() {
- this(null);
+ public RoleAuthorizationService(ApiVersion apiVersion) {
+ this(apiVersion, null);
}
/**
@@ -54,7 +54,8 @@ public class RoleAuthorizationService extends BaseService {
*
* @param permissionId the permission id of a permission (or role)
*/
- public RoleAuthorizationService(String permissionId) {
+ public RoleAuthorizationService(ApiVersion apiVersion, String permissionId) {
+ super(apiVersion);
this.permissionId = permissionId;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/RootServiceService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RootServiceService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RootServiceService.java
index 79b266f..1f70cf8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RootServiceService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RootServiceService.java
@@ -32,11 +32,15 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
-@Path("/services/")
public class RootServiceService extends BaseService {
-
+
+ public RootServiceService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
@GET
@Produces("text/plain")
public Response getServices(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java
index 03a64e2..51f5b42 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceConfigVersionService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.GET;
@@ -36,7 +37,8 @@ public class ServiceConfigVersionService extends BaseService {
*/
private String m_clusterName;
- public ServiceConfigVersionService(String m_clusterName) {
+ public ServiceConfigVersionService(ApiVersion apiVersion, String m_clusterName) {
+ super(apiVersion);
this.m_clusterName = m_clusterName;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceGroupService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceGroupService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceGroupService.java
new file mode 100644
index 0000000..b85aa97
--- /dev/null
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceGroupService.java
@@ -0,0 +1,192 @@
+/**
+ * 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.ambari.server.api.services;
+
+import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
+import org.apache.ambari.server.controller.spi.Resource;
+
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Service responsible for service groups resource requests.
+ */
+public class ServiceGroupService extends BaseService {
+ /**
+ * Parent cluster name.
+ */
+ private String m_clusterName;
+
+ /**
+ * Constructor.
+ *
+ * @param clusterName cluster id
+ */
+ public ServiceGroupService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
+ m_clusterName = clusterName;
+ }
+
+ /**
+ * Handles URL: /clusters/{clusterID}/servicegroups/{serviceGroupId}
+ * Get a specific service group.
+ *
+ * @param headers http headers
+ * @param ui uri info
+ * @param serviceGroupName service group id
+ * @return service group resource representation
+ */
+ @GET
+ @Path("{serviceGroupName}")
+ @Produces("text/plain")
+ public Response getServiceGroup(String body, @Context HttpHeaders headers, @Context UriInfo ui,
+ @PathParam("serviceGroupName") String serviceGroupName) {
+
+ return handleRequest(headers, body, ui, Request.Type.GET,
+ createServiceGroupResource(m_clusterName, serviceGroupName));
+ }
+
+ /**
+ * Handles URL: /clusters/{clusterId}/servicegroups
+ * Get all service groups for a cluster.
+ *
+ * @param headers http headers
+ * @param ui uri info
+ * @return service collection resource representation
+ */
+ @GET
+ @Produces("text/plain")
+ public Response getServiceGroups(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
+ return handleRequest(headers, body, ui, Request.Type.GET,
+ createServiceGroupResource(m_clusterName, null));
+ }
+
+ /**
+ * Handles: POST /clusters/{clusterId}/servicegroups/{serviceGroupId}
+ * Create a specific service group.
+ *
+ * @param body http body
+ * @param headers http headers
+ * @param ui uri info
+ * @param serviceGroupName service group id
+ * @return information regarding the created service
+ */
+ @POST
+ @Path("{serviceGroupName}")
+ @Produces("text/plain")
+ public Response createService(String body, @Context HttpHeaders headers, @Context UriInfo ui,
+ @PathParam("serviceGroupName") String serviceGroupName) {
+
+ return handleRequest(headers, body, ui, Request.Type.POST,
+ createServiceGroupResource(m_clusterName, serviceGroupName));
+ }
+
+ /**
+ * Handles: POST /clusters/{clusterId}/servicegroups
+ * Create multiple service groups.
+ *
+ * @param body http body
+ * @param headers http headers
+ * @param ui uri info
+ * @return information regarding the created service groups
+ */
+ @POST
+ @Produces("text/plain")
+ public Response createServiceGroups(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
+
+ return handleRequest(headers, body, ui, Request.Type.POST,
+ createServiceGroupResource(m_clusterName, null));
+ }
+
+ /**
+ * Handles: PUT /clusters/{clusterId}/servicegroups/{serviceGroupId}
+ * Update a specific service group.
+ *
+ * @param body http body
+ * @param headers http headers
+ * @param ui uri info
+ * @param serviceGroupName service group id
+ * @return information regarding the updated service group
+ */
+ @PUT
+ @Path("{serviceGroupName}")
+ @Produces("text/plain")
+ public Response updateServiceGroup(String body, @Context HttpHeaders headers, @Context UriInfo ui,
+ @PathParam("serviceGroupName") String serviceGroupName) {
+
+ return handleRequest(headers, body, ui, Request.Type.PUT, createServiceGroupResource(m_clusterName, serviceGroupName));
+ }
+
+ /**
+ * Handles: PUT /clusters/{clusterId}/servicegroups
+ * Update multiple service groups.
+ *
+ * @param body http body
+ * @param headers http headers
+ * @param ui uri info
+ * @return information regarding the updated service groups
+ */
+ @PUT
+ @Produces("text/plain")
+ public Response updateServiceGroups(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
+
+ return handleRequest(headers, body, ui, Request.Type.PUT, createServiceGroupResource(m_clusterName, null));
+ }
+
+ /**
+ * Handles: DELETE /clusters/{clusterId}/servicegroups/{serviceGroupId}
+ * Delete a specific service group.
+ *
+ * @param headers http headers
+ * @param ui uri info
+ * @param serviceGroupName service group id
+ * @return information regarding the deleted service group
+ */
+ @DELETE
+ @Path("{serviceGroupName}")
+ @Produces("text/plain")
+ public Response deleteService(@Context HttpHeaders headers, @Context UriInfo ui,
+ @PathParam("serviceGroupName") String serviceGroupName) {
+
+ return handleRequest(headers, null, ui, Request.Type.DELETE, createServiceGroupResource(m_clusterName, serviceGroupName));
+ }
+
+
+ /**
+ * Create a service resource instance.
+ *
+ * @param clusterName cluster name
+ * @param serviceGroupName service group name
+ *
+ * @return a service resource instance
+ */
+ ResourceInstance createServiceGroupResource(String clusterName, String serviceGroupName) {
+ Map<Resource.Type,String> mapIds = new HashMap<>();
+ mapIds.put(Resource.Type.Cluster, clusterName);
+ mapIds.put(Resource.Type.ServiceGroup, serviceGroupName);
+
+ return createResource(Resource.Type.ServiceGroup, mapIds);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceService.java
index ad6d68c..adbd31d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ServiceService.java
@@ -34,6 +34,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -50,7 +51,8 @@ public class ServiceService extends BaseService {
*
* @param clusterName cluster id
*/
- public ServiceService(String clusterName) {
+ public ServiceService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
m_clusterName = clusterName;
}
@@ -187,7 +189,7 @@ public class ServiceService extends BaseService {
@Path("{serviceName}/components")
public ComponentService getComponentHandler(@PathParam("serviceName") String serviceName) {
- return new ComponentService(m_clusterName, serviceName);
+ return new ComponentService(m_apiVersion, m_clusterName, serviceName);
}
/**
@@ -196,7 +198,7 @@ public class ServiceService extends BaseService {
@Path("{serviceName}/alerts")
public AlertService getAlertHandler(
@PathParam("serviceName") String serviceName) {
- return new AlertService(m_clusterName, serviceName, null);
+ return new AlertService(m_apiVersion, m_clusterName, serviceName, null);
}
/**
@@ -379,7 +381,7 @@ public class ServiceService extends BaseService {
@Context javax.ws.rs.core.Request request,
@PathParam("serviceName") String serviceName) {
- return new AlertHistoryService(m_clusterName, serviceName, null);
+ return new AlertHistoryService(m_apiVersion, m_clusterName, serviceName, null);
}
/**
@@ -391,7 +393,7 @@ public class ServiceService extends BaseService {
* @return a service resource instance
*/
ResourceInstance createServiceResource(String clusterName, String serviceName) {
- Map<Resource.Type,String> mapIds = new HashMap<Resource.Type, String>();
+ Map<Resource.Type,String> mapIds = new HashMap<>();
mapIds.put(Resource.Type.Cluster, clusterName);
mapIds.put(Resource.Type.Service, serviceName);
@@ -408,7 +410,7 @@ public class ServiceService extends BaseService {
* @return an artifact resource instance
*/
ResourceInstance createArtifactResource(String clusterName, String serviceName, String artifactName) {
- Map<Resource.Type,String> mapIds = new HashMap<Resource.Type, String>();
+ Map<Resource.Type,String> mapIds = new HashMap<>();
mapIds.put(Resource.Type.Cluster, clusterName);
mapIds.put(Resource.Type.Service, serviceName);
mapIds.put(Resource.Type.Artifact, artifactName);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/SettingService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/SettingService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/SettingService.java
index db6f002..c8ac1a6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/SettingService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/SettingService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
@@ -38,14 +39,13 @@ import java.util.Collections;
/**
* Service responsible for setting resource requests.
*/
-@Path("/settings/")
public class SettingService extends BaseService {
/**
* Construct a SettingService.
*/
- public SettingService() {
-
+ public SettingService(ApiVersion apiVersion) {
+ super(apiVersion);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/StacksService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/StacksService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/StacksService.java
index 557ce98..1187167 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/StacksService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/StacksService.java
@@ -22,24 +22,22 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import javax.ws.rs.*;
+import javax.ws.rs.core.*;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
* Service for stacks management.
*/
-@Path("/stacks/")
public class StacksService extends BaseService {
+ public StacksService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
@GET
@Produces("text/plain")
public Response getStacks(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
@@ -333,7 +331,48 @@ public class StacksService extends BaseService {
final Map<Resource.Type, String> stackProperties = new HashMap<Resource.Type, String>();
stackProperties.put(Resource.Type.Stack, stackName);
stackProperties.put(Resource.Type.StackVersion, stackVersion);
- return new OperatingSystemService(stackProperties);
+ return new OperatingSystemService(m_apiVersion, stackProperties);
+ }
+
+ /**
+ * Returns host-layout recommendations for list of hosts and services.
+ *
+ * @param body http body
+ * @param headers http headers
+ * @param ui uri info
+ * @param stackName stack name
+ * @param stackVersion stack version
+ * @return recommendations for host-layout
+ */
+ @POST
+ @Path("{stackName}/versions/{stackVersion}/recommendations")
+ @Produces(MediaType.TEXT_PLAIN)
+ public Response getRecommendation(String body, @Context HttpHeaders headers, @Context UriInfo ui,
+ @PathParam("stackName") String stackName,
+ @PathParam("stackVersion") String stackVersion) {
+
+ return handleRequest(headers, body, ui, Request.Type.POST,
+ createRecommendationResource(stackName, stackVersion));
+ }
+
+ /**
+ * Returns validation of host-layout.
+ *
+ * @param body http body
+ * @param headers http headers
+ * @param ui uri info
+ * @param stackName stack name
+ * @param stackVersion stack version
+ * @return validation items if any
+ */
+ @POST
+ @Path("{stackName}/versions/{stackVersion}/validations")
+ @Produces(MediaType.TEXT_PLAIN)
+ public Response getValidation(String body, @Context HttpHeaders headers, @Context UriInfo ui,
+ @PathParam("stackName") String stackName, @PathParam("stackVersion") String stackVersion) {
+
+ return handleRequest(headers, body, ui, Request.Type.POST,
+ createValidationResource(stackName, stackVersion));
}
/**
@@ -348,7 +387,7 @@ public class StacksService extends BaseService {
final Map<Resource.Type, String> stackProperties = new HashMap<Resource.Type, String>();
stackProperties.put(Resource.Type.Stack, stackName);
stackProperties.put(Resource.Type.StackVersion, stackVersion);
- return new RepositoryVersionService(stackProperties);
+ return new RepositoryVersionService(m_apiVersion, stackProperties);
}
/**
@@ -365,7 +404,7 @@ public class StacksService extends BaseService {
final Map<Resource.Type, String> stackProperties = new HashMap<Resource.Type, String>();
stackProperties.put(Resource.Type.Stack, stackName);
stackProperties.put(Resource.Type.StackVersion, stackVersion);
- return new CompatibleRepositoryVersionService(stackProperties);
+ return new CompatibleRepositoryVersionService(m_apiVersion, stackProperties);
}
ResourceInstance createStackServiceComponentResource(
@@ -497,5 +536,21 @@ public class StacksService extends BaseService {
Collections.singletonMap(Resource.Type.Stack, stackName));
}
+
+ ResourceInstance createRecommendationResource(String stackName, String stackVersion) {
+ Map<Resource.Type, String> mapIds = new HashMap<Resource.Type, String>();
+ mapIds.put(Resource.Type.Stack, stackName);
+ mapIds.put(Resource.Type.StackVersion, stackVersion);
+
+ return createResource(Resource.Type.Recommendation, mapIds);
+ }
+
+ ResourceInstance createValidationResource(String stackName, String stackVersion) {
+ Map<Resource.Type, String> mapIds = new HashMap<Resource.Type, String>();
+ mapIds.put(Resource.Type.Stack, stackName);
+ mapIds.put(Resource.Type.StackVersion, stackVersion);
+
+ return createResource(Resource.Type.Validation, mapIds);
+ }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/StageService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/StageService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/StageService.java
index 6c24d4d..e82223e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/StageService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/StageService.java
@@ -20,6 +20,7 @@ package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.GET;
@@ -59,7 +60,8 @@ public class StageService extends BaseService {
* @param clusterName cluster id
* @param requestId request id
*/
- public StageService(String clusterName, String requestId) {
+ public StageService(ApiVersion apiVersion, String clusterName, String requestId) {
+ super(apiVersion);
m_clusterName = clusterName;
m_requestId = requestId;
}
@@ -109,7 +111,7 @@ public class StageService extends BaseService {
*/
@Path("{stageId}/tasks")
public TaskService getTaskHandler(@PathParam("stageId") String stageId) {
- return new TaskService(m_clusterName, m_requestId, stageId);
+ return new TaskService(m_apiVersion, m_clusterName, m_requestId, stageId);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/TargetClusterService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/TargetClusterService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/TargetClusterService.java
index 34c8c26..dbb8bbc 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/TargetClusterService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/TargetClusterService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.DELETE;
@@ -37,9 +38,12 @@ import java.util.Collections;
/**
* DR target cluster service.
*/
-@Path("/targets/")
public class TargetClusterService extends BaseService {
+ public TargetClusterService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
/**
* Handles: GET /targets/{targetName}
* Get a specific target.
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskAttemptService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskAttemptService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskAttemptService.java
index 532a5a4..d501b14 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskAttemptService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskAttemptService.java
@@ -31,6 +31,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -51,7 +52,8 @@ public class TaskAttemptService extends BaseService {
* @param jobId
* job id
*/
- public TaskAttemptService(String clusterName, String workflowId, String jobId) {
+ public TaskAttemptService(ApiVersion apiVersion, String clusterName, String workflowId, String jobId) {
+ super(apiVersion);
this.clusterName = clusterName;
this.workflowId = workflowId;
this.jobId = jobId;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskService.java
index 9151415..e67cab7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/TaskService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.GET;
@@ -57,7 +58,8 @@ public class TaskService extends BaseService {
* @param requestId request id
* @param stageId stage id
*/
- public TaskService(String clusterName, String requestId, String stageId) {
+ public TaskService(ApiVersion apiVersion, String clusterName, String requestId, String stageId) {
+ super(apiVersion);
m_clusterName = clusterName;
m_requestId = requestId;
m_stageId = stageId;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeGroupService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeGroupService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeGroupService.java
index a9aa500..6e16ab3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeGroupService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeGroupService.java
@@ -30,6 +30,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -40,7 +41,8 @@ public class UpgradeGroupService extends BaseService {
private String m_clusterName = null;
private String m_upgradeId = null;
- UpgradeGroupService(String clusterName, String upgradeId) {
+ UpgradeGroupService(ApiVersion apiVersion, String clusterName, String upgradeId) {
+ super(apiVersion);
m_clusterName = clusterName;
m_upgradeId = upgradeId;
}
@@ -68,7 +70,7 @@ public class UpgradeGroupService extends BaseService {
public UpgradeItemService getUpgradeItemService(
@Context HttpHeaders headers,
@PathParam("upgradeGroupId") Long groupId) {
- return new UpgradeItemService(m_clusterName, m_upgradeId, groupId.toString());
+ return new UpgradeItemService(m_apiVersion, m_clusterName, m_upgradeId, groupId.toString());
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeItemService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeItemService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeItemService.java
index ab7e125..8e74336 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeItemService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeItemService.java
@@ -31,6 +31,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -42,7 +43,8 @@ public class UpgradeItemService extends BaseService {
private String m_upgradeId = null;
private String m_upgradeGroupId = null;
- UpgradeItemService(String clusterName, String upgradeId, String upgradeGroupId) {
+ UpgradeItemService(ApiVersion apiVersion, String clusterName, String upgradeId, String upgradeGroupId) {
+ super(apiVersion);
m_clusterName = clusterName;
m_upgradeId = upgradeId;
m_upgradeGroupId = upgradeGroupId;
@@ -94,7 +96,7 @@ public class UpgradeItemService extends BaseService {
@Context HttpHeaders headers,
@Context UriInfo ui,
@PathParam("upgradeItemId") Long id) {
- return new TaskService(m_clusterName, m_upgradeId, id.toString());
+ return new TaskService(m_apiVersion, m_clusterName, m_upgradeId, id.toString());
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeService.java
index 8b66491..31f1c79 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeService.java
@@ -32,6 +32,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -46,7 +47,8 @@ public class UpgradeService extends BaseService {
*
* @param clusterName the cluster name (not {@code null}).
*/
- UpgradeService(String clusterName) {
+ UpgradeService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
m_clusterName = clusterName;
}
@@ -93,7 +95,7 @@ public class UpgradeService extends BaseService {
*/
@Path("{upgradeId}/upgrade_groups")
public UpgradeGroupService getUpgradeGroupHandler(@PathParam("upgradeId") String upgradeId) {
- return new UpgradeGroupService(m_clusterName, upgradeId);
+ return new UpgradeGroupService(m_apiVersion, m_clusterName, upgradeId);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeSummaryService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeSummaryService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeSummaryService.java
index b8b3e86..dda4e86 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeSummaryService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UpgradeSummaryService.java
@@ -18,6 +18,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.GET;
@@ -44,7 +45,8 @@ public class UpgradeSummaryService extends BaseService {
*
* @param clusterName the cluster name (not {@code null}).
*/
- UpgradeSummaryService(String clusterName) {
+ UpgradeSummaryService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
m_clusterName = clusterName;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserAuthorizationService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserAuthorizationService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserAuthorizationService.java
index c288fdb..71125ad 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserAuthorizationService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserAuthorizationService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.GET;
@@ -53,7 +54,8 @@ public class UserAuthorizationService extends BaseService {
*
* @param username the username of the user to link thi UserAuthorizationService to
*/
- public UserAuthorizationService(String username) {
+ public UserAuthorizationService(ApiVersion apiVersion, String username) {
+ super(apiVersion);
this.username = username;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserPrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserPrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserPrivilegeService.java
index 86c4995..2cf5941 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserPrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserPrivilegeService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import java.util.HashMap;
@@ -37,7 +38,8 @@ public class UserPrivilegeService extends PrivilegeService {
private final String userName;
- public UserPrivilegeService(String userName) {
+ public UserPrivilegeService(ApiVersion apiVersion, String userName) {
+ super(apiVersion);
this.userName = userName;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
index c46c373..ec58f93 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
@@ -30,6 +30,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.commons.lang.StringUtils;
@@ -39,9 +40,12 @@ import java.util.Collections;
/**
* Service responsible for user requests.
*/
-@Path("/users/")
public class UserService extends BaseService {
+ public UserService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
/**
* Gets all users.
* Handles: GET /users requests.
@@ -137,7 +141,7 @@ public class UserService extends BaseService {
public PrivilegeService getPrivilegeService(@Context javax.ws.rs.core.Request request,
@PathParam ("userName") String userName) {
- return new UserPrivilegeService(userName);
+ return new UserPrivilegeService(m_apiVersion, userName);
}
/**
@@ -147,7 +151,7 @@ public class UserService extends BaseService {
public ActiveWidgetLayoutService getWidgetLayoutService(@Context javax.ws.rs.core.Request request,
@PathParam ("userName") String userName) {
- return new ActiveWidgetLayoutService(userName);
+ return new ActiveWidgetLayoutService(m_apiVersion, userName);
}
/**
@@ -160,7 +164,7 @@ public class UserService extends BaseService {
@Path("{userName}/authorizations")
public UserAuthorizationService getUserAuthorizations(
@Context javax.ws.rs.core.Request request, @PathParam("userName") String username) {
- return new UserAuthorizationService(username);
+ return new UserAuthorizationService(m_apiVersion, username);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/V1Service.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/V1Service.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/V1Service.java
new file mode 100644
index 0000000..dd2f088
--- /dev/null
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/V1Service.java
@@ -0,0 +1,44 @@
+/**
+ * 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.ambari.server.api.services;
+
+import org.apache.ambari.eventdb.webservice.WorkflowJsonService;
+import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
+import org.apache.ambari.server.controller.spi.Resource;
+
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@Path("/{apiVersion : v1}")
+public class V1Service extends AbstractVersionService {
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/V2Service.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/V2Service.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/V2Service.java
new file mode 100644
index 0000000..6260a88
--- /dev/null
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/V2Service.java
@@ -0,0 +1,44 @@
+/**
+ * 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.ambari.server.api.services;
+
+import org.apache.ambari.eventdb.webservice.WorkflowJsonService;
+import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
+import org.apache.ambari.server.controller.spi.Resource;
+
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@Path("/{apiVersion : v2}")
+public class V2Service extends AbstractVersionService {
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ValidationService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ValidationService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ValidationService.java
deleted file mode 100644
index 87cb6ac..0000000
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ValidationService.java
+++ /dev/null
@@ -1,70 +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.ambari.server.api.services;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
-import org.apache.ambari.server.api.resources.ResourceInstance;
-import org.apache.ambari.server.controller.spi.Resource;
-
-/**
- * Service responsible for validation of host-layout and configurations.
- */
-@Path("/stacks/{stackName}/versions/{stackVersion}/validations")
-public class ValidationService extends BaseService {
-
- /**
- * Returns validation of host-layout.
- *
- * @param body http body
- * @param headers http headers
- * @param ui uri info
- * @param stackName stack name
- * @param stackVersion stack version
- * @return validation items if any
- */
- @POST
- @Produces(MediaType.TEXT_PLAIN)
- public Response getValidation(String body, @Context HttpHeaders headers, @Context UriInfo ui,
- @PathParam("stackName") String stackName, @PathParam("stackVersion") String stackVersion) {
-
- return handleRequest(headers, body, ui, Request.Type.POST,
- createValidationResource(stackName, stackVersion));
- }
-
- ResourceInstance createValidationResource(String stackName, String stackVersion) {
- Map<Resource.Type, String> mapIds = new HashMap<Resource.Type, String>();
- mapIds.put(Resource.Type.Stack, stackName);
- mapIds.put(Resource.Type.StackVersion, stackVersion);
-
- return createResource(Resource.Type.Validation, mapIds);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/VersionDefinitionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/VersionDefinitionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/VersionDefinitionService.java
index 6410bd8..215e2e1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/VersionDefinitionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/VersionDefinitionService.java
@@ -35,15 +35,19 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.internal.VersionDefinitionResourceProvider;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.commons.codec.binary.Base64;
import com.google.gson.JsonObject;
-@Path("/version_definitions/")
public class VersionDefinitionService extends BaseService {
+ public VersionDefinitionService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
@GET
@Produces(MediaType.TEXT_PLAIN)
public Response getServices(@Context HttpHeaders headers, @Context UriInfo ui) {
@@ -72,7 +76,7 @@ public class VersionDefinitionService extends BaseService {
public OperatingSystemService getOperatingSystemsHandler(@PathParam("versionNumber") String versionNumber) {
final Map<Resource.Type, String> mapIds = new HashMap<Resource.Type, String>();
mapIds.put(Resource.Type.VersionDefinition, versionNumber);
- return new OperatingSystemService(mapIds);
+ return new OperatingSystemService(m_apiVersion, mapIds);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewDataMigrationService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewDataMigrationService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewDataMigrationService.java
index c6846ce..3ce4310 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewDataMigrationService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewDataMigrationService.java
@@ -17,6 +17,7 @@
*/
package org.apache.ambari.server.api.services;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.orm.entities.ViewInstanceEntity;
import org.apache.ambari.server.view.ViewDataMigrationContextImpl;
import org.apache.ambari.server.view.ViewRegistry;
@@ -66,7 +67,8 @@ public class ViewDataMigrationService extends BaseService {
* @param viewVersion the current view version
* @param instanceName the current view instance name
*/
- public ViewDataMigrationService(String viewName, String viewVersion, String instanceName) {
+ public ViewDataMigrationService(ApiVersion apiVersion, String viewName, String viewVersion, String instanceName) {
+ super(apiVersion);
this.viewName = viewName;
this.viewVersion = viewVersion;
this.instanceName = instanceName;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewExternalSubResourceService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewExternalSubResourceService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewExternalSubResourceService.java
index 47ac0df..db136b3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewExternalSubResourceService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewExternalSubResourceService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.orm.entities.ViewEntity;
import org.apache.ambari.server.orm.entities.ViewInstanceEntity;
@@ -68,7 +69,8 @@ public class ViewExternalSubResourceService extends BaseService {
// ----- Constructors ------------------------------------------------------
- public ViewExternalSubResourceService(Resource.Type type, ViewInstanceEntity viewInstanceDefinition) {
+ public ViewExternalSubResourceService(ApiVersion apiVersion, Resource.Type type, ViewInstanceEntity viewInstanceDefinition) {
+ super(apiVersion);
ViewEntity viewEntity = viewInstanceDefinition.getViewEntity();
this.type = type;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewInstanceService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewInstanceService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewInstanceService.java
index fa0850e..00de534 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewInstanceService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewInstanceService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.orm.entities.ViewInstanceEntity;
import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -66,7 +67,8 @@ public class ViewInstanceService extends BaseService {
* @param viewName the view id
* @param version the version
*/
- public ViewInstanceService(String viewName, String version) {
+ public ViewInstanceService(ApiVersion apiVersion, String viewName, String version) {
+ super(apiVersion);
this.viewName = viewName;
this.version = version;
@@ -237,13 +239,13 @@ public class ViewInstanceService extends BaseService {
hasPermission(Request.Type.valueOf(request.getMethod()), instanceName);
- return new ViewPrivilegeService(viewName, version, instanceName);
+ return new ViewPrivilegeService(m_apiVersion, viewName, version, instanceName);
}
@Path("{instanceName}/migrate")
public ViewDataMigrationService migrateData(@Context javax.ws.rs.core.Request request,
@PathParam ("instanceName") String instanceName) {
- return new ViewDataMigrationService(viewName, version, instanceName);
+ return new ViewDataMigrationService(m_apiVersion, viewName, version, instanceName);
}
// ----- helper methods ----------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPermissionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPermissionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPermissionService.java
index 711e85b..7ae7ca1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPermissionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPermissionService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.DELETE;
@@ -60,7 +61,8 @@ public class ViewPermissionService extends BaseService {
* @param viewName the view id
* @param version the version
*/
- public ViewPermissionService(String viewName, String version) {
+ public ViewPermissionService(ApiVersion apiVersion, String viewName, String version) {
+ super(apiVersion);
this.viewName = viewName;
this.version = version;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPrivilegeService.java
index 9181467..5f3ae1c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPrivilegeService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import java.util.HashMap;
@@ -33,7 +34,8 @@ public class ViewPrivilegeService extends PrivilegeService {
private final String viewVersion;
private final String instanceName;
- public ViewPrivilegeService(String viewName, String viewVersion, String instanceName) {
+ public ViewPrivilegeService(ApiVersion apiVersion, String viewName, String viewVersion, String instanceName) {
+ super(apiVersion);
this.viewName = viewName;
this.viewVersion = viewVersion;
this.instanceName = instanceName;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewService.java
index b7edbe3..f0b9c16 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.DELETE;
@@ -38,9 +39,12 @@ import java.util.Collections;
/**
* Service responsible for view resource requests.
*/
-@Path("/views/")
public class ViewService extends BaseService {
+ public ViewService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
/**
* Handles: GET /views/{viewID}
* Get a specific view.
@@ -141,7 +145,7 @@ public class ViewService extends BaseService {
*/
@Path("{viewName}/versions")
public ViewVersionService getInstanceHandler(@PathParam("viewName") String viewName) {
- return new ViewVersionService(viewName);
+ return new ViewVersionService(m_apiVersion, viewName);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewSubResourceService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewSubResourceService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewSubResourceService.java
index dae586b..f5fec97 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewSubResourceService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewSubResourceService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.orm.entities.ViewEntity;
import org.apache.ambari.server.orm.entities.ViewInstanceEntity;
@@ -60,7 +61,8 @@ public class ViewSubResourceService extends BaseService implements ViewResourceH
/**
* Construct a view sub-resource service.
*/
- public ViewSubResourceService(Resource.Type type, ViewInstanceEntity viewInstanceDefinition) {
+ public ViewSubResourceService(ApiVersion apiVersion, Resource.Type type, ViewInstanceEntity viewInstanceDefinition) {
+ super(apiVersion);
ViewEntity viewEntity = viewInstanceDefinition.getViewEntity();
this.type = type;
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewUrlsService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewUrlsService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewUrlsService.java
index 3827c18..34400a9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewUrlsService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewUrlsService.java
@@ -20,6 +20,7 @@ package org.apache.ambari.server.api.services;
import com.google.common.base.Optional;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -40,9 +41,12 @@ import java.util.Collections;
/**
* Service responsible for view resource requests.
*/
-@Path("/view/urls")
public class ViewUrlsService extends BaseService {
+ public ViewUrlsService(ApiVersion apiVersion) {
+ super(apiVersion);
+ }
+
/**
* Get the list of all registered view URLs
* @param headers
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewVersionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewVersionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewVersionService.java
index 8152ae6..73d8b57 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewVersionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewVersionService.java
@@ -19,6 +19,7 @@
package org.apache.ambari.server.api.services;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.DELETE;
@@ -54,7 +55,8 @@ public class ViewVersionService extends BaseService {
*
* @param viewName the view name
*/
- public ViewVersionService(String viewName) {
+ public ViewVersionService(ApiVersion apiVersion, String viewName) {
+ super(apiVersion);
this.viewName = viewName;
}
@@ -163,7 +165,7 @@ public class ViewVersionService extends BaseService {
@Path("{version}/instances")
public ViewInstanceService getInstanceHandler(@PathParam("version") String version) {
- return new ViewInstanceService(viewName, version);
+ return new ViewInstanceService(m_apiVersion, viewName, version);
}
/**
@@ -176,7 +178,7 @@ public class ViewVersionService extends BaseService {
@Path("{version}/permissions")
public ViewPermissionService getPermissionHandler(@PathParam("version") String version) {
- return new ViewPermissionService(viewName, version);
+ return new ViewPermissionService(m_apiVersion, viewName, version);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetLayoutService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetLayoutService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetLayoutService.java
index 3902236..f356896 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetLayoutService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetLayoutService.java
@@ -19,6 +19,7 @@ package org.apache.ambari.server.api.services;
import com.sun.jersey.core.util.Base64;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import javax.ws.rs.*;
@@ -38,7 +39,8 @@ public class WidgetLayoutService extends BaseService {
private final String clusterName;
- public WidgetLayoutService(String clusterName) {
+ public WidgetLayoutService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
this.clusterName = clusterName;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetService.java
index e6907db..29af366 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/WidgetService.java
@@ -19,6 +19,7 @@ package org.apache.ambari.server.api.services;
import com.sun.jersey.core.util.Base64;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.security.authorization.AuthorizationHelper;
@@ -39,7 +40,8 @@ public class WidgetService extends BaseService {
private final String clusterName;
- public WidgetService(String clusterName) {
+ public WidgetService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
this.clusterName = clusterName;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/WorkflowService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/WorkflowService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/WorkflowService.java
index 53ad919..5bdb977 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/WorkflowService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/WorkflowService.java
@@ -31,6 +31,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.ambari.server.api.resources.ResourceInstance;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
/**
@@ -45,7 +46,8 @@ public class WorkflowService extends BaseService {
* @param clusterName
* cluster id
*/
- public WorkflowService(String clusterName) {
+ public WorkflowService(ApiVersion apiVersion, String clusterName) {
+ super(apiVersion);
this.clusterName = clusterName;
}
@@ -90,7 +92,7 @@ public class WorkflowService extends BaseService {
*/
@Path("{workflowId}/jobs")
public JobService getJobHandler(@PathParam("workflowId") String workflowId) {
- return new JobService(clusterName, workflowId);
+ return new JobService(m_apiVersion, clusterName, workflowId);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java
index a925d7d..8510d0c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java
@@ -31,6 +31,7 @@ import org.apache.ambari.server.api.services.stackadvisor.commands.Configuration
import org.apache.ambari.server.api.services.stackadvisor.commands.StackAdvisorCommand;
import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse;
import org.apache.ambari.server.api.services.stackadvisor.validations.ValidationResponse;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.configuration.Configuration;
import com.google.inject.Inject;
@@ -78,10 +79,10 @@ public class StackAdvisorHelper {
StackAdvisorRequestType requestType) throws StackAdvisorException {
StackAdvisorCommand<ValidationResponse> command;
if (requestType == StackAdvisorRequestType.HOST_GROUPS) {
- command = new ComponentLayoutValidationCommand(recommendationsDir, stackAdvisorScript,
+ command = new ComponentLayoutValidationCommand(ApiVersion.v1, recommendationsDir, stackAdvisorScript,
requestId, saRunner, metaInfo);
} else if (requestType == StackAdvisorRequestType.CONFIGURATIONS) {
- command = new ConfigurationValidationCommand(recommendationsDir, stackAdvisorScript,
+ command = new ConfigurationValidationCommand(ApiVersion.v1, recommendationsDir, stackAdvisorScript,
requestId, saRunner, metaInfo);
} else {
throw new StackAdvisorRequestException(String.format("Unsupported request type, type=%s",
@@ -113,13 +114,13 @@ public class StackAdvisorHelper {
StackAdvisorRequestType requestType) throws StackAdvisorException {
StackAdvisorCommand<RecommendationResponse> command;
if (requestType == StackAdvisorRequestType.HOST_GROUPS) {
- command = new ComponentLayoutRecommendationCommand(recommendationsDir, stackAdvisorScript,
+ command = new ComponentLayoutRecommendationCommand(ApiVersion.v1, recommendationsDir, stackAdvisorScript,
requestId, saRunner, metaInfo);
} else if (requestType == StackAdvisorRequestType.CONFIGURATIONS) {
- command = new ConfigurationRecommendationCommand(recommendationsDir, stackAdvisorScript,
+ command = new ConfigurationRecommendationCommand(ApiVersion.v1, recommendationsDir, stackAdvisorScript,
requestId, saRunner, metaInfo);
} else if (requestType == StackAdvisorRequestType.CONFIGURATION_DEPENDENCIES) {
- command = new ConfigurationDependenciesRecommendationCommand(recommendationsDir, stackAdvisorScript,
+ command = new ConfigurationDependenciesRecommendationCommand(ApiVersion.v1, recommendationsDir, stackAdvisorScript,
requestId, saRunner, metaInfo);
} else {
throw new StackAdvisorRequestException(String.format("Unsupported request type, type=%s",
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutRecommendationCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutRecommendationCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutRecommendationCommand.java
index 0dff92b..3284c5b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutRecommendationCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutRecommendationCommand.java
@@ -25,6 +25,7 @@ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRunner;
import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse;
+import org.apache.ambari.server.api.util.ApiVersion;
/**
* {@link StackAdvisorCommand} implementation for component-layout
@@ -33,12 +34,12 @@ import org.apache.ambari.server.api.services.stackadvisor.recommendations.Recomm
public class ComponentLayoutRecommendationCommand extends
StackAdvisorCommand<RecommendationResponse> {
- public ComponentLayoutRecommendationCommand(File recommendationsDir,
+ public ComponentLayoutRecommendationCommand(ApiVersion apiVersion, File recommendationsDir,
String stackAdvisorScript,
int requestId,
StackAdvisorRunner saRunner,
AmbariMetaInfo metaInfo) {
- super(recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
+ super(apiVersion,recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutValidationCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutValidationCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutValidationCommand.java
index 757ebee..e836f70 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutValidationCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ComponentLayoutValidationCommand.java
@@ -25,15 +25,16 @@ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRunner;
import org.apache.ambari.server.api.services.stackadvisor.validations.ValidationResponse;
+import org.apache.ambari.server.api.util.ApiVersion;
/**
* {@link StackAdvisorCommand} implementation for component-layout validation.
*/
public class ComponentLayoutValidationCommand extends StackAdvisorCommand<ValidationResponse> {
- public ComponentLayoutValidationCommand(File recommendationsDir, String stackAdvisorScript,
+ public ComponentLayoutValidationCommand(ApiVersion apiVersion, File recommendationsDir, String stackAdvisorScript,
int requestId, StackAdvisorRunner saRunner, AmbariMetaInfo metaInfo) {
- super(recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
+ super(apiVersion, recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationDependenciesRecommendationCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationDependenciesRecommendationCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationDependenciesRecommendationCommand.java
index ae86548..d9f3083 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationDependenciesRecommendationCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationDependenciesRecommendationCommand.java
@@ -23,6 +23,7 @@ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRunner;
import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse;
+import org.apache.ambari.server.api.util.ApiVersion;
import java.io.File;
import java.util.HashMap;
@@ -40,9 +41,9 @@ import static org.apache.ambari.server.api.services.stackadvisor.recommendations
public class ConfigurationDependenciesRecommendationCommand extends
StackAdvisorCommand<RecommendationResponse> {
- public ConfigurationDependenciesRecommendationCommand(File recommendationsDir, String stackAdvisorScript, int requestId,
+ public ConfigurationDependenciesRecommendationCommand(ApiVersion apiVersion, File recommendationsDir, String stackAdvisorScript, int requestId,
StackAdvisorRunner saRunner, AmbariMetaInfo metaInfo) {
- super(recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
+ super(apiVersion, recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationRecommendationCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationRecommendationCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationRecommendationCommand.java
index ad01b40..dd762ae 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationRecommendationCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationRecommendationCommand.java
@@ -23,6 +23,8 @@ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRunner;
import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse;
+import org.apache.ambari.server.api.util.ApiVersion;
+
import static org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse.*;
import java.io.File;
@@ -38,9 +40,9 @@ import java.util.Set;
public class ConfigurationRecommendationCommand extends
StackAdvisorCommand<RecommendationResponse> {
- public ConfigurationRecommendationCommand(File recommendationsDir, String stackAdvisorScript, int requestId,
+ public ConfigurationRecommendationCommand(ApiVersion apiVersion, File recommendationsDir, String stackAdvisorScript, int requestId,
StackAdvisorRunner saRunner, AmbariMetaInfo metaInfo) {
- super(recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
+ super(apiVersion, recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationValidationCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationValidationCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationValidationCommand.java
index c234947..c90cc1b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationValidationCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/ConfigurationValidationCommand.java
@@ -25,15 +25,16 @@ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRunner;
import org.apache.ambari.server.api.services.stackadvisor.validations.ValidationResponse;
+import org.apache.ambari.server.api.util.ApiVersion;
/**
* {@link StackAdvisorCommand} implementation for configuration validation.
*/
public class ConfigurationValidationCommand extends StackAdvisorCommand<ValidationResponse> {
- public ConfigurationValidationCommand(File recommendationsDir, String stackAdvisorScript,
+ public ConfigurationValidationCommand(ApiVersion apiVersion, File recommendationsDir, String stackAdvisorScript,
int requestId, StackAdvisorRunner saRunner, AmbariMetaInfo metaInfo) {
- super(recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
+ super(apiVersion, recommendationsDir, stackAdvisorScript, requestId, saRunner, metaInfo);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/b88db3cc/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
index 3e20a09..b93ea27 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
@@ -43,6 +43,7 @@ import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorException;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorResponse;
import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRunner;
+import org.apache.ambari.server.api.util.ApiVersion;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.state.ServiceInfo;
import org.apache.commons.collections.CollectionUtils;
@@ -104,8 +105,9 @@ public abstract class StackAdvisorCommand<T extends StackAdvisorResponse> extend
private final AmbariMetaInfo metaInfo;
@SuppressWarnings("unchecked")
- public StackAdvisorCommand(File recommendationsDir, String stackAdvisorScript, int requestId,
- StackAdvisorRunner saRunner, AmbariMetaInfo metaInfo) {
+ public StackAdvisorCommand(ApiVersion apiVersion, File recommendationsDir, String stackAdvisorScript, int requestId,
+ StackAdvisorRunner saRunner, AmbariMetaInfo metaInfo) {
+ super(apiVersion);
this.type = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass())
.getActualTypeArguments()[0];