AMBARI-3779 - During cluster install cannot go past Step0
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/handlers/QueryCreateHandler.java b/ambari-server/src/main/java/org/apache/ambari/server/api/handlers/QueryCreateHandler.java
index 8edaa07..040a1f1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/handlers/QueryCreateHandler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/handlers/QueryCreateHandler.java
@@ -63,7 +63,7 @@
// only get first element because we currently only support creation of a single sub-resource type
final Map.Entry<Resource.Type, Set<Map<String, Object>>> entry = mapProperties.entrySet().iterator().next();
ResourceInstance createResource = getResourceFactory().createResource(
- entry.getKey(), request.getResource().getIds());
+ entry.getKey(), request.getResource().getKeyValueMap());
RequestBody requestBody = new RequestBody();
requestBody.setBody(request.getBody().getBody());
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/query/QueryImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/api/query/QueryImpl.java
index 09923dd..89513fa 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/query/QueryImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/query/QueryImpl.java
@@ -62,9 +62,14 @@
private final Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
/**
- * Map of primary and foreign keys and values necessary to identify the resource.
+ * Map of primary and foreign key values.
*/
- private final Map<Resource.Type, String> resourceIds = new HashMap<Resource.Type, String>();
+ private final Map<Resource.Type, String> keyValueMap = new HashMap<Resource.Type, String>();
+
+ /**
+ * Set of maps of primary and foreign key values.
+ */
+ Set<Map<Resource.Type, String>> keyValueMaps = new HashSet<Map<Resource.Type, String>>();
/**
* Sub-resources of the resource which is being operated on.
@@ -109,16 +114,16 @@
/**
* Constructor
*
- * @param mapIds the map of ids
+ * @param keyValueMap the map of key values
* @param resourceDefinition the resource definition
* @param clusterController the cluster controller
*/
- public QueryImpl(Map<Resource.Type, String> mapIds,
+ public QueryImpl(Map<Resource.Type, String> keyValueMap,
ResourceDefinition resourceDefinition,
ClusterController clusterController) {
this.resourceDefinition = resourceDefinition;
this.clusterController = clusterController;
- setIds(mapIds);
+ setKeyValueMap(keyValueMap);
}
@@ -135,7 +140,7 @@
Resource.Type resourceType = getResourceDefinition().getType();
Schema schema = clusterController.getSchema(resourceType);
- for (Resource.Type type : getIds().keySet()) {
+ for (Resource.Type type : getKeyValueMap().keySet()) {
addLocalProperty(schema.getKeyPropertyId(type));
}
} else {
@@ -188,13 +193,13 @@
// ----- ResourceInstance --------------------------------------------------
@Override
- public void setIds(Map<Resource.Type, String> mapIds) {
- resourceIds.putAll(mapIds);
+ public void setKeyValueMap(Map<Resource.Type, String> keyValueMap) {
+ this.keyValueMap.putAll(keyValueMap);
}
@Override
- public Map<Resource.Type, String> getIds() {
- return new HashMap<Resource.Type, String>((resourceIds));
+ public Map<Resource.Type, String> getKeyValueMap() {
+ return new HashMap<Resource.Type, String>((keyValueMap));
}
@Override
@@ -209,7 +214,7 @@
@Override
public boolean isCollectionResource() {
- return getIds().get(getResourceDefinition().getType()) == null;
+ return getKeyValueMap().get(getResourceDefinition().getType()) == null;
}
@Override
@@ -235,7 +240,7 @@
!pageRequest.equals(query.pageRequest) :
query.pageRequest != null) && queryPropertySet.equals(query.queryPropertySet) &&
resourceDefinition.equals(query.resourceDefinition) &&
- resourceIds.equals(query.resourceIds) && !(userPredicate != null ?
+ keyValueMap.equals(query.keyValueMap) && !(userPredicate != null ?
!userPredicate.equals(query.userPredicate) :
query.userPredicate != null);
}
@@ -245,7 +250,7 @@
int result = resourceDefinition.hashCode();
result = 31 * result + clusterController.hashCode();
result = 31 * result + queryPropertySet.hashCode();
- result = 31 * result + resourceIds.hashCode();
+ result = 31 * result + keyValueMap.hashCode();
result = 31 * result + (userPredicate != null ? userPredicate.hashCode() : 0);
result = 31 * result + (pageRequest != null ? pageRequest.hashCode() : 0);
return result;
@@ -266,9 +271,9 @@
ClusterController controller = clusterController;
for (SubResourceDefinition subResDef : setSubResourceDefs) {
Resource.Type type = subResDef.getType();
- Map<Resource.Type, String> ids = getIds();
- QueryImpl resource = new QueryImpl(ids,
- ResourceInstanceFactoryImpl.getResourceDefinition(type, ids),
+ Map<Resource.Type, String> valueMap = getKeyValueMap();
+ QueryImpl resource = new QueryImpl(valueMap,
+ ResourceInstanceFactoryImpl.getResourceDefinition(type, valueMap),
controller);
// ensure pk is returned
@@ -304,6 +309,8 @@
for (Resource resource : doQuery(getPredicate())) {
providerResourceSet.add(resource);
}
+ keyValueMaps.add(getKeyValueMap());
+
queryForSubResources();
}
@@ -344,7 +351,7 @@
Resource.Type resourceType1 = getResourceDefinition().getType();
- if (getIds().get(resourceType1) == null) {
+ if (getKeyValueMap().get(resourceType1) == null) {
addCollectionProperties(resourceType1);
}
if (queryPropertySet.isEmpty() && querySubResourceSet.isEmpty()) {
@@ -375,13 +382,17 @@
for (Map.Entry<String, QueryImpl> entry : querySubResourceSet.entrySet()) {
QueryImpl subResourceInstance = entry.getValue();
String subResCategory = entry.getKey();
- Predicate predicate = predicateMap.get(subResCategory);
- setParentIdsOnSubResource(resource, subResourceInstance);
+ Set<Map<Resource.Type, String>> resourceKeyValueMaps = getKeyValueMaps(resource, keyValueMaps);
- predicateMap.put(subResCategory, predicate == null ?
- subResourceInstance.getPredicate() :
- new OrPredicate(predicate, subResourceInstance.getPredicate()));
+ for( Map<Resource.Type, String> map : resourceKeyValueMaps) {
+ Predicate predicate = predicateMap.get(subResCategory);
+
+ predicateMap.put(subResCategory, predicate == null ?
+ subResourceInstance.createPredicate(map) :
+ new OrPredicate(predicate, subResourceInstance.createPredicate(map)));
+ }
+ subResourceInstance.keyValueMaps.addAll(resourceKeyValueMaps);
}
}
return predicateMap;
@@ -395,7 +406,7 @@
Result result = new ResultImpl(true);
Resource.Type resourceType = getResourceDefinition().getType();
- if (getIds().get(resourceType) == null) {
+ if (getKeyValueMap().get(resourceType) == null) {
result.getResultTree().setProperty("isCollection", "true");
}
@@ -423,7 +434,7 @@
String subResCategory = entry.getKey();
QueryImpl subResource = entry.getValue();
- setParentIdsOnSubResource(resource, subResource);
+ subResource.setKeyValueMap(getKeyValueMap(resource, getKeyValueMap()));
TreeNode<Resource> childResult = subResource.getResult().getResultTree();
childResult.setName(subResCategory);
@@ -442,7 +453,7 @@
addProperty(PropertyHelper.getPropertyCategory(property),
PropertyHelper.getPropertyName(property), null);
- for (Resource.Type type : getIds().keySet()) {
+ for (Resource.Type type : getKeyValueMap().keySet()) {
// add fk's
String keyPropertyId = schema.getKeyPropertyId(type);
if (keyPropertyId != null) {
@@ -495,9 +506,8 @@
return resourceAdded;
}
- private Predicate createInternalPredicate() {
+ private Predicate createInternalPredicate(Map<Resource.Type, String> mapResourceIds) {
Resource.Type resourceType = getResourceDefinition().getType();
- Map<Resource.Type, String> mapResourceIds = getIds();
Schema schema = clusterController.getSchema(resourceType);
Set<Predicate> setPredicates = new HashSet<Predicate>();
@@ -520,8 +530,12 @@
}
private Predicate createPredicate() {
+ return createPredicate(getKeyValueMap());
+ }
+
+ private Predicate createPredicate(Map<Resource.Type, String> keyValueMap) {
Predicate predicate = null;
- Predicate internalPredicate = createInternalPredicate();
+ Predicate internalPredicate = createInternalPredicate(keyValueMap);
if (internalPredicate == null) {
if (userPredicate != null) {
predicate = userPredicate;
@@ -549,13 +563,27 @@
setProperties.add(group);
}
- return PropertyHelper.getReadRequest(allProperties ? Collections.<String>emptySet() : setProperties, mapTemporalInfo);
+ return PropertyHelper.getReadRequest(allProperties ?
+ Collections.<String>emptySet() : setProperties, mapTemporalInfo);
}
- private void setParentIdsOnSubResource(Resource resource, ResourceInstance r) {
- Map<Resource.Type, String> mapParentIds = getIds();
- Map<Resource.Type, String> mapResourceIds = new HashMap<Resource.Type, String>(mapParentIds.size());
- for (Map.Entry<Resource.Type, String> resourceIdEntry : mapParentIds.entrySet()) {
+ // Get a set of key value maps based on the given resource and an existing set of key value maps
+ private Set<Map<Resource.Type, String>> getKeyValueMaps(Resource resource,
+ Set<Map<Resource.Type, String>> keyValueMaps) {
+ Set<Map<Resource.Type, String>> resourceKeyValueMaps = new HashSet<Map<Resource.Type, String>>();
+
+ for(Map<Resource.Type, String> keyValueMap : keyValueMaps) {
+ Map<Resource.Type, String> resourceKeyValueMap = getKeyValueMap(resource, keyValueMap);
+ resourceKeyValueMaps.add(resourceKeyValueMap);
+ }
+ return resourceKeyValueMaps;
+ }
+
+ // Get a key value map based on the given resource and an existing key value map
+ private Map<Resource.Type, String> getKeyValueMap(Resource resource,
+ Map<Resource.Type, String> keyValueMap) {
+ Map<Resource.Type, String> resourceKeyValueMap = new HashMap<Resource.Type, String>(keyValueMap.size());
+ for (Map.Entry<Resource.Type, String> resourceIdEntry : keyValueMap.entrySet()) {
Resource.Type type = resourceIdEntry.getKey();
String value = resourceIdEntry.getValue();
@@ -564,13 +592,13 @@
value = o == null ? null : o.toString();
}
if (value != null) {
- mapResourceIds.put(type, value);
+ resourceKeyValueMap.put(type, value);
}
}
String resourceKeyProp = clusterController.getSchema(resource.getType()).
getKeyPropertyId(resource.getType());
- mapResourceIds.put(resource.getType(), resource.getPropertyValue(resourceKeyProp).toString());
- r.setIds(mapResourceIds);
+ resourceKeyValueMap.put(resource.getType(), resource.getPropertyValue(resourceKeyProp).toString());
+ return resourceKeyValueMap;
}
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstance.java b/ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstance.java
index a3a8e3a..2722679 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstance.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstance.java
@@ -31,16 +31,16 @@
/**
* Set the values of the parent foreign keys.
*
- * @param mapIds map of all parent foreign keys. Map from resource type to id value.
+ * @param keyValueMap map of all parent foreign keys. Map from resource type to id value.
*/
- public void setIds(Map<Resource.Type, String> mapIds);
+ public void setKeyValueMap(Map<Resource.Type, String> keyValueMap);
/**
* Obtain the primary and foreign key properties for the resource.
*
* @return map of primary and foreign key values keyed by resource type
*/
- public Map<Resource.Type, String> getIds();
+ public Map<Resource.Type, String> getKeyValueMap();
/**
* Return the query associated with the resource.
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/persistence/PersistenceManagerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/persistence/PersistenceManagerImpl.java
index 5f868a0..595ad00 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/persistence/PersistenceManagerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/persistence/PersistenceManagerImpl.java
@@ -54,7 +54,7 @@
ResourceAlreadyExistsException,
NoSuchParentResourceException {
- Map<Resource.Type, String> mapResourceIds = resource.getIds();
+ Map<Resource.Type, String> mapResourceIds = resource.getKeyValueMap();
Resource.Type type = resource.getResourceDefinition().getType();
Schema schema = m_controller.getSchema(type);
@@ -82,7 +82,7 @@
// Allow for multiple property sets in an update request body...
Set<NamedPropertySet> setProperties = requestBody.getNamedPropertySets();
if (setProperties.size() > 1) {
- Map<Resource.Type, String> mapResourceIds = resource.getIds();
+ Map<Resource.Type, String> mapResourceIds = resource.getKeyValueMap();
Resource.Type type = resource.getResourceDefinition().getType();
Schema schema = m_controller.getSchema(type);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 890cb81..257c189 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -1093,18 +1093,17 @@
/**
* Find configuration tags with applied overrides
*
- * @param cluster
- * @param hostName
- * @return
- * @throws AmbariException
+ * @param cluster the cluster
+ * @param hostName the host name
+ *
+ * @return the configuration tags
+ *
+ * @throws AmbariException if configuration tags can not be obtained
*/
protected Map<String, Map<String,String>> findConfigurationTagsWithOverrides(
Cluster cluster, String hostName) throws AmbariException {
- Map<String, Map<String,String>> configTags =
- configHelper.getEffectiveDesiredTags(cluster, hostName);
-
- return configTags;
+ return configHelper.getEffectiveDesiredTags(cluster, hostName);
}
private List<Stage> doStageCreation(Cluster cluster,
@@ -1157,15 +1156,6 @@
Stage stage = createNewStage(cluster, requestId, requestContext, clusterHostInfoJson);
stage.setStageId(stageId);
- Set<String> hostnames = new HashSet<String>();
- for (Map<State, List<ServiceComponentHost>> stateListMap : changedScHosts.values()) {
- for (List<ServiceComponentHost> serviceComponentHosts : stateListMap.values()) {
- for (ServiceComponentHost serviceComponentHost : serviceComponentHosts) {
- hostnames.add(serviceComponentHost.getHostName());
- }
- }
- }
-
//HACK
String jobtrackerHost = getJobTrackerHost(cluster);
for (String compName : changedScHosts.keySet()) {
@@ -1480,11 +1470,8 @@
Map<String, Map<String, Map<String, Set<String>>>> hostComponentNames =
new HashMap<String, Map<String, Map<String, Set<String>>>>();
Set<State> seenNewStates = new HashSet<State>();
- int numberOfRequestsProcessed = 0;
- StackId fromStackVersion = new StackId();
Map<ServiceComponentHost, State> directTransitionScHosts = new HashMap<ServiceComponentHost, State>();
for (ServiceComponentHostRequest request : requests) {
- numberOfRequestsProcessed++;
validateServiceComponentHostRequest(request);
Cluster cluster = clusters.getCluster(request.getClusterName());
@@ -1726,83 +1713,6 @@
return false;
}
- private boolean checkIfUpgradeRequestAndValidate(ServiceComponentHostRequest request, Cluster cluster, Service s,
- ServiceComponent sc, ServiceComponentHost sch)
- throws AmbariException {
- boolean isUpgradeRequest = false;
- String requestedStackIdString = request.getDesiredStackId();
- StackId requestedStackId;
-
- if (requestedStackIdString == null) {
- return isUpgradeRequest;
- }
-
- try {
- requestedStackId = new StackId(request.getDesiredStackId());
- } catch (RuntimeException re) {
- throw getHostComponentUpgradeException(request, cluster, s, sc, sch,
- "Invalid desired stack id");
- }
-
- StackId clusterStackId = cluster.getCurrentStackVersion();
- StackId currentSchStackId = sch.getStackVersion();
- if (clusterStackId == null || clusterStackId.getStackName().equals("")) {
- // cluster has not been upgraded yet
- if (requestedStackId.compareTo(currentSchStackId) != 0) {
- throw getHostComponentUpgradeException(request, cluster, s, sc, sch,
- "Cluster has not been upgraded yet, component host cannot be upgraded");
- }
- } else {
- // cluster is upgraded and sch can be independently upgraded
- if (clusterStackId.getStackName().compareTo(requestedStackId.getStackName()) != 0) {
- throw getHostComponentUpgradeException(request, cluster, s, sc, sch,
- "Deployed stack name and requested stack names do not match");
- }
- if (clusterStackId.compareTo(requestedStackId) != 0) {
- throw getHostComponentUpgradeException(request, cluster, s, sc, sch,
- "Component host can only be upgraded to the same version as the cluster");
- } else if (requestedStackId.compareTo(currentSchStackId) > 0) {
- isUpgradeRequest = true;
- if (sch.getState() != State.INSTALLED && sch.getState() != State.UPGRADING) {
- throw getHostComponentUpgradeException(request, cluster, s, sc, sch,
- "Component host is in an invalid state for upgrade");
- }
-
- if (request.getDesiredState() == null
- || !request.getDesiredState().equals(State.INSTALLED.toString())) {
- throw getHostComponentUpgradeException(request, cluster, s, sc, sch,
- "The desired state for an upgrade request must be " + State.INSTALLED);
- }
- LOG.info("Received upgrade request to " + requestedStackId + " for "
- + "component " + sch.getServiceComponentName()
- + " on " + sch.getHostName());
- } else {
- LOG.info("Stack id " + requestedStackId + " provided in the request matches"
- + " the current stack id of the "
- + "component " + sch.getServiceComponentName()
- + " on " + sch.getHostName() + ". It will not be upgraded.");
- }
- }
-
- return isUpgradeRequest;
- }
-
- private AmbariException getHostComponentUpgradeException(
- ServiceComponentHostRequest request, Cluster cluster,
- Service s, ServiceComponent sc, ServiceComponentHost sch,
- String message) throws AmbariException {
- return new AmbariException(message
- + ", clusterName=" + cluster.getClusterName()
- + ", clusterId=" + cluster.getClusterId()
- + ", serviceName=" + s.getName()
- + ", componentName=" + sc.getName()
- + ", hostname=" + sch.getHostName()
- + ", requestedStackId=" + request.getDesiredStackId()
- + ", requestedState=" + request.getDesiredState()
- + ", clusterStackId=" + cluster.getCurrentStackVersion()
- + ", hostComponentCurrentStackId=" + sch.getStackVersion());
- }
-
@Override
public synchronized void updateUsers(Set<UserRequest> requests) throws AmbariException {
for (UserRequest request : requests) {
@@ -1985,7 +1895,8 @@
Set<TaskStatusResponse> responses = new HashSet<TaskStatusResponse>();
for (HostRoleCommand command : actionManager.getTasksByRequestAndTaskIds(requestIds, taskIds)) {
- responses.add(new TaskStatusResponse(command));
+ TaskStatusResponse taskStatusResponse = new TaskStatusResponse(command);
+ responses.add(taskStatusResponse);
}
if (responses.size() == 0) {
@@ -2285,7 +2196,16 @@
Set<RepositoryResponse> response = new HashSet<RepositoryResponse>();
for (RepositoryRequest request : requests) {
try {
- response.addAll(getRepositories(request));
+ String stackName = request.getStackName();
+ String stackVersion = request.getStackVersion();
+
+ Set<RepositoryResponse> repositories = getRepositories(request);
+
+ for (RepositoryResponse repositoryResponse : repositories) {
+ repositoryResponse.setStackName(stackName);
+ repositoryResponse.setStackVersion(stackVersion);
+ }
+ response.addAll(repositories);
} catch (StackAccessException e) {
if (requests.size() == 1) {
// only throw exception if 1 request.
@@ -2387,8 +2307,13 @@
Set<StackVersionRequest> requests) throws AmbariException {
Set<StackVersionResponse> response = new HashSet<StackVersionResponse>();
for (StackVersionRequest request : requests) {
+ String stackName = request.getStackName();
try {
- response.addAll(getStackVersions(request));
+ Set<StackVersionResponse> stackVersions = getStackVersions(request);
+ for (StackVersionResponse stackVersionResponse : stackVersions) {
+ stackVersionResponse.setStackName(stackName);
+ }
+ response.addAll(stackVersions);
} catch (StackAccessException e) {
if (requests.size() == 1) {
// only throw exception if 1 request.
@@ -2429,8 +2354,18 @@
Set<StackServiceResponse> response = new HashSet<StackServiceResponse>();
for (StackServiceRequest request : requests) {
+ String stackName = request.getStackName();
+ String stackVersion = request.getStackVersion();
+
try {
- response.addAll(getStackServices(request));
+ Set<StackServiceResponse> stackServices = getStackServices(request);
+
+ for (StackServiceResponse stackServiceResponse : stackServices) {
+ stackServiceResponse.setStackName(stackName);
+ stackServiceResponse.setStackVersion(stackVersion);
+ }
+
+ response.addAll(stackServices);
} catch (StackAccessException e) {
if (requests.size() == 1) {
// only throw exception if 1 request.
@@ -2468,7 +2403,20 @@
Set<StackConfigurationRequest> requests) throws AmbariException {
Set<StackConfigurationResponse> response = new HashSet<StackConfigurationResponse>();
for (StackConfigurationRequest request : requests) {
- response.addAll(getStackConfigurations(request));
+
+ String stackName = request.getStackName();
+ String stackVersion = request.getStackVersion();
+ String serviceName = request.getServiceName();
+
+ Set<StackConfigurationResponse> stackConfigurations = getStackConfigurations(request);
+
+ for (StackConfigurationResponse stackConfigurationResponse : stackConfigurations) {
+ stackConfigurationResponse.setStackName(stackName);
+ stackConfigurationResponse.setStackVersion(stackVersion);
+ stackConfigurationResponse.setServiceName(serviceName);
+ }
+
+ response.addAll(stackConfigurations);
}
return response;
@@ -2505,8 +2453,20 @@
Set<StackServiceComponentRequest> requests) throws AmbariException {
Set<StackServiceComponentResponse> response = new HashSet<StackServiceComponentResponse>();
for (StackServiceComponentRequest request : requests) {
+ String stackName = request.getStackName();
+ String stackVersion = request.getStackVersion();
+ String serviceName = request.getServiceName();
+
try {
- response.addAll(getStackComponents(request));
+ Set<StackServiceComponentResponse> stackComponents = getStackComponents(request);
+
+ for (StackServiceComponentResponse stackServiceComponentResponse : stackComponents) {
+ stackServiceComponentResponse.setStackName(stackName);
+ stackServiceComponentResponse.setStackVersion(stackVersion);
+ stackServiceComponentResponse.setServiceName(serviceName);
+ }
+
+ response.addAll(stackComponents);
} catch (StackAccessException e) {
if (requests.size() == 1) {
// only throw exception if 1 request.
@@ -2523,12 +2483,11 @@
StackServiceComponentRequest request) throws AmbariException {
Set<StackServiceComponentResponse> response;
- String stackName = request.getStackName();
- String stackVersion = request.getStackVersion();
- String serviceName = request.getServiceName();
+ String stackName = request.getStackName();
+ String stackVersion = request.getStackVersion();
+ String serviceName = request.getServiceName();
String componentName = request.getComponentName();
-
if (componentName != null) {
ComponentInfo component = this.ambariMetaInfo.getComponent(stackName, stackVersion, serviceName, componentName);
response = Collections.singleton(component.convertToResponse());
@@ -2550,7 +2509,16 @@
Set<OperatingSystemResponse> response = new HashSet<OperatingSystemResponse>();
for (OperatingSystemRequest request : requests) {
try {
- response.addAll(getStackOperatingSystems(request));
+ String stackName = request.getStackName();
+ String stackVersion = request.getStackVersion();
+
+ Set<OperatingSystemResponse> stackOperatingSystems = getStackOperatingSystems(request);
+
+ for (OperatingSystemResponse operatingSystemResponse : stackOperatingSystems) {
+ operatingSystemResponse.setStackName(stackName);
+ operatingSystemResponse.setStackVersion(stackVersion);
+ }
+ response.addAll(stackOperatingSystems);
} catch (StackAccessException e) {
if (requests.size() == 1) {
// only throw exception if 1 request.
@@ -2617,8 +2585,15 @@
Set<RootServiceComponentRequest> requests) throws AmbariException {
Set<RootServiceComponentResponse> response = new HashSet<RootServiceComponentResponse>();
for (RootServiceComponentRequest request : requests) {
+ String serviceName = request.getServiceName();
try {
- response.addAll(getRootServiceComponents(request));
+ Set<RootServiceComponentResponse> rootServiceComponents = getRootServiceComponents(request);
+
+ for (RootServiceComponentResponse serviceComponentResponse : rootServiceComponents) {
+ serviceComponentResponse.setServiceName(serviceName);
+ }
+
+ response.addAll(rootServiceComponents);
} catch (AmbariException e) {
if (requests.size() == 1) {
// only throw exception if 1 request.
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/OperatingSystemResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/OperatingSystemResponse.java
index 21fa983..0ff2832 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/OperatingSystemResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/OperatingSystemResponse.java
@@ -20,13 +20,30 @@
package org.apache.ambari.server.controller;
public class OperatingSystemResponse {
-
+ private String stackName;
+ private String stackVersion;
private String osType;
public OperatingSystemResponse(String osType) {
setOsType(osType);
}
+ public String getStackName() {
+ return stackName;
+ }
+
+ public void setStackName(String stackName) {
+ this.stackName = stackName;
+ }
+
+ public String getStackVersion() {
+ return stackVersion;
+ }
+
+ public void setStackVersion(String stackVersion) {
+ this.stackVersion = stackVersion;
+ }
+
public String getOsType() {
return osType;
}
@@ -34,5 +51,4 @@
public void setOsType(String osType) {
this.osType = osType;
}
-
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
index 3f53400..bc3ee39 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
@@ -19,7 +19,9 @@
package org.apache.ambari.server.controller;
public class RepositoryResponse {
-
+
+ private String stackName;
+ private String stackVersion;
private String baseUrl;
private String osType;
private String repoId;
@@ -38,6 +40,21 @@
setDefaultBaseUrl(defaultBaseUrl);
}
+ public String getStackName() {
+ return stackName;
+ }
+
+ public void setStackName(String stackName) {
+ this.stackName = stackName;
+ }
+
+ public String getStackVersion() {
+ return stackVersion;
+ }
+
+ public void setStackVersion(String stackVersion) {
+ this.stackVersion = stackVersion;
+ }
public String getBaseUrl() {
return baseUrl;
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceComponentResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceComponentResponse.java
index cb4415c..4845c78 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceComponentResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceComponentResponse.java
@@ -23,6 +23,7 @@
public class RootServiceComponentResponse {
+ private String serviceName;
private String componentName;
private Map<String, String> properties;
private String componentVersion;
@@ -34,6 +35,14 @@
}
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
public String getComponentName() {
return componentName;
}
@@ -61,28 +70,15 @@
RootServiceComponentResponse that = (RootServiceComponentResponse) o;
- if (componentName != null ?
- !componentName.equals(that.componentName) : that.componentName != null) {
- return false;
- }
-
- if (componentVersion != null ?
- !componentVersion.equals(that.componentVersion) : that.componentVersion != null) {
- return false;
- }
-
- if (properties != null ?
- !properties.equals(that.properties) : that.properties != null) {
- return false;
- }
-
- return true;
+ return !(componentName != null ? !componentName.equals(that.componentName) : that.componentName != null) &&
+ !(componentVersion != null ? !componentVersion.equals(that.componentVersion) : that.componentVersion != null) &&
+ !(properties != null ? !properties.equals(that.properties) : that.properties != null);
+
}
@Override
public int hashCode() {
- int result = 1;
- result = 31 + (componentName != null ? componentName.hashCode() : 0);
+ int result = 31 + (componentName != null ? componentName.hashCode() : 0);
result += (componentVersion != null ? componentVersion.hashCode() : 0);
return result;
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceHostComponentResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceHostComponentResponse.java
index 9565afd..6cbc30c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceHostComponentResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RootServiceHostComponentResponse.java
@@ -22,6 +22,7 @@
public class RootServiceHostComponentResponse {
+ private String serviceName;
private String hostName;
private String componentName;
private String componentState;
@@ -39,6 +40,14 @@
this.properties = properties;
}
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
public String getHostName() {
return hostName;
}
@@ -66,38 +75,17 @@
RootServiceHostComponentResponse that = (RootServiceHostComponentResponse) o;
- if (hostName != null ?
- !hostName.equals(that.hostName) : that.hostName != null) {
- return false;
- }
-
- if (componentName != null ?
- !componentName.equals(that.componentName) : that.componentName != null) {
- return false;
- }
-
- if (componentState != null ?
- !componentState.equals(that.componentState) : that.componentState != null) {
- return false;
- }
-
- if (componentVersion != null ?
- !componentVersion.equals(that.componentVersion) : that.componentVersion != null) {
- return false;
- }
-
- if (properties != null ?
- !properties.equals(that.properties) : that.properties != null) {
- return false;
- }
-
- return true;
+ return !(hostName != null ? !hostName.equals(that.hostName) : that.hostName != null) &&
+ !(componentName != null ? !componentName.equals(that.componentName) : that.componentName != null) &&
+ !(componentState != null ? !componentState.equals(that.componentState) : that.componentState != null) &&
+ !(componentVersion != null ? !componentVersion.equals(that.componentVersion) : that.componentVersion != null) &&
+ !(properties != null ? !properties.equals(that.properties) : that.properties != null);
+
}
@Override
public int hashCode() {
- int result = 1;
- result = 31 + (hostName != null ? hostName.hashCode() : 0);
+ int result = 31 + (hostName != null ? hostName.hashCode() : 0);
result = result + (componentName != null ? componentName.hashCode() : 0);
result = result + (componentState != null ? componentState.hashCode() : 0);
result = result + (componentVersion != null ? componentVersion.hashCode() : 0);
@@ -108,15 +96,7 @@
return componentState;
}
- public void setComponentState(String componentState) {
- this.componentState = componentState;
- }
-
public String getComponentVersion() {
return componentVersion;
}
-
- public void setComponentVersion(String componentVersion) {
- this.componentVersion = componentVersion;
- }
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java
index ad74b8d..e5cbdf7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java
@@ -28,12 +28,38 @@
setPropertyDescription(propertyDescription);
setType(type);
}
-
+
+ private String stackName;
+ private String stackVersion;
+ private String serviceName;
private String propertyName;
private String propertyValue;
private String propertyDescription;
private String type;
+ public String getStackName() {
+ return stackName;
+ }
+
+ public void setStackName(String stackName) {
+ this.stackName = stackName;
+ }
+
+ public String getStackVersion() {
+ return stackVersion;
+ }
+
+ public void setStackVersion(String stackVersion) {
+ this.stackVersion = stackVersion;
+ }
+
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
public String getPropertyName() {
return propertyName;
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
index 3defb2c..51871a4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
@@ -20,6 +20,10 @@
public class StackServiceComponentResponse {
+ private String stackName;
+ private String stackVersion;
+ private String serviceName;
+
private String componentName;
private String componentCategory;
@@ -36,6 +40,30 @@
setMaster(isMaster);
}
+ public String getStackName() {
+ return stackName;
+ }
+
+ public void setStackName(String stackName) {
+ this.stackName = stackName;
+ }
+
+ public String getStackVersion() {
+ return stackVersion;
+ }
+
+ public void setStackVersion(String stackVersion) {
+ this.stackVersion = stackVersion;
+ }
+
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
public String getComponentName() {
return componentName;
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
index 4aa3f49..3c90c4b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
@@ -22,6 +22,8 @@
public class StackServiceResponse {
+ private String stackName;
+ private String stackVersion;
private String serviceName;
private String userName;
@@ -41,6 +43,22 @@
configTypes = types;
}
+ public String getStackName() {
+ return stackName;
+ }
+
+ public void setStackName(String stackName) {
+ this.stackName = stackName;
+ }
+
+ public String getStackVersion() {
+ return stackVersion;
+ }
+
+ public void setStackVersion(String stackVersion) {
+ this.stackVersion = stackVersion;
+ }
+
public String getServiceName() {
return serviceName;
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java
index ad5de71..84105fc 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackVersionResponse.java
@@ -18,16 +18,13 @@
package org.apache.ambari.server.controller;
-import java.util.List;
-
-import org.apache.ambari.server.state.RepositoryInfo;
public class StackVersionResponse {
+ private String stackName;
private String stackVersion;
private String minUpgradeVersion;
private boolean active;
- private List<RepositoryInfo> repositories;
private String parentVersion;
public StackVersionResponse(String stackVersion, String minUpgradeVersion,
@@ -38,6 +35,14 @@
setParentVersion(parentVersion);
}
+ public String getStackName() {
+ return stackName;
+ }
+
+ public void setStackName(String stackName) {
+ this.stackName = stackName;
+ }
+
public String getStackVersion() {
return stackVersion;
}
@@ -46,14 +51,6 @@
this.stackVersion = stackVersion;
}
- public List<RepositoryInfo> getRepositories() {
- return repositories;
- }
-
- public void setRepositories(List<RepositoryInfo> repositories) {
- this.repositories = repositories;
- }
-
public String getMinUpgradeVersion() {
return minUpgradeVersion;
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
index 210a9a4..3d55871 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
@@ -38,7 +38,6 @@
import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
/**
@@ -101,14 +100,21 @@
public Set<Resource> getResources(Request request, Predicate predicate)
throws SystemException, UnsupportedPropertyException, NoSuchResourceException, NoSuchParentResourceException {
- final ClusterRequest clusterRequest = getRequest(PredicateHelper.getProperties(predicate));
+ final Set<ClusterRequest> requests = new HashSet<ClusterRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
- // TODO : handle multiple requests
Set<ClusterResponse> responses = getResources(new Command<Set<ClusterResponse>>() {
@Override
public Set<ClusterResponse> invoke() throws AmbariException {
- return getManagementController().getClusters(Collections.singleton(clusterRequest));
+ return getManagementController().getClusters(requests);
}
});
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java
index b5528cd..cc1998f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java
@@ -36,7 +36,6 @@
import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class OperatingSystemResourceProvider extends ReadOnlyResourceProvider {
@@ -64,15 +63,23 @@
public Set<Resource> getResources(Request request, Predicate predicate)
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final OperatingSystemRequest operatingSystemRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+
+ final Set<OperatingSystemRequest> requests = new HashSet<OperatingSystemRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<OperatingSystemResponse> responses = getResources(new Command<Set<OperatingSystemResponse>>() {
@Override
public Set<OperatingSystemResponse> invoke() throws AmbariException {
- return getManagementController().getStackOperatingSystems(
- Collections.singleton(operatingSystemRequest));
+ return getManagementController().getStackOperatingSystems(requests);
}
});
@@ -82,10 +89,10 @@
Resource resource = new ResourceImpl(Resource.Type.OperatingSystem);
setResourceProperty(resource, STACK_NAME_PROPERTY_ID,
- operatingSystemRequest.getStackName(), requestedIds);
+ response.getStackName(), requestedIds);
setResourceProperty(resource, STACK_VERSION_PROPERTY_ID,
- operatingSystemRequest.getStackVersion(), requestedIds);
+ response.getStackVersion(), requestedIds);
setResourceProperty(resource, OS_TYPE_PROPERTY_ID,
response.getOsType(), requestedIds);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
index 99139a4..878e7ef 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
@@ -40,7 +40,6 @@
import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class RepositoryResourceProvider extends AbstractControllerResourceProvider {
@@ -117,15 +116,21 @@
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final RepositoryRequest repositoryRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+ final Set<RepositoryRequest> requests = new HashSet<RepositoryRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<RepositoryResponse> responses = getResources(new Command<Set<RepositoryResponse>>() {
@Override
public Set<RepositoryResponse> invoke() throws AmbariException {
- return getManagementController().getRepositories(
- Collections.singleton(repositoryRequest));
+ return getManagementController().getRepositories(requests);
}
});
@@ -135,10 +140,10 @@
Resource resource = new ResourceImpl(Resource.Type.Repository);
setResourceProperty(resource, STACK_NAME_PROPERTY_ID,
- repositoryRequest.getStackName(), requestedIds);
+ response.getStackName(), requestedIds);
setResourceProperty(resource, STACK_VERSION_PROPERTY_ID,
- repositoryRequest.getStackVersion(), requestedIds);
+ response.getStackVersion(), requestedIds);
setResourceProperty(resource, REPOSITORY_NAME_PROPERTY_ID,
response.getRepoName(), requestedIds);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
index 947edbe..4c5320f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
@@ -36,7 +36,6 @@
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.spi.Resource.Type;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class RootServiceComponentResourceProvider extends
@@ -68,15 +67,22 @@
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final RootServiceComponentRequest rootServiceComponentRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+ final Set<RootServiceComponentRequest> requests = new HashSet<RootServiceComponentRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<RootServiceComponentResponse> responses = getResources(new Command<Set<RootServiceComponentResponse>>() {
@Override
public Set<RootServiceComponentResponse> invoke() throws AmbariException {
- return getManagementController().getRootServiceComponents(
- Collections.singleton(rootServiceComponentRequest));
+ return getManagementController().getRootServiceComponents(requests);
}
});
@@ -86,7 +92,7 @@
Resource resource = new ResourceImpl(Resource.Type.RootServiceComponent);
setResourceProperty(resource, SERVICE_NAME_PROPERTY_ID,
- rootServiceComponentRequest.getServiceName(), requestedIds);
+ response.getServiceName(), requestedIds);
setResourceProperty(resource, COMPONENT_NAME_PROPERTY_ID,
response.getComponentName(), requestedIds);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java
index 5d5691f..51aaeec 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java
@@ -38,7 +38,6 @@
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.spi.Resource.Type;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class RootServiceHostComponentResourceProvider extends
@@ -74,14 +73,22 @@
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final RootServiceHostComponentRequest rootServiceComponentRequest = getRequest(PredicateHelper.getProperties(predicate));
+ final Set<RootServiceHostComponentRequest> requests = new HashSet<RootServiceHostComponentRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<RootServiceHostComponentResponse> responses = getResources(new Command<Set<RootServiceHostComponentResponse>>() {
@Override
public Set<RootServiceHostComponentResponse> invoke() throws AmbariException {
- return getRootServiceHostComponents(
- Collections.singleton(rootServiceComponentRequest));
+ return getRootServiceHostComponents(requests);
}
});
@@ -91,7 +98,7 @@
Resource resource = new ResourceImpl(Resource.Type.RootServiceHostComponent);
setResourceProperty(resource, SERVICE_NAME_PROPERTY_ID,
- rootServiceComponentRequest.getServiceName(), requestedIds);
+ response.getServiceName(), requestedIds);
setResourceProperty(resource, HOST_NAME_PROPERTY_ID,
response.getHostName(), requestedIds);
@@ -130,8 +137,14 @@
Set<RootServiceHostComponentRequest> requests) throws AmbariException {
Set<RootServiceHostComponentResponse> response = new HashSet<RootServiceHostComponentResponse>();
for (RootServiceHostComponentRequest request : requests) {
+ String serviceName = request.getServiceName();
try {
- response.addAll(getRootServiceHostComponents(request));
+ Set<RootServiceHostComponentResponse> rootServiceHostComponents = getRootServiceHostComponents(request);
+ for (RootServiceHostComponentResponse rootServiceHostComponentResponse : rootServiceHostComponents ) {
+ rootServiceHostComponentResponse.setServiceName(serviceName);
+ }
+
+ response.addAll(rootServiceHostComponents);
} catch (AmbariException e) {
if (requests.size() == 1) {
// only throw exception if 1 request.
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java
index 1dfde5a..43d0a85 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java
@@ -36,7 +36,6 @@
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.spi.Resource.Type;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class RootServiceResourceProvider extends ReadOnlyResourceProvider {
@@ -58,15 +57,22 @@
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final RootServiceRequest ambariServiceRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+ final Set<RootServiceRequest> requests = new HashSet<RootServiceRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<RootServiceResponse> responses = getResources(new Command<Set<RootServiceResponse>>() {
@Override
public Set<RootServiceResponse> invoke() throws AmbariException {
- return getManagementController().getRootServices(
- Collections.singleton(ambariServiceRequest));
+ return getManagementController().getRootServices(requests);
}
});
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
index 8979829..7ce98af 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
@@ -37,7 +37,6 @@
import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class StackConfigurationResourceProvider extends
@@ -80,15 +79,23 @@
public Set<Resource> getResources(Request request, Predicate predicate)
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final StackConfigurationRequest stackConfigurationRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+
+ final Set<StackConfigurationRequest> requests = new HashSet<StackConfigurationRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<StackConfigurationResponse> responses = getResources(new Command<Set<StackConfigurationResponse>>() {
@Override
public Set<StackConfigurationResponse> invoke() throws AmbariException {
- return getManagementController().getStackConfigurations(
- Collections.singleton(stackConfigurationRequest));
+ return getManagementController().getStackConfigurations(requests);
}
});
@@ -98,13 +105,13 @@
Resource resource = new ResourceImpl(Resource.Type.StackConfiguration);
setResourceProperty(resource, STACK_NAME_PROPERTY_ID,
- stackConfigurationRequest.getStackName(), requestedIds);
+ response.getStackName(), requestedIds);
setResourceProperty(resource, STACK_VERSION_PROPERTY_ID,
- stackConfigurationRequest.getStackVersion(), requestedIds);
+ response.getStackVersion(), requestedIds);
setResourceProperty(resource, SERVICE_NAME_PROPERTY_ID,
- stackConfigurationRequest.getServiceName(), requestedIds);
+ response.getServiceName(), requestedIds);
setResourceProperty(resource, PROPERTY_NAME_PROPERTY_ID,
response.getPropertyName(), requestedIds);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java
index face32b..9321acf 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java
@@ -27,7 +27,6 @@
import org.apache.ambari.server.controller.StackResponse;
import org.apache.ambari.server.controller.spi.*;
import org.apache.ambari.server.controller.spi.Resource.Type;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class StackResourceProvider extends ReadOnlyResourceProvider {
@@ -50,15 +49,18 @@
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final StackRequest stackRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+ final Set<StackRequest> requests = new HashSet<StackRequest>();
+
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<StackResponse> responses = getResources(new Command<Set<StackResponse>>() {
@Override
public Set<StackResponse> invoke() throws AmbariException {
- return getManagementController().getStacks(
- Collections.singleton(stackRequest));
+ return getManagementController().getStacks(requests);
}
});
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
index 61e8c3d..fe570fe 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
@@ -36,7 +36,6 @@
import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class StackServiceComponentResourceProvider extends
@@ -73,15 +72,22 @@
public Set<Resource> getResources(Request request, Predicate predicate)
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final StackServiceComponentRequest stackRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+ final Set<StackServiceComponentRequest> requests = new HashSet<StackServiceComponentRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<StackServiceComponentResponse> responses = getResources(new Command<Set<StackServiceComponentResponse>>() {
@Override
public Set<StackServiceComponentResponse> invoke() throws AmbariException {
- return getManagementController().getStackComponents(
- Collections.singleton(stackRequest));
+ return getManagementController().getStackComponents(requests);
}
});
@@ -91,13 +97,13 @@
Resource resource = new ResourceImpl(Resource.Type.StackServiceComponent);
setResourceProperty(resource, STACK_NAME_PROPERTY_ID,
- stackRequest.getStackName(), requestedIds);
+ response.getStackName(), requestedIds);
setResourceProperty(resource, STACK_VERSION_PROPERTY_ID,
- stackRequest.getStackVersion(), requestedIds);
+ response.getStackVersion(), requestedIds);
setResourceProperty(resource, SERVICE_NAME_PROPERTY_ID,
- stackRequest.getServiceName(), requestedIds);
+ response.getServiceName(), requestedIds);
setResourceProperty(resource, COMPONENT_NAME_PROPERTY_ID,
response.getComponentName(), requestedIds);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
index 3265782..21546e4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
@@ -37,7 +37,6 @@
import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class StackServiceResourceProvider extends ReadOnlyResourceProvider {
@@ -78,15 +77,22 @@
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final StackServiceRequest stackServiceRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+ final Set<StackServiceRequest> requests = new HashSet<StackServiceRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<StackServiceResponse> responses = getResources(new Command<Set<StackServiceResponse>>() {
@Override
public Set<StackServiceResponse> invoke() throws AmbariException {
- return getManagementController().getStackServices(
- Collections.singleton(stackServiceRequest));
+ return getManagementController().getStackServices(requests);
}
});
@@ -96,10 +102,10 @@
Resource resource = new ResourceImpl(Resource.Type.StackService);
setResourceProperty(resource, STACK_NAME_PROPERTY_ID,
- stackServiceRequest.getStackName(), requestedIds);
+ response.getStackName(), requestedIds);
setResourceProperty(resource, STACK_VERSION_PROPERTY_ID,
- stackServiceRequest.getStackVersion(), requestedIds);
+ response.getStackVersion(), requestedIds);
setResourceProperty(resource, SERVICE_NAME_PROPERTY_ID,
response.getServiceName(), requestedIds);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
index a3babb6..9cef695 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
@@ -37,7 +37,6 @@
import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
public class StackVersionResourceProvider extends ReadOnlyResourceProvider {
@@ -72,15 +71,22 @@
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final StackVersionRequest stackVersionRequest = getRequest(PredicateHelper
- .getProperties(predicate));
+ final Set<StackVersionRequest> requests = new HashSet<StackVersionRequest>();
+
+ if (predicate == null) {
+ requests.add(getRequest(Collections.<String, Object>emptyMap()));
+ } else {
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ requests.add(getRequest(propertyMap));
+ }
+ }
+
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
Set<StackVersionResponse> responses = getResources(new Command<Set<StackVersionResponse>>() {
@Override
public Set<StackVersionResponse> invoke() throws AmbariException {
- return getManagementController().getStackVersions(
- Collections.singleton(stackVersionRequest));
+ return getManagementController().getStackVersions(requests);
}
});
@@ -90,7 +96,7 @@
Resource resource = new ResourceImpl(Resource.Type.StackVersion);
setResourceProperty(resource, STACK_NAME_PROPERTY_ID,
- stackVersionRequest.getStackName(), requestedIds);
+ response.getStackName(), requestedIds);
setResourceProperty(resource, STACK_VERSION_PROPERTY_ID,
response.getStackVersion(), requestedIds);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java
index 03dcf12..b9e3cd2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java
@@ -29,11 +29,10 @@
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.utilities.PredicateHelper;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import java.util.Arrays;
-import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -92,46 +91,60 @@
throws SystemException, UnsupportedPropertyException, NoSuchResourceException, NoSuchParentResourceException {
Set<String> requestedIds = getRequestPropertyIds(request, predicate);
- final Map<String, Object> predicateProperties = PredicateHelper.getProperties(predicate);
- String clusterName = (String) predicateProperties.get(TASK_CLUSTER_NAME_PROPERTY_ID);
- Long request_id = new Long((String) predicateProperties.get(TASK_REQUEST_ID_PROPERTY_ID));
+ Map<String, Set<TaskStatusRequest>> requestsMap = new HashMap<String, Set<TaskStatusRequest>>();
- // TODO : handle multiple requests
+ for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
+ String clusterName = (String) propertyMap.get(TASK_CLUSTER_NAME_PROPERTY_ID);
- Set<TaskStatusResponse> responses = getResources(new Command<Set<TaskStatusResponse>>() {
- @Override
- public Set<TaskStatusResponse> invoke() throws AmbariException {
- return getManagementController().getTaskStatus(Collections.singleton(getRequest(predicateProperties)));
+ Set<TaskStatusRequest> requests = requestsMap.get(clusterName);
+ if (requests == null) {
+ requests = new HashSet<TaskStatusRequest>();
+ requestsMap.put(clusterName, requests);
}
- });
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("Printing size of responses " + responses.size());
- for (TaskStatusResponse response : responses) {
- LOG.debug("Printing response from management controller "
- + response.toString());
- }
+ requests.add(getRequest(propertyMap));
}
- Set<Resource> resources = new HashSet<Resource>();
- for (TaskStatusResponse response : responses) {
- Resource resource = new ResourceImpl(Resource.Type.Task);
+ Set<Resource> resources = null;
- setResourceProperty(resource, TASK_CLUSTER_NAME_PROPERTY_ID, clusterName, requestedIds);
- setResourceProperty(resource, TASK_REQUEST_ID_PROPERTY_ID, request_id, requestedIds);
- setResourceProperty(resource, TASK_ID_PROPERTY_ID, response.getTaskId(), requestedIds);
- setResourceProperty(resource, TASK_STAGE_ID_PROPERTY_ID, response.getStageId(), requestedIds);
- setResourceProperty(resource, TASK_HOST_NAME_PROPERTY_ID, response.getHostName(), requestedIds);
- setResourceProperty(resource, TASK_ROLE_PROPERTY_ID, response.getRole(), requestedIds);
- setResourceProperty(resource, TASK_COMMAND_PROPERTY_ID, response.getCommand(), requestedIds);
- setResourceProperty(resource, TASK_STATUS_PROPERTY_ID, response.getStatus(), requestedIds);
- setResourceProperty(resource, TASK_EXIT_CODE_PROPERTY_ID, response.getExitCode(), requestedIds);
- setResourceProperty(resource, TASK_STDERR_PROPERTY_ID, response.getStderr(), requestedIds);
- setResourceProperty(resource, TASK_STOUT_PROPERTY_ID, response.getStdout(), requestedIds);
- setResourceProperty(resource, TASK_START_TIME_PROPERTY_ID, response.getStartTime(), requestedIds);
- setResourceProperty(resource, TASK_ATTEMPT_CNT_PROPERTY_ID, response.getAttemptCount(), requestedIds);
- resources.add(resource);
+ for (Map.Entry<String, Set<TaskStatusRequest>> entry : requestsMap.entrySet()) {
+
+ final Set<TaskStatusRequest> requests = entry.getValue();
+
+ Set<TaskStatusResponse> responses = getResources(new Command<Set<TaskStatusResponse>>() {
+ @Override
+ public Set<TaskStatusResponse> invoke() throws AmbariException {
+ return getManagementController().getTaskStatus(requests);
+ }
+ });
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Printing size of responses " + responses.size());
+ for (TaskStatusResponse response : responses) {
+ LOG.debug("Printing response from management controller "
+ + response.toString());
+ }
+ }
+
+ resources = new HashSet<Resource>();
+ for (TaskStatusResponse response : responses) {
+ Resource resource = new ResourceImpl(Resource.Type.Task);
+
+ setResourceProperty(resource, TASK_CLUSTER_NAME_PROPERTY_ID, entry.getKey(), requestedIds);
+ setResourceProperty(resource, TASK_REQUEST_ID_PROPERTY_ID, response.getRequestId(), requestedIds);
+ setResourceProperty(resource, TASK_ID_PROPERTY_ID, response.getTaskId(), requestedIds);
+ setResourceProperty(resource, TASK_STAGE_ID_PROPERTY_ID, response.getStageId(), requestedIds);
+ setResourceProperty(resource, TASK_HOST_NAME_PROPERTY_ID, response.getHostName(), requestedIds);
+ setResourceProperty(resource, TASK_ROLE_PROPERTY_ID, response.getRole(), requestedIds);
+ setResourceProperty(resource, TASK_COMMAND_PROPERTY_ID, response.getCommand(), requestedIds);
+ setResourceProperty(resource, TASK_STATUS_PROPERTY_ID, response.getStatus(), requestedIds);
+ setResourceProperty(resource, TASK_EXIT_CODE_PROPERTY_ID, response.getExitCode(), requestedIds);
+ setResourceProperty(resource, TASK_STDERR_PROPERTY_ID, response.getStderr(), requestedIds);
+ setResourceProperty(resource, TASK_STOUT_PROPERTY_ID, response.getStdout(), requestedIds);
+ setResourceProperty(resource, TASK_START_TIME_PROPERTY_ID, response.getStartTime(), requestedIds);
+ setResourceProperty(resource, TASK_ATTEMPT_CNT_PROPERTY_ID, response.getAttemptCount(), requestedIds);
+ resources.add(resource);
+ }
}
return resources;
}
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/handlers/QueryCreateHandlerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/handlers/QueryCreateHandlerTest.java
index b063065..f6e3ebd 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/handlers/QueryCreateHandlerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/handlers/QueryCreateHandlerTest.java
@@ -149,7 +149,7 @@
expect(body.getNamedPropertySets()).andReturn(setRequestProps).anyTimes();
expect(resourceInstance.getResourceDefinition()).andReturn(resourceDefinition).anyTimes();
- expect(resourceInstance.getIds()).andReturn(mapIds).anyTimes();
+ expect(resourceInstance.getKeyValueMap()).andReturn(mapIds).anyTimes();
expect(resourceInstance.getSubResources()).andReturn(mapSubResources).anyTimes();
expect(resourceDefinition.getType()).andReturn(Resource.Type.Service).anyTimes();
@@ -282,7 +282,7 @@
expect(body.getNamedPropertySets()).andReturn(setRequestProps).anyTimes();
expect(resourceInstance.getResourceDefinition()).andReturn(resourceDefinition).anyTimes();
- expect(resourceInstance.getIds()).andReturn(mapIds).anyTimes();
+ expect(resourceInstance.getKeyValueMap()).andReturn(mapIds).anyTimes();
expect(resourceDefinition.getType()).andReturn(Resource.Type.Service).anyTimes();
expect(controller.getSchema(Resource.Type.Service)).andReturn(serviceSchema).anyTimes();
@@ -385,7 +385,7 @@
expect(body.getNamedPropertySets()).andReturn(setRequestProps).anyTimes();
expect(resourceInstance.getResourceDefinition()).andReturn(resourceDefinition).anyTimes();
- expect(resourceInstance.getIds()).andReturn(mapIds).anyTimes();
+ expect(resourceInstance.getKeyValueMap()).andReturn(mapIds).anyTimes();
expect(resourceInstance.getSubResources()).andReturn(mapSubResources).anyTimes();
expect(resourceDefinition.getType()).andReturn(Resource.Type.Service).anyTimes();
@@ -459,7 +459,7 @@
expect(body.getNamedPropertySets()).andReturn(setRequestProps).anyTimes();
expect(resourceInstance.getResourceDefinition()).andReturn(resourceDefinition).anyTimes();
- expect(resourceInstance.getIds()).andReturn(mapIds).anyTimes();
+ expect(resourceInstance.getKeyValueMap()).andReturn(mapIds).anyTimes();
expect(resourceDefinition.getType()).andReturn(Resource.Type.Service).anyTimes();
expect(controller.getSchema(Resource.Type.Service)).andReturn(serviceSchema).anyTimes();
@@ -568,7 +568,7 @@
expect(body.getNamedPropertySets()).andReturn(setRequestProps).anyTimes();
expect(resourceInstance.getResourceDefinition()).andReturn(resourceDefinition).anyTimes();
- expect(resourceInstance.getIds()).andReturn(mapIds).anyTimes();
+ expect(resourceInstance.getKeyValueMap()).andReturn(mapIds).anyTimes();
expect(resourceInstance.getSubResources()).andReturn(mapSubResources).anyTimes();
expect(resourceDefinition.getType()).andReturn(Resource.Type.Service).anyTimes();
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/services/PersistenceManagerImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/services/PersistenceManagerImplTest.java
index 1667499..f98ada8 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/services/PersistenceManagerImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/services/PersistenceManagerImplTest.java
@@ -71,7 +71,7 @@
setExpected.add(mapExpected);
//expectations
- expect(resource.getIds()).andReturn(mapResourceIds);
+ expect(resource.getKeyValueMap()).andReturn(mapResourceIds);
expect(resource.getResourceDefinition()).andReturn(resourceDefinition).atLeastOnce();
expect(resourceDefinition.getType()).andReturn(Resource.Type.Component);
expect(controller.getSchema(Resource.Type.Component)).andReturn(schema);
@@ -112,7 +112,7 @@
setExpected.add(mapExpected);
//expectations
- expect(resource.getIds()).andReturn(mapResourceIds);
+ expect(resource.getKeyValueMap()).andReturn(mapResourceIds);
expect(resource.getResourceDefinition()).andReturn(resourceDefinition).atLeastOnce();
expect(resourceDefinition.getType()).andReturn(Resource.Type.Component);
expect(controller.getSchema(Resource.Type.Component)).andReturn(schema);
@@ -170,7 +170,7 @@
setExpected.add(mapExpected2);
//expectations
- expect(resource.getIds()).andReturn(mapResourceIds);
+ expect(resource.getKeyValueMap()).andReturn(mapResourceIds);
expect(resource.getResourceDefinition()).andReturn(resourceDefinition);
expect(resourceDefinition.getType()).andReturn(Resource.Type.Component);
expect(controller.getSchema(Resource.Type.Component)).andReturn(schema);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java
index ec30a74..391ff99 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java
@@ -58,6 +58,8 @@
RepositoryResponse rr = new RepositoryResponse(VAL_BASE_URL, VAL_OS,
VAL_REPO_ID, VAL_REPO_NAME, null, null);
+ rr.setStackName(VAL_STACK_NAME);
+ rr.setStackVersion(VAL_STACK_VERSION);
Set<RepositoryResponse> allResponse = new HashSet<RepositoryResponse>();
allResponse.add(rr);