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 2017/07/10 19:57:21 UTC

[49/52] [abbrv] ambari git commit: Revert "AMBARI-21077: Refactor API endpoint to have a single entry point for an API version (jluniya)"

Revert "AMBARI-21077: Refactor API endpoint to have a single entry point for an API version (jluniya)"

This reverts commit ea3dc9a0dd0c952e8465374e3b26a50cc2d32d19.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bf0bb2ea
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bf0bb2ea
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bf0bb2ea

Branch: refs/heads/branch-feature-AMBARI-14714
Commit: bf0bb2eacd17c616d1ca2dbde3aeb1b28308b960
Parents: 6fdf4d1
Author: Jayush Luniya <jl...@hortonworks.com>
Authored: Mon Jul 10 10:00:36 2017 -0700
Committer: Jayush Luniya <jl...@hortonworks.com>
Committed: Mon Jul 10 10:00:36 2017 -0700

----------------------------------------------------------------------
 .../ambari/server/api/rest/HealthCheck.java     |  2 +
 .../api/rest/KdcServerReachabilityCheck.java    |  1 +
 .../server/api/services/ActionService.java      |  7 +--
 .../api/services/ActiveWidgetLayoutService.java |  4 +-
 .../api/services/AlertDefinitionService.java    |  4 +-
 .../server/api/services/AlertGroupService.java  |  4 +-
 .../api/services/AlertHistoryService.java       |  4 +-
 .../server/api/services/AlertNoticeService.java |  4 +-
 .../server/api/services/AlertService.java       |  4 +-
 .../server/api/services/AlertTargetService.java |  6 +-
 .../api/services/AmbariPrivilegeService.java    |  7 +--
 .../ambari/server/api/services/BaseService.java | 17 ------
 .../server/api/services/BlueprintService.java   |  6 +-
 .../ClusterKerberosDescriptorService.java       |  4 +-
 .../api/services/ClusterPrivilegeService.java   |  4 +-
 .../server/api/services/ClusterService.java     | 58 ++++++++++----------
 .../services/ClusterStackVersionService.java    |  6 +-
 .../CompatibleRepositoryVersionService.java     |  6 +-
 .../server/api/services/ComponentService.java   |  4 +-
 .../server/api/services/ConfigGroupService.java |  4 +-
 .../api/services/ConfigurationService.java      |  6 +-
 .../server/api/services/CredentialService.java  |  4 +-
 .../api/services/ExtensionLinksService.java     |  6 +-
 .../server/api/services/ExtensionsService.java  |  6 +-
 .../ambari/server/api/services/FeedService.java |  8 +--
 .../api/services/GroupPrivilegeService.java     |  4 +-
 .../server/api/services/GroupService.java       | 10 +---
 .../api/services/HostComponentService.java      |  4 +-
 .../services/HostKerberosIdentityService.java   |  4 +-
 .../ambari/server/api/services/HostService.java | 18 +++---
 .../api/services/HostStackVersionService.java   |  6 +-
 .../server/api/services/InstanceService.java    |  8 +--
 .../ambari/server/api/services/JobService.java  |  6 +-
 .../api/services/KerberosDescriptorService.java |  6 +-
 .../ambari/server/api/services/KeyService.java  |  1 +
 .../api/services/LdapSyncEventService.java      |  6 +-
 .../server/api/services/LoggingService.java     |  8 +--
 .../server/api/services/LogoutService.java      |  2 +
 .../server/api/services/MemberService.java      |  4 +-
 .../api/services/OperatingSystemService.java    |  6 +-
 .../server/api/services/PermissionService.java  |  8 +--
 .../api/services/PreUpgradeCheckService.java    |  4 +-
 .../server/api/services/PrivilegeService.java   |  5 --
 .../api/services/RecommendationService.java     | 38 ++++---------
 .../api/services/RemoteClustersService.java     |  6 +-
 .../server/api/services/RepositoryService.java  |  4 +-
 .../api/services/RepositoryVersionService.java  |  7 +--
 .../api/services/RequestScheduleService.java    |  4 +-
 .../server/api/services/RequestService.java     | 12 ++--
 .../api/services/RoleAuthorizationService.java  |  9 ++-
 .../server/api/services/RootServiceService.java |  8 +--
 .../services/ServiceConfigVersionService.java   |  4 +-
 .../server/api/services/ServiceService.java     | 10 ++--
 .../server/api/services/SettingService.java     |  6 +-
 .../server/api/services/StacksService.java      | 38 ++-----------
 .../server/api/services/StageService.java       |  6 +-
 .../api/services/TargetClusterService.java      |  6 +-
 .../server/api/services/TaskAttemptService.java |  4 +-
 .../ambari/server/api/services/TaskService.java |  4 +-
 .../api/services/UpgradeGroupService.java       |  6 +-
 .../server/api/services/UpgradeItemService.java |  6 +-
 .../server/api/services/UpgradeService.java     |  6 +-
 .../api/services/UpgradeSummaryService.java     |  4 +-
 .../api/services/UserAuthorizationService.java  |  4 +-
 .../api/services/UserPrivilegeService.java      |  5 +-
 .../ambari/server/api/services/UserService.java | 12 ++--
 .../ambari/server/api/services/V1Service.java   | 28 ----------
 .../ambari/server/api/services/V2Service.java   | 28 ----------
 .../server/api/services/ValidationService.java  | 35 +++---------
 .../api/services/VersionDefinitionService.java  |  8 +--
 .../api/services/ViewDataMigrationService.java  |  4 +-
 .../ViewExternalSubResourceService.java         |  4 +-
 .../api/services/ViewInstanceService.java       |  8 +--
 .../api/services/ViewPermissionService.java     |  4 +-
 .../api/services/ViewPrivilegeService.java      |  4 +-
 .../ambari/server/api/services/ViewService.java |  8 +--
 .../api/services/ViewSubResourceService.java    |  4 +-
 .../server/api/services/ViewUrlsService.java    |  6 +-
 .../server/api/services/ViewVersionService.java |  8 +--
 .../api/services/WidgetLayoutService.java       |  4 +-
 .../server/api/services/WidgetService.java      |  4 +-
 .../server/api/services/WorkflowService.java    |  6 +-
 .../stackadvisor/StackAdvisorHelper.java        | 11 ++--
 .../ComponentLayoutRecommendationCommand.java   |  5 +-
 .../ComponentLayoutValidationCommand.java       |  5 +-
 ...rationDependenciesRecommendationCommand.java |  5 +-
 .../ConfigurationRecommendationCommand.java     |  5 +-
 .../ConfigurationValidationCommand.java         |  5 +-
 .../commands/StackAdvisorCommand.java           |  4 +-
 .../ambari/server/api/util/ApiVersion.java      | 32 -----------
 .../controller/AmbariManagementController.java  |  4 +-
 .../AmbariManagementControllerImpl.java         | 11 +---
 .../ambari/server/controller/AmbariServer.java  | 23 ++------
 .../apache/ambari/server/view/ViewRegistry.java |  5 +-
 .../server/api/services/ActionServiceTest.java  |  2 -
 .../services/ActiveWidgetLayoutServiceTest.java |  3 +-
 .../api/services/BlueprintServiceTest.java      |  2 -
 .../ClusterKerberosDescriptorServiceTest.java   |  3 +-
 .../services/ClusterPrivilegeServiceTest.java   |  3 +-
 .../server/api/services/ClusterServiceTest.java |  3 +-
 .../ClusterStackVersionServiceTest.java         |  3 +-
 .../api/services/ComponentServiceTest.java      |  3 +-
 .../api/services/ConfigGroupServiceTest.java    |  3 +-
 .../api/services/ConfigurationServiceTest.java  |  4 +-
 .../api/services/CredentialServiceTest.java     |  3 +-
 .../api/services/ExtensionsServiceTest.java     |  2 -
 .../server/api/services/FeedServiceTest.java    |  3 +-
 .../api/services/GroupPrivilegeServiceTest.java |  3 +-
 .../server/api/services/GroupServiceTest.java   |  5 --
 .../api/services/HostComponentServiceTest.java  |  3 +-
 .../HostKerberosIdentityServiceTest.java        |  3 +-
 .../server/api/services/HostServiceTest.java    |  3 +-
 .../services/HostStackVersionServiceTest.java   |  3 +-
 .../api/services/InstanceServiceTest.java       |  3 +-
 .../server/api/services/JobServiceTest.java     |  3 +-
 .../api/services/LdapSyncEventServiceTest.java  |  3 +-
 .../server/api/services/LoggingServiceTest.java |  3 +-
 .../server/api/services/MemberServiceTest.java  |  3 +-
 .../api/services/PermissionServiceTest.java     |  3 +-
 .../services/PreUpgradeCheckServiceTest.java    |  3 +-
 .../api/services/PrivilegeServiceTest.java      |  3 +-
 .../api/services/RecommendationServiceTest.java |  7 +--
 .../api/services/RepositoryServiceTest.java     |  3 +-
 .../services/RoleAuthorizationServiceTest.java  |  3 +-
 .../api/services/RootServiceServiceTest.java    |  2 -
 .../server/api/services/ServiceServiceTest.java |  5 +-
 .../server/api/services/SettingServiceTest.java |  2 -
 .../server/api/services/StacksServiceTest.java  |  2 -
 .../api/services/TargetClusterServiceTest.java  |  3 +-
 .../api/services/TaskAttemptServiceTest.java    |  3 +-
 .../api/services/UpgradeItemServiceTest.java    |  3 +-
 .../services/UserAuthorizationServiceTest.java  |  5 +-
 .../api/services/UserPrivilegeServiceTest.java  |  5 +-
 .../api/services/ValidationServiceTest.java     |  7 +--
 .../services/ViewDataMigrationServiceTest.java  |  5 +-
 .../ViewExternalSubResourceServiceTest.java     |  3 +-
 .../api/services/ViewPermissionServiceTest.java |  3 +-
 .../services/ViewSubResourceServiceTest.java    |  7 +--
 .../api/services/WorkflowServiceTest.java       |  3 +-
 .../ConfigurationRecommendationCommandTest.java |  3 +-
 .../commands/StackAdvisorCommandTest.java       |  3 +-
 141 files changed, 258 insertions(+), 683 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/rest/HealthCheck.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/rest/HealthCheck.java b/ambari-server/src/main/java/org/apache/ambari/server/api/rest/HealthCheck.java
index 1b4fc03..2f31611 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/rest/HealthCheck.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/rest/HealthCheck.java
@@ -19,6 +19,7 @@
 package org.apache.ambari.server.api.rest;
 
 import javax.ws.rs.GET;
+import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 
@@ -27,6 +28,7 @@ import javax.ws.rs.core.MediaType;
  * or not
  */
 
+@Path("/check")
 public class HealthCheck {
   private static final String status = "RUNNING";
   // This method is called if TEXT_PLAIN is request

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/rest/KdcServerReachabilityCheck.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/rest/KdcServerReachabilityCheck.java b/ambari-server/src/main/java/org/apache/ambari/server/api/rest/KdcServerReachabilityCheck.java
index bb08a0a..898e7e6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/rest/KdcServerReachabilityCheck.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/rest/KdcServerReachabilityCheck.java
@@ -36,6 +36,7 @@ import com.google.inject.Inject;
  * Service responsible for kerberos related resource requests.
  */
 @StaticallyInject
+@Path("/kdc_check/")
 public class KdcServerReachabilityCheck {
   private static final String REACHABLE = "REACHABLE";
   private static final String UNREACHABLE = "UNREACHABLE";

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActionService.java
index 2b6cf36..0290151 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActionService.java
@@ -33,18 +33,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;
 
+
 /**
  * Service responsible for action definition resource requests.
  */
+@Path("/actions/")
 public class ActionService extends BaseService {
 
-  public ActionService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Handles: GET /actions/{actionName}
    * Get a specific action definition.

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutService.java
index 0996abb..dd7c917 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutService.java
@@ -29,7 +29,6 @@ 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;
 
@@ -40,8 +39,7 @@ public class ActiveWidgetLayoutService extends BaseService {
 
   private final String userName;
 
-  public ActiveWidgetLayoutService(ApiVersion apiVersion, String userName) {
-    super(apiVersion);
+  public ActiveWidgetLayoutService(String userName) {
     this.userName = userName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertDefinitionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertDefinitionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertDefinitionService.java
index aae23cc..fb5423b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertDefinitionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertDefinitionService.java
@@ -33,7 +33,6 @@ 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;
 
 /**
@@ -43,8 +42,7 @@ public class AlertDefinitionService extends BaseService {
 
   private String clusterName = null;
 
-  AlertDefinitionService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  AlertDefinitionService(String clusterName) {
     this.clusterName = clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertGroupService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertGroupService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertGroupService.java
index 439c3d4..97a61ba 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertGroupService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertGroupService.java
@@ -33,7 +33,6 @@ 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;
 
 /**
@@ -52,8 +51,7 @@ public class AlertGroupService extends BaseService {
    *
    * @param clusterName
    */
-  AlertGroupService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  AlertGroupService(String clusterName) {
     m_clusterName = clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertHistoryService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertHistoryService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertHistoryService.java
index 31f1019..6f7e2fa 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertHistoryService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertHistoryService.java
@@ -30,7 +30,6 @@ 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;
 
 /**
@@ -53,8 +52,7 @@ public class AlertHistoryService extends BaseService {
    * @param hostName
    *          the host name, or {@code null} to return history across all hosts.
    */
-  AlertHistoryService(ApiVersion apiVersion, String clusterName, String serviceName, String hostName) {
-    super(apiVersion);
+  AlertHistoryService(String clusterName, String serviceName, String hostName) {
     this.clusterName = clusterName;
     this.serviceName = serviceName;
     this.hostName = hostName;

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertNoticeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertNoticeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertNoticeService.java
index d5e6642..3a4cda6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertNoticeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertNoticeService.java
@@ -30,7 +30,6 @@ 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,8 +45,7 @@ public class AlertNoticeService extends BaseService {
    * @param clusterName
    *          the cluster name (not {@code null}).
    */
-  AlertNoticeService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  AlertNoticeService(String clusterName) {
     this.clusterName = clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertService.java
index 6a583d4..babf42c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertService.java
@@ -30,7 +30,6 @@ 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,8 +41,7 @@ public class AlertService extends BaseService {
   private String serviceName = null;
   private String hostName = null;
 
-  AlertService(ApiVersion apiVersion, String clusterName, String serviceName, String hostName) {
-    super(apiVersion);
+  AlertService(String clusterName, String serviceName, String hostName) {
     this.clusterName = clusterName;
     this.serviceName = serviceName;
     this.hostName = hostName;

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertTargetService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertTargetService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertTargetService.java
index b08db6f..3d995b3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertTargetService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertTargetService.java
@@ -33,7 +33,6 @@ 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.ambari.server.state.alert.AlertTarget;
 
@@ -41,12 +40,9 @@ import org.apache.ambari.server.state.alert.AlertTarget;
  * The {@link AlertTargetService} handles CRUD operation requests for alert
  * targets.
  */
+@Path("/alert_targets/")
 public class AlertTargetService extends BaseService {
 
-  public AlertTargetService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   @GET
   @Produces("text/plain")
   public Response getTargets(@Context HttpHeaders headers,

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariPrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariPrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariPrivilegeService.java
index 62d8149..be46ad5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariPrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariPrivilegeService.java
@@ -20,17 +20,16 @@ package org.apache.ambari.server.api.services;
 
 import java.util.Collections;
 
+import javax.ws.rs.Path;
+
 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 responsible for Ambari privilege resource requests.
  */
+@Path("/privileges/")
 public class AmbariPrivilegeService extends PrivilegeService {
-  public AmbariPrivilegeService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
 
   // ----- PrivilegeService --------------------------------------------------
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
index c9bc978..0185d37 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/BaseService.java
@@ -21,7 +21,6 @@ package org.apache.ambari.server.api.services;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
-import java.util.regex.Pattern;
 
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
@@ -37,7 +36,6 @@ import org.apache.ambari.server.api.services.parsers.RequestBodyParser;
 import org.apache.ambari.server.api.services.serializers.CsvSerializer;
 import org.apache.ambari.server.api.services.serializers.JsonSerializer;
 import org.apache.ambari.server.api.services.serializers.ResultSerializer;
-import org.apache.ambari.server.api.util.ApiVersion;
 import org.apache.ambari.server.audit.request.RequestAuditLogger;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.utils.RetryHelper;
@@ -52,12 +50,6 @@ public abstract class BaseService {
   public final static MediaType MEDIA_TYPE_TEXT_CSV_TYPE = new MediaType("text", "csv");
 
   /**
-   * Regex for checking API version from the request URI
-   */
-  public static final Pattern API_VERSION_REGEX = Pattern.compile("^(/api/)(v[0-9\\.]+)");
-
-
-  /**
    * Logger instance.
    */
   protected final static Logger LOG = LoggerFactory.getLogger(BaseService.class);
@@ -74,15 +66,6 @@ public abstract class BaseService {
 
   protected static RequestAuditLogger requestAuditLogger;
 
-  /**
-   * Api version
-   */
-  protected ApiVersion m_apiVersion;
-
-  public BaseService(ApiVersion apiVersion) {
-    m_apiVersion = apiVersion;
-  }
-
   public static void init(RequestAuditLogger instance) {
     requestAuditLogger = instance;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/BlueprintService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/BlueprintService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/BlueprintService.java
index 27f5f17..8159ea4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/BlueprintService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/BlueprintService.java
@@ -32,7 +32,6 @@ 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;
 
 /**
@@ -41,12 +40,9 @@ import org.apache.ambari.server.controller.spi.Resource;
  * any cluster specific information.  Updates are not permitted as blueprints are
  * immutable.
  */
+@Path("/blueprints/")
 public class BlueprintService extends BaseService {
 
-  public BlueprintService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Handles: GET  /blueprints
    * Get all blueprints.

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterKerberosDescriptorService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterKerberosDescriptorService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterKerberosDescriptorService.java
index 3e7cbdc..0aeb52b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterKerberosDescriptorService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterKerberosDescriptorService.java
@@ -31,7 +31,6 @@ 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;
 
 /**
@@ -55,8 +54,7 @@ public class ClusterKerberosDescriptorService extends BaseService {
    *
    * @param clusterName cluster id
    */
-  public ClusterKerberosDescriptorService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  public ClusterKerberosDescriptorService(String clusterName) {
     this.clusterName = clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterPrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterPrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterPrivilegeService.java
index 4ac27ec..2efd392 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterPrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterPrivilegeService.java
@@ -22,7 +22,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.ambari.server.api.resources.ResourceInstance;
-import org.apache.ambari.server.api.util.ApiVersion;
 import org.apache.ambari.server.controller.spi.Resource;
 
 /**
@@ -43,8 +42,7 @@ public class ClusterPrivilegeService extends PrivilegeService {
    *
    * @param clusterName  the cluster name
    */
-  public ClusterPrivilegeService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  public ClusterPrivilegeService(String clusterName) {
     this.clusterName = clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java
index a0c27f0..5577633 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java
@@ -35,7 +35,6 @@ 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.AmbariServer;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.state.Clusters;
@@ -44,6 +43,7 @@ import org.apache.ambari.server.state.Clusters;
 /**
  * Service responsible for cluster resource requests.
  */
+@Path("/clusters/")
 public class ClusterService extends BaseService {
 
   /**
@@ -57,8 +57,7 @@ public class ClusterService extends BaseService {
   /**
    * Construct a ClusterService.
    */
-  public ClusterService(ApiVersion apiVersion) {
-    super(apiVersion);
+  public ClusterService() {
     clusters = AmbariServer.getController().getClusters();
   }
 
@@ -67,8 +66,7 @@ public class ClusterService extends BaseService {
    *
    * @param clusters  the clusters utilities
    */
-  protected ClusterService(ApiVersion apiVersion, Clusters clusters) {
-    super(apiVersion);
+  protected ClusterService(Clusters clusters) {
     this.clusters = clusters;
   }
 
@@ -328,7 +326,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/hosts")
   public HostService getHostHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new HostService(m_apiVersion, clusterName);
+    return new HostService(clusterName);
   }
 
   /**
@@ -341,7 +339,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/services")
   public ServiceService getServiceHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new ServiceService(m_apiVersion, clusterName);
+    return new ServiceService(clusterName);
   }
 
   /**
@@ -354,7 +352,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/configurations")
   public ConfigurationService getConfigurationHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new ConfigurationService(m_apiVersion, clusterName);
+    return new ConfigurationService(clusterName);
   }
 
   /**
@@ -367,7 +365,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/requests")
   public RequestService getRequestHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new RequestService(m_apiVersion, clusterName);
+    return new RequestService(clusterName);
   }
 
   /**
@@ -381,7 +379,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/host_components")
   public HostComponentService getHostComponentHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new HostComponentService(m_apiVersion, clusterName, null);
+    return new HostComponentService(clusterName, null);
   }
 
   /**
@@ -395,7 +393,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/kerberos_identities")
   public HostKerberosIdentityService getHostKerberosIdentityHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new HostKerberosIdentityService(m_apiVersion, clusterName, null);
+    return new HostKerberosIdentityService(clusterName, null);
   }
 
   /**
@@ -409,7 +407,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/components")
   public ComponentService getComponentHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new ComponentService(m_apiVersion, clusterName, null);
+    return new ComponentService(clusterName, null);
   }
 
   /**
@@ -422,7 +420,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/workflows")
   public WorkflowService getWorkflowHandler(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new WorkflowService(m_apiVersion, clusterName);
+    return new WorkflowService(clusterName);
   }
 
   /**
@@ -435,7 +433,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/config_groups")
   public ConfigGroupService getConfigGroupService(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new ConfigGroupService(m_apiVersion, clusterName);
+    return new ConfigGroupService(clusterName);
   }
 
   /**
@@ -449,7 +447,7 @@ public class ClusterService extends BaseService {
   @Path("{clusterName}/request_schedules")
   public RequestScheduleService getRequestScheduleService
                              (@Context javax.ws.rs.core.Request request, @PathParam ("clusterName") String clusterName) {
-    return new RequestScheduleService(m_apiVersion, clusterName);
+    return new RequestScheduleService(clusterName);
   }
 
   /**
@@ -463,7 +461,7 @@ public class ClusterService extends BaseService {
   @Path("{clusterName}/alert_definitions")
   public AlertDefinitionService getAlertDefinitionService(
       @Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new AlertDefinitionService(m_apiVersion, clusterName);
+    return new AlertDefinitionService(clusterName);
   }
 
   /**
@@ -479,7 +477,7 @@ public class ClusterService extends BaseService {
   public AlertGroupService getAlertGroups(
       @Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new AlertGroupService(m_apiVersion, clusterName);
+    return new AlertGroupService(clusterName);
   }
 
   /**
@@ -494,7 +492,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/privileges")
   public PrivilegeService getPrivilegeService(@Context javax.ws.rs.core.Request request, @PathParam ("clusterName") String clusterName) {
-    return new ClusterPrivilegeService(m_apiVersion, clusterName);
+    return new ClusterPrivilegeService(clusterName);
   }
 
   /**
@@ -508,7 +506,7 @@ public class ClusterService extends BaseService {
   @Path("{clusterName}/alerts")
   public AlertService getAlertService(
       @Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new AlertService(m_apiVersion, clusterName, null, null);
+    return new AlertService(clusterName, null, null);
   }
 
   /**
@@ -525,7 +523,7 @@ public class ClusterService extends BaseService {
   public AlertHistoryService getAlertHistoryService(
       @Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new AlertHistoryService(m_apiVersion, clusterName, null, null);
+    return new AlertHistoryService(clusterName, null, null);
   }
 
   /**
@@ -542,7 +540,7 @@ public class ClusterService extends BaseService {
   public AlertNoticeService getAlertNoticeService(
       @Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new AlertNoticeService(m_apiVersion, clusterName);
+    return new AlertNoticeService(clusterName);
   }
 
   /**
@@ -558,7 +556,7 @@ public class ClusterService extends BaseService {
   @Path("{clusterName}/stack_versions")
   public ClusterStackVersionService getClusterStackVersionService(@Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new ClusterStackVersionService(m_apiVersion, clusterName);
+    return new ClusterStackVersionService(clusterName);
   }
 
   /**
@@ -573,7 +571,7 @@ public class ClusterService extends BaseService {
   public UpgradeService getUpgradeService(
       @Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new UpgradeService(m_apiVersion, clusterName);
+    return new UpgradeService(clusterName);
   }
 
   /**
@@ -588,7 +586,7 @@ public class ClusterService extends BaseService {
   public UpgradeSummaryService getUpgradeSummaryService(
       @Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new UpgradeSummaryService(m_apiVersion, clusterName);
+    return new UpgradeSummaryService(clusterName);
   }
   
   /**
@@ -601,7 +599,7 @@ public class ClusterService extends BaseService {
    */
   @Path("{clusterName}/rolling_upgrades_check")
   public PreUpgradeCheckService getPreUpgradeCheckService(@Context javax.ws.rs.core.Request request, @PathParam("clusterName") String clusterName) {
-    return new PreUpgradeCheckService(m_apiVersion, clusterName);
+    return new PreUpgradeCheckService(clusterName);
   }
 
   /**
@@ -611,7 +609,7 @@ public class ClusterService extends BaseService {
   public WidgetLayoutService getWidgetLayoutService(@Context javax.ws.rs.core.Request request,
                                                     @PathParam ("clusterName") String clusterName) {
 
-    return new WidgetLayoutService(m_apiVersion, clusterName);
+    return new WidgetLayoutService(clusterName);
   }
 
   /**
@@ -621,7 +619,7 @@ public class ClusterService extends BaseService {
   public WidgetService getWidgetService(@Context javax.ws.rs.core.Request request,
                                                     @PathParam ("clusterName") String clusterName) {
 
-    return new WidgetService(m_apiVersion, clusterName);
+    return new WidgetService(clusterName);
   }
 
   /**
@@ -635,7 +633,7 @@ public class ClusterService extends BaseService {
   public CredentialService getCredentials(
       @Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new CredentialService(m_apiVersion, clusterName);
+    return new CredentialService(clusterName);
   }
 
   /**
@@ -650,7 +648,7 @@ public class ClusterService extends BaseService {
   public ClusterKerberosDescriptorService getCompositeKerberosDescriptor(
       @Context javax.ws.rs.core.Request request,
       @PathParam("clusterName") String clusterName) {
-    return new ClusterKerberosDescriptorService(m_apiVersion, clusterName);
+    return new ClusterKerberosDescriptorService(clusterName);
   }
 
   /**
@@ -664,7 +662,7 @@ public class ClusterService extends BaseService {
   @Path("{clusterName}/logging")
   public LoggingService getLogging(@Context javax.ws.rs.core.Request request,
                                    @PathParam("clusterName") String clusterName) {
-    return AmbariServer.getController().getLoggingService(m_apiVersion, clusterName);
+    return AmbariServer.getController().getLoggingService(clusterName);
   }
 
   // ----- helper methods ----------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterStackVersionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterStackVersionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterStackVersionService.java
index 8f96503..0821f7c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterStackVersionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterStackVersionService.java
@@ -32,7 +32,6 @@ 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;
 
 /**
@@ -49,8 +48,7 @@ public class ClusterStackVersionService extends BaseService {
    *
    * @param clusterName name of the cluster
    */
-  public ClusterStackVersionService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  public ClusterStackVersionService(String clusterName) {
     this.clusterName = clusterName;
   }
 
@@ -104,7 +102,7 @@ public class ClusterStackVersionService extends BaseService {
     final Map<Resource.Type, String> mapIds = new HashMap<>();
     mapIds.put(Resource.Type.Cluster, clusterName);
     mapIds.put(Resource.Type.ClusterStackVersion, stackVersion);
-    return new RepositoryVersionService(m_apiVersion, mapIds);
+    return new RepositoryVersionService(mapIds);
   }
 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/CompatibleRepositoryVersionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/CompatibleRepositoryVersionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/CompatibleRepositoryVersionService.java
index bdde7a2..c6748bc 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/CompatibleRepositoryVersionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/CompatibleRepositoryVersionService.java
@@ -30,7 +30,6 @@ 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;
 
 /**
@@ -48,8 +47,7 @@ public class CompatibleRepositoryVersionService extends BaseService {
    *
    * @param parentProperties extra properties to be inserted into created resource
    */
-  public CompatibleRepositoryVersionService(ApiVersion apiVersion, Map<Resource.Type, String> parentProperties) {
-    super(apiVersion);
+  public CompatibleRepositoryVersionService(Map<Resource.Type, String> parentProperties) {
     parentKeyProperties = parentProperties;
   }
 
@@ -96,7 +94,7 @@ public class CompatibleRepositoryVersionService extends BaseService {
     mapIds.putAll(parentKeyProperties);
     mapIds.put(Resource.Type.CompatibleRepositoryVersion, repositoryVersionId);
 
-    return new OperatingSystemService(m_apiVersion, mapIds);
+    return new OperatingSystemService(mapIds);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ComponentService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ComponentService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ComponentService.java
index 8f6dc51..f29b396 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ComponentService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ComponentService.java
@@ -39,7 +39,6 @@ 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.configuration.Configuration;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.commons.lang.StringUtils;
@@ -65,8 +64,7 @@ public class ComponentService extends BaseService {
    * @param clusterName cluster id
    * @param serviceName service id
    */
-  public ComponentService(ApiVersion apiVersion, String clusterName, String serviceName) {
-    super(apiVersion);
+  public ComponentService(String clusterName, String serviceName) {
     m_clusterName = clusterName;
     m_serviceName = serviceName;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigGroupService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigGroupService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigGroupService.java
index 56ef41f..ae5ea53 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigGroupService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigGroupService.java
@@ -33,7 +33,6 @@ 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;
 
 /**
@@ -49,8 +48,7 @@ public class ConfigGroupService extends BaseService {
    * Constructor
    * @param m_clusterName
    */
-  public ConfigGroupService(ApiVersion apiVersion, String m_clusterName) {
-    super(apiVersion);
+  public ConfigGroupService(String m_clusterName) {
     this.m_clusterName = m_clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java
index eac9686..bebcb03 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ConfigurationService.java
@@ -31,7 +31,6 @@ 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;
 
 /**
@@ -48,14 +47,13 @@ public class ConfigurationService extends BaseService {
    *
    * @param clusterName cluster id
    */
-  public ConfigurationService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  public ConfigurationService(String clusterName) {
     m_clusterName = clusterName;
   }
 
   @Path("service_config_versions")
   public ServiceConfigVersionService getServiceConfigVersionService() {
-    return new ServiceConfigVersionService(m_apiVersion, m_clusterName);
+    return new ServiceConfigVersionService(m_clusterName);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/CredentialService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/CredentialService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/CredentialService.java
index dc720c9..449c292 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/CredentialService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/CredentialService.java
@@ -34,7 +34,6 @@ 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;
 
 /**
@@ -44,8 +43,7 @@ public class CredentialService extends BaseService {
 
   private final String clusterName;
 
-  public CredentialService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  public CredentialService(String clusterName) {
     this.clusterName = clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionLinksService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionLinksService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionLinksService.java
index c5b7f4c..457313d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionLinksService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionLinksService.java
@@ -34,7 +34,6 @@ 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;
 
 /**
@@ -44,12 +43,9 @@ import org.apache.ambari.server.controller.spi.Resource;
  * version to the current stack version allows the cluster to install the custom services contained in
  * the extension version.
  */
+@Path("/links/")
 public class ExtensionLinksService extends BaseService {
 
-  public ExtensionLinksService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   @GET
   @Produces("text/plain")
   public Response getExtensionLinks(String body, @Context HttpHeaders headers, @Context UriInfo ui) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionsService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionsService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionsService.java
index 9fad03e..5ba7341 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionsService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/ExtensionsService.java
@@ -32,7 +32,6 @@ 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,12 +41,9 @@ import org.apache.ambari.server.controller.spi.Resource;
  * version to the current stack version allows the cluster to install the custom services contained in
  * the extension version.
  */
+@Path("/extensions/")
 public class ExtensionsService extends BaseService {
 
-  public ExtensionsService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   @GET
   @Produces("text/plain")
   public Response getExtensions(String body, @Context HttpHeaders headers, @Context UriInfo ui) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/FeedService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/FeedService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/FeedService.java
index 9e0aa16..4a87c32 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/FeedService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/FeedService.java
@@ -33,18 +33,14 @@ 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;
 
 /**
  * DR feed service.
  */
+@Path("/feeds/")
 public class FeedService extends BaseService {
 
-  public FeedService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Handles: GET /feeds/{feedName}
    * Get a specific feed.
@@ -139,7 +135,7 @@ public class FeedService extends BaseService {
    */
   @Path("{feedName}/instances")
   public InstanceService getHostHandler(@PathParam("feedName") String feedName) {
-    return new InstanceService(m_apiVersion, feedName);
+    return new InstanceService(feedName);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupPrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupPrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupPrivilegeService.java
index eae68ee..0c7c2e9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupPrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupPrivilegeService.java
@@ -27,7 +27,6 @@ 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;
 
 /**
@@ -37,8 +36,7 @@ public class GroupPrivilegeService extends PrivilegeService {
 
   private final String groupName;
 
-  public GroupPrivilegeService(ApiVersion apiVersion, String groupName) {
-    super(apiVersion);
+  public GroupPrivilegeService(String groupName) {
     this.groupName = groupName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupService.java
index 47414b3..8ec0097 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupService.java
@@ -31,17 +31,13 @@ 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;
 
 /**
  * Service responsible for user groups requests.
  */
+@Path("/groups/")
 public class GroupService extends BaseService {
-  public GroupService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Gets all groups.
    * Handles: GET /groups requests.
@@ -131,7 +127,7 @@ public class GroupService extends BaseService {
    */
   @Path("{groupName}/members")
   public MemberService getMemberHandler(@PathParam("groupName") String groupName) {
-    return new MemberService(m_apiVersion, groupName);
+    return new MemberService(groupName);
   }
 
   /**
@@ -141,7 +137,7 @@ public class GroupService extends BaseService {
   public PrivilegeService getPrivilegeService(@Context javax.ws.rs.core.Request request,
                                               @PathParam ("groupName") String groupName) {
 
-    return new GroupPrivilegeService(m_apiVersion, groupName);
+    return new GroupPrivilegeService(groupName);
   }
 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
index 62f2f89..e4f2be9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostComponentService.java
@@ -39,7 +39,6 @@ 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.configuration.Configuration;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.commons.lang.StringUtils;
@@ -65,8 +64,7 @@ public class HostComponentService extends BaseService {
    * @param clusterName cluster id
    * @param hostName    host id
    */
-  public HostComponentService(ApiVersion apiVersion, String clusterName, String hostName) {
-    super(apiVersion);
+  public HostComponentService(String clusterName, String hostName) {
     m_clusterName = clusterName;
     m_hostName = hostName;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostKerberosIdentityService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostKerberosIdentityService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostKerberosIdentityService.java
index 35a5e07..a99d269 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostKerberosIdentityService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostKerberosIdentityService.java
@@ -33,7 +33,6 @@ 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;
 
 /**
@@ -57,8 +56,7 @@ public class HostKerberosIdentityService extends BaseService {
    * @param clusterName cluster name
    * @param hostName    host name
    */
-  public HostKerberosIdentityService(ApiVersion apiVersion, String clusterName, String hostName) {
-    super(apiVersion);
+  public HostKerberosIdentityService(String clusterName, String hostName) {
     this.clusterName = clusterName;
     this.hostName = hostName;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostService.java
index 9c25445..c26c5d8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostService.java
@@ -34,12 +34,12 @@ 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;
 
 /**
  * Service responsible for hosts resource requests.
  */
+@Path("/hosts/")
 public class HostService extends BaseService {
 
   /**
@@ -50,8 +50,7 @@ public class HostService extends BaseService {
   /**
    * Constructor.
    */
-  public HostService(ApiVersion apiVersion) {
-    super(apiVersion);
+  public HostService() {
   }
 
   /**
@@ -59,8 +58,7 @@ public class HostService extends BaseService {
    *
    * @param clusterName cluster id
    */
-  public HostService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  public HostService(String clusterName) {
     m_clusterName = clusterName;
   }
 
@@ -213,7 +211,7 @@ public class HostService extends BaseService {
    */
   @Path("{hostName}/host_components")
   public HostComponentService getHostComponentHandler(@PathParam("hostName") String hostName) {
-    return new HostComponentService(m_apiVersion, m_clusterName, hostName);
+    return new HostComponentService(m_clusterName, hostName);
   }
 
   /**
@@ -224,7 +222,7 @@ public class HostService extends BaseService {
    */
   @Path("{hostName}/kerberos_identities")
   public HostKerberosIdentityService getHostKerberosIdentityHandler(@PathParam("hostName") String hostName) {
-    return new HostKerberosIdentityService(m_apiVersion, m_clusterName, hostName);
+    return new HostKerberosIdentityService(m_clusterName, hostName);
   }
 
   /**
@@ -235,7 +233,7 @@ public class HostService extends BaseService {
    */
   @Path("{hostName}/alerts")
   public AlertService getAlertHandler(@PathParam("hostName") String hostName) {
-    return new AlertService(m_apiVersion, m_clusterName, null, hostName);
+    return new AlertService(m_clusterName, null, hostName);
   }
 
   /**
@@ -253,7 +251,7 @@ public class HostService extends BaseService {
       @Context javax.ws.rs.core.Request request,
       @PathParam("hostName") String hostName) {
 
-    return new AlertHistoryService(m_apiVersion, m_clusterName, null, hostName);
+    return new AlertHistoryService(m_clusterName, null, hostName);
   }
 
   /**
@@ -270,7 +268,7 @@ public class HostService extends BaseService {
   public HostStackVersionService getHostStackVersionService(@Context javax.ws.rs.core.Request request,
       @PathParam("hostName") String hostName) {
 
-    return new HostStackVersionService(m_apiVersion, hostName, m_clusterName);
+    return new HostStackVersionService(hostName, m_clusterName);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostStackVersionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostStackVersionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostStackVersionService.java
index 6d1a445..1c91eee 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostStackVersionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/HostStackVersionService.java
@@ -31,7 +31,6 @@ 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;
 
 /**
@@ -53,8 +52,7 @@ public class HostStackVersionService extends BaseService {
    *
    * @param hostName name of the host
    */
-  public HostStackVersionService(ApiVersion apiVersion, String hostName, String clusterName) {
-    super(apiVersion);
+  public HostStackVersionService(String hostName, String clusterName) {
     this.hostName = hostName;
     this.clusterName = clusterName;
   }
@@ -118,7 +116,7 @@ public class HostStackVersionService extends BaseService {
     final Map<Resource.Type, String> stackVersionProperties = new HashMap<>();
     stackVersionProperties.put(Resource.Type.Host, hostName);
     stackVersionProperties.put(Resource.Type.HostStackVersion, stackVersionId);
-    return new RepositoryVersionService(m_apiVersion, stackVersionProperties);
+    return new RepositoryVersionService(stackVersionProperties);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/InstanceService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/InstanceService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/InstanceService.java
index afa31dc..f216e67 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/InstanceService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/InstanceService.java
@@ -34,12 +34,12 @@ 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;
 
 /**
  * Service responsible for instances resource requests.
  */
+@Path("/instances/")
 public class InstanceService extends BaseService {
 
   /**
@@ -50,8 +50,7 @@ public class InstanceService extends BaseService {
   /**
    * Constructor.
    */
-  public InstanceService(ApiVersion apiVersion) {
-    super(apiVersion);
+  public InstanceService() {
   }
 
   /**
@@ -59,8 +58,7 @@ public class InstanceService extends BaseService {
    *
    * @param feedName feed id
    */
-  public InstanceService(ApiVersion apiVersion, String feedName) {
-    super(apiVersion);
+  public InstanceService(String feedName) {
     m_feedName = feedName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/JobService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/JobService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/JobService.java
index 6a856b8..2ea83e2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/JobService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/JobService.java
@@ -31,7 +31,6 @@ 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;
 
 /**
@@ -49,8 +48,7 @@ public class JobService extends BaseService {
    * @param workflowId
    *          workflow id
    */
-  public JobService(ApiVersion apiVersion, String clusterName, String workflowId) {
-    super(apiVersion);
+  public JobService(String clusterName, String workflowId) {
     this.clusterName = clusterName;
     this.workflowId = workflowId;
   }
@@ -97,7 +95,7 @@ public class JobService extends BaseService {
   @Path("{jobId}/taskattempts")
   public TaskAttemptService getTaskAttemptHandler(
       @PathParam("jobId") String jobId) {
-    return new TaskAttemptService(m_apiVersion, clusterName, workflowId, jobId);
+    return new TaskAttemptService(clusterName, workflowId, jobId);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/KerberosDescriptorService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/KerberosDescriptorService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/KerberosDescriptorService.java
index 012c27a..5f20c4f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/KerberosDescriptorService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/KerberosDescriptorService.java
@@ -14,7 +14,6 @@ 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;
 
 /**
@@ -35,12 +34,9 @@ import org.apache.ambari.server.controller.spi.Resource;
  * limitations under the License.
  */
 
+@Path("/kerberos_descriptors/")
 public class KerberosDescriptorService extends BaseService {
 
-  public KerberosDescriptorService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Handles: GET  /kerberos_descriptors
    * Get all kerberos descriptors.

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/KeyService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/KeyService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/KeyService.java
index 1a2b523..9ddcc79 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/KeyService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/KeyService.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
 
 import com.google.inject.Inject;
 
+@Path("/keys/")
 public class KeyService {
   private static final Logger log = LoggerFactory.getLogger(KeyService.class);
   private static PersistKeyValueImpl persistKeyVal;

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/LdapSyncEventService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/LdapSyncEventService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/LdapSyncEventService.java
index 85da59a..61f5ba7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/LdapSyncEventService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/LdapSyncEventService.java
@@ -33,17 +33,13 @@ 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;
 
 /**
  * Service responsible for ldap sync event resource requests.
  */
+@Path("/ldap_sync_events/")
 public class LdapSyncEventService extends BaseService {
-  public LdapSyncEventService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Handles: GET /ldap_sync_events/{eventId}
    * Get a specific view.

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/LoggingService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/LoggingService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/LoggingService.java
index f2ddfdc..83853d2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/LoggingService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/LoggingService.java
@@ -36,7 +36,6 @@ import javax.ws.rs.core.UriInfo;
 
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.api.services.serializers.ResultSerializer;
-import org.apache.ambari.server.api.util.ApiVersion;
 import org.apache.ambari.server.controller.AmbariManagementController;
 import org.apache.ambari.server.controller.AmbariServer;
 import org.apache.ambari.server.controller.internal.ResourceImpl;
@@ -76,12 +75,11 @@ public class LoggingService extends BaseService {
 
   private final String clusterName;
 
-  public LoggingService(ApiVersion apiVersion, String clusterName) {
-    this(apiVersion, clusterName, new DefaultControllerFactory());
+  public LoggingService(String clusterName) {
+    this(clusterName, new DefaultControllerFactory());
   }
 
-  public LoggingService(ApiVersion apiVersion, String clusterName, ControllerFactory controllerFactory) {
-    super(apiVersion);
+  public LoggingService(String clusterName, ControllerFactory controllerFactory) {
     this.clusterName = clusterName;
     this.controllerFactory = controllerFactory;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java
index 4354b34..f2f5e0e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/LogoutService.java
@@ -19,6 +19,7 @@ package org.apache.ambari.server.api.services;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
+import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
@@ -36,6 +37,7 @@ import com.google.inject.Inject;
  * Service performing logout of current user
  */
 @StaticallyInject
+@Path("/logout")
 public class LogoutService {
 
   @Inject

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/MemberService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/MemberService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/MemberService.java
index e9246de..836aa9c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/MemberService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/MemberService.java
@@ -33,7 +33,6 @@ 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,8 +49,7 @@ public class MemberService extends BaseService {
    *
    * @param groupName name of the group
    */
-  public MemberService(ApiVersion apiVersion, String groupName) {
-    super(apiVersion);
+  public MemberService(String groupName) {
     this.groupName = groupName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/OperatingSystemService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/OperatingSystemService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/OperatingSystemService.java
index b72b4c2..3117054 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/OperatingSystemService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/OperatingSystemService.java
@@ -47,7 +47,6 @@ 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;
 
 /**
@@ -65,8 +64,7 @@ public class OperatingSystemService extends BaseService {
    *
    * @param parentKeyProperties extra properties to be inserted into created resource
    */
-  public OperatingSystemService(ApiVersion apiVersion, Map<Resource.Type, String> parentKeyProperties) {
-    super(apiVersion);
+  public OperatingSystemService(Map<Resource.Type, String> parentKeyProperties) {
     this.parentKeyProperties = parentKeyProperties;
   }
 
@@ -110,7 +108,7 @@ public class OperatingSystemService extends BaseService {
     final Map<Resource.Type, String> mapIds = new HashMap<>();
     mapIds.putAll(parentKeyProperties);
     mapIds.put(Resource.Type.OperatingSystem, osType);
-    return new RepositoryService(m_apiVersion, mapIds);
+    return new RepositoryService(mapIds);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/PermissionService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/PermissionService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/PermissionService.java
index c8f46a2..bb33884 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/PermissionService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/PermissionService.java
@@ -33,19 +33,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;
 
 
 /**
  * Service responsible for permission resource requests.
  */
+@Path("/permissions/")
 public class PermissionService extends BaseService {
 
-  public PermissionService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Handles: GET /permissions/{permissionID}
    * Get a specific permission.
@@ -147,7 +143,7 @@ public class PermissionService extends BaseService {
   @Path("{permissionId}/authorizations")
   public RoleAuthorizationService getRoleAuthorizations(
       @Context javax.ws.rs.core.Request request, @PathParam("permissionId") String permissionId) {
-    return new RoleAuthorizationService(m_apiVersion, permissionId);
+    return new RoleAuthorizationService(permissionId);
   }
 
   // ----- helper methods ----------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/PreUpgradeCheckService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/PreUpgradeCheckService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/PreUpgradeCheckService.java
index 3071c5f..b43fc93 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/PreUpgradeCheckService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/PreUpgradeCheckService.java
@@ -27,7 +27,6 @@ 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,8 +44,7 @@ public class PreUpgradeCheckService extends BaseService {
    *
    * @param clusterName cluster name
    */
-  public PreUpgradeCheckService(ApiVersion apiVersion, String clusterName) {
-    super(apiVersion);
+  public PreUpgradeCheckService(String clusterName) {
     this.clusterName = clusterName;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/PrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/PrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/PrivilegeService.java
index a2a970b..ab07bce 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/PrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/PrivilegeService.java
@@ -31,7 +31,6 @@ 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;
 
 
 /**
@@ -39,10 +38,6 @@ import org.apache.ambari.server.api.util.ApiVersion;
  */
 public abstract class PrivilegeService extends BaseService {
 
-  public PrivilegeService(ApiVersion apiVersion) {
-    super(apiVersion);
-  }
-
   /**
    * Handles: GET /privileges/{privilegeID}
    * Get a specific privilege.

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/ambari-server/src/main/java/org/apache/ambari/server/api/services/RecommendationService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RecommendationService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RecommendationService.java
index 4bb4b09..8c8fb7f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RecommendationService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RecommendationService.java
@@ -22,6 +22,8 @@ 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;
@@ -30,50 +32,32 @@ 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;
 
 /**
- * Service responsible for preparing recommendations for host-layout and configurations.
+ * Service responsible for preparing recommendations for host-layout and
+ * configurations.
  */
+@Path("/stacks/{stackName}/versions/{stackVersion}/recommendations")
 public class RecommendationService extends BaseService {
 
   /**
-   * Stack name.
-   */
-  private String m_stackName;
-
-  /**
-   * Stack version.
-   */
-  private String m_stackVersion;
-
-  /**
-   * Constructor.
-   *
-   * @param apiVersion API version
-   * @param stackName Stack name
-   * @param stackVersion Stack version
-   */
-  public RecommendationService(final ApiVersion apiVersion, String stackName, String stackVersion) {
-    super(apiVersion);
-    this.m_stackName = stackName;
-    this.m_stackVersion = stackVersion;
-  }
-
-  /**
    * 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
   @Produces(MediaType.TEXT_PLAIN)
-  public Response getRecommendation(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
+  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(m_stackName, m_stackVersion));
+        createRecommendationResource(stackName, stackVersion));
   }
 
   ResourceInstance createRecommendationResource(String stackName, String stackVersion) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/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 d6b26fd..799ae5f 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
@@ -33,19 +33,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;
 
 
 /**
  * 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/bf0bb2ea/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 882d9b3..c88ca14 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,7 +49,6 @@ 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;
 
 /**
@@ -67,8 +66,7 @@ public class RepositoryService extends BaseService {
    *
    * @param parentKeyProperties extra properties to be inserted into created resource
    */
-  public RepositoryService(ApiVersion apiVersion, Map<Resource.Type, String> parentKeyProperties) {
-    super(apiVersion);
+  public RepositoryService(Map<Resource.Type, String> parentKeyProperties) {
     this.parentKeyProperties = parentKeyProperties;
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/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 396f209..a3e707d 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,7 +33,6 @@ 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;
 
 /**
@@ -49,11 +48,9 @@ public class RepositoryVersionService extends BaseService {
   /**
    * Constructor.
    *
-   * @param apiVersion API version
    * @param parentKeyProperties extra properties to be inserted into created resource
    */
-  public RepositoryVersionService(ApiVersion apiVersion, Map<Resource.Type, String> parentKeyProperties) {
-    super(apiVersion);
+  public RepositoryVersionService(Map<Resource.Type, String> parentKeyProperties) {
     this.parentKeyProperties = parentKeyProperties;
   }
 
@@ -144,7 +141,7 @@ public class RepositoryVersionService extends BaseService {
     final Map<Resource.Type, String> mapIds = new HashMap<>();
     mapIds.putAll(parentKeyProperties);
     mapIds.put(Resource.Type.RepositoryVersion, repositoryVersionId);
-    return new OperatingSystemService(m_apiVersion, mapIds);
+    return new OperatingSystemService(mapIds);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0bb2ea/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 d418214..cfcc2d7 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
@@ -32,7 +32,6 @@ 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;
 
 /**
@@ -49,8 +48,7 @@ public class RequestScheduleService extends BaseService {
    * Constructor
    * @param m_clusterName
    */
-  public RequestScheduleService(ApiVersion apiVersion, String m_clusterName) {
-    super(apiVersion);
+  public RequestScheduleService(String m_clusterName) {
     this.m_clusterName = m_clusterName;
   }