You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2012/10/09 07:21:05 UTC
svn commit: r1395862 [1/2] - in /incubator/ambari/branches/AMBARI-666: ./
ambari-api/src/main/java/org/apache/ambari/api/controller/ganglia/
ambari-api/src/main/java/org/apache/ambari/api/controller/internal/
ambari-api/src/main/java/org/apache/ambari/...
Author: mahadev
Date: Tue Oct 9 05:21:04 2012
New Revision: 1395862
URL: http://svn.apache.org/viewvc?rev=1395862&view=rev
Log:
AMBARI-829. Add unit tests for ResourceProviderImpl. (Tom Beerbower via mahadev)
Added:
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/PropertyHelper.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ResourceProviderImplTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/utilities/PropertyHelperTest.java
Removed:
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/HostNames.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/Properties.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/utilities/PropertiesTest.java
Modified:
incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/ganglia/GangliaHelper.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/DefaultProviderModule.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/PropertyPredicateVisitor.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/RequestImpl.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/ResourceProviderImpl.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCManagementController.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCProviderModule.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCResourceProvider.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXHelper.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXPropertyProvider.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/DBHelper.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/query/QueryImpl.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/BaseResourceDefinition.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/ResourceDefinition.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/BasePersistenceManager.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/Request.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/RequestImpl.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/JsonPropertyParser.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/RequestBodyParser.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/ganglia/GangliaHelperTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ClusterControllerImplTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/RequestImplTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ResourceImplTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/SchemaImplTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/jdbc/JDBCManagementControllerTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/jmx/JMXHelperTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/handlers/CreateHandlerTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/handlers/DeleteHandlerTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/handlers/UpdateHandlerTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/CreatePersistenceManagerTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/UpdatePersistenceManagerTest.java
incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/parsers/JsonPropertyParserTest.java
incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Request.java
Modified: incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt (original)
+++ incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt Tue Oct 9 05:21:04 2012
@@ -11,6 +11,9 @@ AMBARI-666 branch (unreleased changes)
INCOMPATIBLE CHANGES
NEW FEATURES
+
+ AMBARI-829. Add unit tests for ResourceProviderImpl. (Tom Beerbower via
+ mahadev)
AMBARI-831. Move manifest generation into the ambari agent directory.
(mahadev)
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/ganglia/GangliaHelper.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/ganglia/GangliaHelper.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/ganglia/GangliaHelper.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/ganglia/GangliaHelper.java Tue Oct 9 05:21:04 2012
@@ -42,8 +42,6 @@ public class GangliaHelper {
"&m=" + metric +
"&json=1";
-// System.out.println("url=" + s);
-
try {
URLConnection connection = new URL(s).openConnection();
@@ -77,8 +75,6 @@ public class GangliaHelper {
"&step=" + step +
"&json=1";
- System.out.println("url=" + s);
-
try {
URLConnection connection = new URL(s).openConnection();
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/DefaultProviderModule.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/DefaultProviderModule.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/DefaultProviderModule.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/DefaultProviderModule.java Tue Oct 9 05:21:04 2012
@@ -19,7 +19,7 @@
package org.apache.ambari.api.controller.internal;
import org.apache.ambari.api.controller.ProviderModule;
-import org.apache.ambari.api.controller.utilities.Properties;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.AmbariManagementController;
import org.apache.ambari.server.controller.AmbariManagementControllerImpl;
import org.apache.ambari.server.controller.spi.PropertyProvider;
@@ -42,7 +42,7 @@ public class DefaultProviderModule imple
AmbariManagementController managementController =
new AmbariManagementControllerImpl(null, null);
return ResourceProviderImpl.getResourceProvider(type,
- PROPERTY_PROVIDERS, Properties.getPropertyIds(type, "DB"),
- Properties.getKeyPropertyIds(type), managementController);
+ PROPERTY_PROVIDERS, PropertyHelper.getPropertyIds(type, "DB"),
+ PropertyHelper.getKeyPropertyIds(type), managementController);
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/PropertyPredicateVisitor.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/PropertyPredicateVisitor.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/PropertyPredicateVisitor.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/PropertyPredicateVisitor.java Tue Oct 9 05:21:04 2012
@@ -19,6 +19,7 @@
package org.apache.ambari.api.controller.internal;
import org.apache.ambari.server.controller.predicate.ArrayPredicate;
+import org.apache.ambari.server.controller.predicate.BasePredicate;
import org.apache.ambari.server.controller.predicate.ComparisonPredicate;
import org.apache.ambari.server.controller.predicate.PredicateVisitor;
import org.apache.ambari.server.controller.predicate.UnaryPredicate;
@@ -31,16 +32,19 @@ import java.util.Map;
* Predicate visitor for extracting property values from the PropertyPredicates of a predicate graph.
*/
public class PropertyPredicateVisitor implements PredicateVisitor {
- private final Map<PropertyId, Object> properties = new HashMap<PropertyId, Object>();
+ private final Map<PropertyId, String> properties = new HashMap<PropertyId, String>();
@Override
public void acceptComparisonPredicate(ComparisonPredicate predicate) {
- properties.put(predicate.getPropertyId(), predicate.getValue());
+ properties.put(predicate.getPropertyId(), predicate.getValue().toString());
}
@Override
public void acceptArrayPredicate(ArrayPredicate predicate) {
- //Do nothing
+ BasePredicate[] predicates = predicate.getPredicates();
+ for (int i = 0; i < predicates.length; i++) {
+ predicates[i].accept(this);
+ }
}
@Override
@@ -56,7 +60,7 @@ public class PropertyPredicateVisitor im
*
* @return the properties
*/
- public Map<PropertyId, Object> getProperties() {
+ public Map<PropertyId, String> getProperties() {
return properties;
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/RequestImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/RequestImpl.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/RequestImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/RequestImpl.java Tue Oct 9 05:21:04 2012
@@ -41,7 +41,7 @@ public class RequestImpl implements Requ
* The properties associated with this request. Used for requests that create
* resources or update resource values.
*/
- private final Set<Map<PropertyId, Object>> properties;
+ private final Set<Map<PropertyId, String>> properties;
// ----- Constructors ------------------------------------------------------
@@ -52,13 +52,13 @@ public class RequestImpl implements Requ
* @param propertyIds the property ids associated with the request; may be null
* @param properties the properties associated with the request; may be null
*/
- public RequestImpl(Set<PropertyId> propertyIds, Set<Map<PropertyId, Object>> properties) {
+ public RequestImpl(Set<PropertyId> propertyIds, Set<Map<PropertyId, String>> properties) {
this.propertyIds = propertyIds == null ?
Collections.unmodifiableSet(new HashSet<PropertyId>()) :
Collections.unmodifiableSet(propertyIds);
this.properties = properties == null ?
- Collections.unmodifiableSet(new HashSet<Map<PropertyId, Object>>()) :
+ Collections.unmodifiableSet(new HashSet<Map<PropertyId, String>>()) :
Collections.unmodifiableSet(properties);
}
@@ -71,7 +71,7 @@ public class RequestImpl implements Requ
}
@Override
- public Set<Map<PropertyId, Object>> getProperties() {
+ public Set<Map<PropertyId, String>> getProperties() {
return properties;
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/ResourceProviderImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/ResourceProviderImpl.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/ResourceProviderImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/internal/ResourceProviderImpl.java Tue Oct 9 05:21:04 2012
@@ -19,7 +19,7 @@
package org.apache.ambari.api.controller.internal;
import org.apache.ambari.api.controller.utilities.PredicateHelper;
-import org.apache.ambari.api.controller.utilities.Properties;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.controller.AmbariManagementController;
import org.apache.ambari.server.controller.ClusterRequest;
@@ -40,7 +40,9 @@ import org.apache.ambari.server.controll
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.spi.Schema;
+import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -75,32 +77,33 @@ public abstract class ResourceProviderIm
// ----- Property ID constants ---------------------------------------------
// Clusters
- private static final PropertyId CLUSTER_ID_PROPERTY_ID = Properties.getPropertyId("cluster_id", "Clusters");
- private static final PropertyId CLUSTER_NAME_PROPERTY_ID = Properties.getPropertyId("cluster_name", "Clusters");
- private static final PropertyId CLUSTER_VERSION_PROPERTY_ID = Properties.getPropertyId("version", "Clusters");
+ protected static final PropertyId CLUSTER_ID_PROPERTY_ID = PropertyHelper.getPropertyId("cluster_id", "Clusters");
+ protected static final PropertyId CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("cluster_name", "Clusters");
+ protected static final PropertyId CLUSTER_VERSION_PROPERTY_ID = PropertyHelper.getPropertyId("version", "Clusters");
+ protected static final PropertyId CLUSTER_HOSTS_PROPERTY_ID = PropertyHelper.getPropertyId("hosts", "Clusters");
// Services
- private static final PropertyId SERVICE_CLUSTER_NAME_PROPERTY_ID = Properties.getPropertyId("cluster_name", "ServiceInfo");
- private static final PropertyId SERVICE_SERVICE_NAME_PROPERTY_ID = Properties.getPropertyId("service_name", "ServiceInfo");
- private static final PropertyId SERVICE_SERVICE_STATE_PROPERTY_ID = Properties.getPropertyId("state", "ServiceInfo");
+ protected static final PropertyId SERVICE_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("cluster_name", "ServiceInfo");
+ protected static final PropertyId SERVICE_SERVICE_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("service_name", "ServiceInfo");
+ protected static final PropertyId SERVICE_SERVICE_STATE_PROPERTY_ID = PropertyHelper.getPropertyId("state", "ServiceInfo");
// Components
- private static final PropertyId COMPONENT_CLUSTER_NAME_PROPERTY_ID = Properties.getPropertyId("cluster_name", "ServiceComponentInfo");
- private static final PropertyId COMPONENT_SERVICE_NAME_PROPERTY_ID = Properties.getPropertyId("service_name", "ServiceComponentInfo");
- private static final PropertyId COMPONENT_COMPONENT_NAME_PROPERTY_ID = Properties.getPropertyId("service_name", "ServiceComponentInfo");
- private static final PropertyId COMPONENT_STATE_PROPERTY_ID = Properties.getPropertyId("state", "ServiceComponentInfo");
+ protected static final PropertyId COMPONENT_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("cluster_name", "ServiceComponentInfo");
+ protected static final PropertyId COMPONENT_SERVICE_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("service_name", "ServiceComponentInfo");
+ protected static final PropertyId COMPONENT_COMPONENT_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("service_name", "ServiceComponentInfo");
+ protected static final PropertyId COMPONENT_STATE_PROPERTY_ID = PropertyHelper.getPropertyId("state", "ServiceComponentInfo");
// Hosts
- private static final PropertyId HOST_CLUSTER_NAME_PROPERTY_ID = Properties.getPropertyId("cluster_name", "Hosts");
- private static final PropertyId HOST_NAME_PROPERTY_ID = Properties.getPropertyId("host_name", "Hosts");
- private static final PropertyId HOST_IP_PROPERTY_ID = Properties.getPropertyId("ip", "Hosts");
- private static final PropertyId HOST_TOTAL_MEM_PROPERTY_ID = Properties.getPropertyId("total_mem", "Hosts");
- private static final PropertyId HOST_CPU_COUNT_PROPERTY_ID = Properties.getPropertyId("cpu_count", "Hosts");
- private static final PropertyId HOST_OS_ARCH_PROPERTY_ID = Properties.getPropertyId("os_arch", "Hosts");
- private static final PropertyId HOST_OS_TYPE_PROPERTY_ID = Properties.getPropertyId("os_type", "Hosts");
+ protected static final PropertyId HOST_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("cluster_name", "Hosts");
+ protected static final PropertyId HOST_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("host_name", "Hosts");
+ protected static final PropertyId HOST_IP_PROPERTY_ID = PropertyHelper.getPropertyId("ip", "Hosts");
+ protected static final PropertyId HOST_TOTAL_MEM_PROPERTY_ID = PropertyHelper.getPropertyId("total_mem", "Hosts");
+ protected static final PropertyId HOST_CPU_COUNT_PROPERTY_ID = PropertyHelper.getPropertyId("cpu_count", "Hosts");
+ protected static final PropertyId HOST_OS_ARCH_PROPERTY_ID = PropertyHelper.getPropertyId("os_arch", "Hosts");
+ protected static final PropertyId HOST_OS_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId("os_type", "Hosts");
// Host Components
- private static final PropertyId HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID = Properties.getPropertyId("cluster_name", "HostRoles");
- private static final PropertyId HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID = Properties.getPropertyId("service_name", "HostRoles");
- private static final PropertyId HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID = Properties.getPropertyId("service_name", "HostRoles");
- private static final PropertyId HOST_COMPONENT_HOST_NAME_PROPERTY_ID = Properties.getPropertyId("host_name", "HostRoles");
- private static final PropertyId HOST_COMPONENT_STATE_PROPERTY_ID = Properties.getPropertyId("state", "HostRoles");
+ protected static final PropertyId HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("cluster_name", "HostRoles");
+ protected static final PropertyId HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("service_name", "HostRoles");
+ protected static final PropertyId HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("service_name", "HostRoles");
+ protected static final PropertyId HOST_COMPONENT_HOST_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("host_name", "HostRoles");
+ protected static final PropertyId HOST_COMPONENT_STATE_PROPERTY_ID = PropertyHelper.getPropertyId("state", "HostRoles");
// ----- Constructors ------------------------------------------------------
@@ -154,6 +157,34 @@ public abstract class ResourceProviderIm
// ----- utility methods ---------------------------------------------------
+ protected abstract Set<PropertyId> getPKPropertyIds();
+
+ protected Set<Map<PropertyId, String>> getPropertyMaps(Map<PropertyId, String> requestPropertyMap, Predicate predicate) throws AmbariException{
+
+ Set<PropertyId> pkPropertyIds = getPKPropertyIds();
+ Set<Map<PropertyId, String>> properties = new HashSet<Map<PropertyId, String>>();
+ Set<Map<PropertyId, String>> predicateProperties = new HashSet<Map<PropertyId, String>>();
+
+ if (predicate != null && pkPropertyIds.equals(PredicateHelper.getPropertyIds(predicate))) {
+ predicateProperties.add(getProperties(predicate));
+ } else {
+ for (Resource resource : getResources(PropertyHelper.getReadRequest(pkPropertyIds), predicate)) {
+ predicateProperties.add(PropertyHelper.getProperties(resource));
+ }
+ }
+
+ for (Map<PropertyId, String> predicatePropertyMap : predicateProperties) {
+ // get properties from the given request properties
+ Map<PropertyId, String> propertyMap = requestPropertyMap == null ?
+ new HashMap<PropertyId, String>():
+ new HashMap<PropertyId, String>(requestPropertyMap);
+ // add the pk properties
+ setProperties(propertyMap, predicatePropertyMap, pkPropertyIds);
+ properties.add(propertyMap);
+ }
+ return properties;
+ }
+
/**
* Get a map of property values from a given predicate.
*
@@ -161,7 +192,10 @@ public abstract class ResourceProviderIm
*
* @return the map of properties
*/
- private static Map<PropertyId, Object> getProperties(Predicate predicate) {
+ private static Map<PropertyId, String> getProperties(Predicate predicate) {
+ if (predicate == null) {
+ return Collections.emptyMap();
+ }
PropertyPredicateVisitor visitor = new PropertyPredicateVisitor();
PredicateHelper.visit(predicate, visitor);
return visitor.getProperties();
@@ -172,9 +206,9 @@ public abstract class ResourceProviderIm
*
* @param to the target map
* @param from the source map
- * @param propertyIds the list of property ids
+ * @param propertyIds the set of property ids
*/
- private static void setProperties(Map<PropertyId, Object> to, Map<PropertyId, Object> from, PropertyId ... propertyIds) {
+ private static void setProperties(Map<PropertyId, String> to, Map<PropertyId, String> from, Set<PropertyId> propertyIds) {
for (PropertyId propertyId : propertyIds) {
if (from.containsKey(propertyId)) {
to.put(propertyId, from.get(propertyId));
@@ -261,6 +295,10 @@ public abstract class ResourceProviderIm
private static class ClusterResourceProvider extends ResourceProviderImpl{
+ private static Set<PropertyId> pkPropertyIds =
+ new HashSet<PropertyId>(Arrays.asList(new PropertyId[]{
+ CLUSTER_ID_PROPERTY_ID}));
+
// ----- Constructors ----------------------------------------------------
/**
@@ -278,7 +316,7 @@ public abstract class ResourceProviderIm
@Override
public void createResources(Request request) throws AmbariException {
- for (Map<PropertyId, Object> properties : request.getProperties()) {
+ for (Map<PropertyId, String> properties : request.getProperties()) {
getManagementController().createCluster(getRequest(properties));
}
}
@@ -295,29 +333,34 @@ public abstract class ResourceProviderIm
Resource resource = new ResourceImpl(Resource.Type.Cluster);
setResourceProperty(resource, CLUSTER_ID_PROPERTY_ID, response.getClusterId(), requestedIds);
setResourceProperty(resource, CLUSTER_NAME_PROPERTY_ID, response.getClusterName(), requestedIds);
+ resources.add(resource);
}
return resources;
}
@Override
public void updateResources(Request request, Predicate predicate) throws AmbariException {
- // get the cluster request properties from the given request
- Map<PropertyId, Object> properties = request.getProperties().iterator().next();
- // get the id for the cluster request from the predicate
- setProperties(properties, getProperties(predicate), CLUSTER_ID_PROPERTY_ID);
-
- ClusterRequest clusterRequest = getRequest(properties);
- getManagementController().updateCluster(clusterRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(request.getProperties().iterator().next(), predicate)) {
+ ClusterRequest clusterRequest = getRequest(propertyMap);
+ getManagementController().updateCluster(clusterRequest);
+ }
}
@Override
public void deleteResources(Predicate predicate) throws AmbariException {
- ClusterRequest clusterRequest = getRequest(getProperties(predicate));
- getManagementController().deleteCluster(clusterRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(null, predicate)) {
+ ClusterRequest clusterRequest = getRequest(propertyMap);
+ getManagementController().deleteCluster(clusterRequest);
+ }
}
// ----- utility methods -------------------------------------------------
+ @Override
+ protected Set<PropertyId> getPKPropertyIds() {
+ return pkPropertyIds;
+ }
+
/**
* Get a cluster request object from a map of property values.
*
@@ -325,13 +368,14 @@ public abstract class ResourceProviderIm
*
* @return the cluster request object
*/
- private ClusterRequest getRequest(Map<PropertyId, Object> properties) {
+ private ClusterRequest getRequest(Map<PropertyId, String> properties) {
+ String id = properties.get(CLUSTER_ID_PROPERTY_ID);
return new ClusterRequest(
- (Long) properties.get(CLUSTER_ID_PROPERTY_ID),
- (String) properties.get(CLUSTER_NAME_PROPERTY_ID),
- (String) properties.get(CLUSTER_VERSION_PROPERTY_ID),
- null); // TODO : host names
+ id == null ? null : Long.decode(id),
+ properties.get(CLUSTER_NAME_PROPERTY_ID),
+ properties.get(CLUSTER_VERSION_PROPERTY_ID),
+ /*properties.get(CLUSTER_HOSTS_PROPERTY_ID)*/ null);
}
}
@@ -339,6 +383,11 @@ public abstract class ResourceProviderIm
private static class ServiceResourceProvider extends ResourceProviderImpl{
+ private static Set<PropertyId> pkPropertyIds =
+ new HashSet<PropertyId>(Arrays.asList(new PropertyId[]{
+ SERVICE_CLUSTER_NAME_PROPERTY_ID,
+ SERVICE_SERVICE_NAME_PROPERTY_ID}));
+
// ----- Constructors ----------------------------------------------------
/**
@@ -355,7 +404,7 @@ public abstract class ResourceProviderIm
@Override
public void createResources(Request request) throws AmbariException {
- for (Map<PropertyId, Object> properties : request.getProperties()) {
+ for (Map<PropertyId, String> properties : request.getProperties()) {
getManagementController().createService(getRequest(properties));
}
}
@@ -374,30 +423,34 @@ public abstract class ResourceProviderIm
setResourceProperty(resource, SERVICE_CLUSTER_NAME_PROPERTY_ID, response.getClusterName(), requestedIds);
setResourceProperty(resource, SERVICE_SERVICE_NAME_PROPERTY_ID, response.getServiceName(), requestedIds);
// setResourceProperty(resource, SERVICE_VERSION_PROPERTY_ID, response.getCurrentStackVersion(), requestedIds);
+ resources.add(resource);
}
return resources;
}
@Override
public void updateResources(Request request, Predicate predicate) throws AmbariException {
- // get the service request properties from the given request
- Map<PropertyId, Object> properties = request.getProperties().iterator().next();
- // get the pk for the service request from the predicate
- setProperties(properties, getProperties(predicate),
- SERVICE_CLUSTER_NAME_PROPERTY_ID, SERVICE_SERVICE_NAME_PROPERTY_ID);
-
- ServiceRequest serviceRequest = getRequest(properties);
- getManagementController().updateService(serviceRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(request.getProperties().iterator().next(), predicate)) {
+ ServiceRequest serviceRequest = getRequest(propertyMap);
+ getManagementController().updateService(serviceRequest);
+ }
}
@Override
public void deleteResources(Predicate predicate) throws AmbariException {
- ServiceRequest serviceRequest = getRequest(getProperties(predicate));
- getManagementController().deleteService(serviceRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(null, predicate)) {
+ ServiceRequest serviceRequest = getRequest(propertyMap);
+ getManagementController().deleteService(serviceRequest);
+ }
}
// ----- utility methods -------------------------------------------------
+ @Override
+ protected Set<PropertyId> getPKPropertyIds() {
+ return pkPropertyIds;
+ }
+
/**
* Get a service request object from a map of property values.
*
@@ -405,12 +458,12 @@ public abstract class ResourceProviderIm
*
* @return the service request object
*/
- private ServiceRequest getRequest(Map<PropertyId, Object> properties) {
+ private ServiceRequest getRequest(Map<PropertyId, String> properties) {
return new ServiceRequest(
- (String) properties.get(SERVICE_CLUSTER_NAME_PROPERTY_ID),
- (String) properties.get(SERVICE_SERVICE_NAME_PROPERTY_ID),
+ properties.get(SERVICE_CLUSTER_NAME_PROPERTY_ID),
+ properties.get(SERVICE_SERVICE_NAME_PROPERTY_ID),
null,
- (String) properties.get(SERVICE_SERVICE_STATE_PROPERTY_ID));
+ properties.get(SERVICE_SERVICE_STATE_PROPERTY_ID));
}
}
@@ -418,6 +471,12 @@ public abstract class ResourceProviderIm
private static class ComponentResourceProvider extends ResourceProviderImpl{
+ private static Set<PropertyId> pkPropertyIds =
+ new HashSet<PropertyId>(Arrays.asList(new PropertyId[]{
+ COMPONENT_CLUSTER_NAME_PROPERTY_ID,
+ COMPONENT_SERVICE_NAME_PROPERTY_ID,
+ COMPONENT_COMPONENT_NAME_PROPERTY_ID}));
+
// ----- Constructors ----------------------------------------------------
/**
@@ -434,7 +493,7 @@ public abstract class ResourceProviderIm
@Override
public void createResources(Request request) throws AmbariException {
- for (Map<PropertyId, Object> properties : request.getProperties()) {
+ for (Map<PropertyId, String> properties : request.getProperties()) {
getManagementController().createComponent(getRequest(properties));
}
}
@@ -454,30 +513,34 @@ public abstract class ResourceProviderIm
setResourceProperty(resource, COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName(), requestedIds);
setResourceProperty(resource, COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName(), requestedIds);
// setResourceProperty(resource, COMPONENT_VERSION_PROPERTY_ID, response.getCurrentStackVersion(), requestedIds);
+ resources.add(resource);
}
return resources;
}
@Override
public void updateResources(Request request, Predicate predicate) throws AmbariException {
- // get the component request properties from the given request
- Map<PropertyId, Object> properties = request.getProperties().iterator().next();
- // get the pk for the service request from the predicate
- setProperties(properties, getProperties(predicate),
- COMPONENT_CLUSTER_NAME_PROPERTY_ID, COMPONENT_SERVICE_NAME_PROPERTY_ID, COMPONENT_COMPONENT_NAME_PROPERTY_ID);
-
- ServiceComponentRequest serviceComponentRequest = getRequest(properties);
- getManagementController().updateComponent(serviceComponentRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(request.getProperties().iterator().next(), predicate)) {
+ ServiceComponentRequest serviceComponentRequest = getRequest(propertyMap);
+ getManagementController().updateComponent(serviceComponentRequest);
+ }
}
@Override
public void deleteResources(Predicate predicate) throws AmbariException {
- ServiceComponentRequest serviceComponentRequest = getRequest(getProperties(predicate));
- getManagementController().deleteComponent(serviceComponentRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(null, predicate)) {
+ ServiceComponentRequest serviceComponentRequest = getRequest(propertyMap);
+ getManagementController().deleteComponent(serviceComponentRequest);
+ }
}
// ----- utility methods -------------------------------------------------
+ @Override
+ protected Set<PropertyId> getPKPropertyIds() {
+ return pkPropertyIds;
+ }
+
/**
* Get a component request object from a map of property values.
*
@@ -485,13 +548,13 @@ public abstract class ResourceProviderIm
*
* @return the component request object
*/
- private ServiceComponentRequest getRequest(Map<PropertyId, Object> properties) {
+ private ServiceComponentRequest getRequest(Map<PropertyId, String> properties) {
return new ServiceComponentRequest(
- (String) properties.get(COMPONENT_CLUSTER_NAME_PROPERTY_ID),
- (String) properties.get(COMPONENT_SERVICE_NAME_PROPERTY_ID),
- (String) properties.get(COMPONENT_COMPONENT_NAME_PROPERTY_ID),
+ properties.get(COMPONENT_CLUSTER_NAME_PROPERTY_ID),
+ properties.get(COMPONENT_SERVICE_NAME_PROPERTY_ID),
+ properties.get(COMPONENT_COMPONENT_NAME_PROPERTY_ID),
null,
- (String) properties.get(COMPONENT_STATE_PROPERTY_ID));
+ properties.get(COMPONENT_STATE_PROPERTY_ID));
}
}
@@ -499,6 +562,10 @@ public abstract class ResourceProviderIm
private static class HostResourceProvider extends ResourceProviderImpl{
+ private static Set<PropertyId> pkPropertyIds =
+ new HashSet<PropertyId>(Arrays.asList(new PropertyId[]{
+ HOST_NAME_PROPERTY_ID}));
+
// ----- Constructors ----------------------------------------------------
/**
@@ -515,7 +582,7 @@ public abstract class ResourceProviderIm
@Override
public void createResources(Request request) throws AmbariException {
- for (Map<PropertyId, Object> properties : request.getProperties()) {
+ for (Map<PropertyId, String> properties : request.getProperties()) {
getManagementController().createHost(getRequest(properties));
}
}
@@ -539,29 +606,34 @@ public abstract class ResourceProviderIm
setResourceProperty(resource, HOST_OS_ARCH_PROPERTY_ID, response.getOsArch(), requestedIds);
setResourceProperty(resource, HOST_OS_TYPE_PROPERTY_ID, response.getOsType(), requestedIds);
// TODO ...
+ resources.add(resource);
}
return resources;
}
@Override
public void updateResources(Request request, Predicate predicate) throws AmbariException {
- // get the host request properties from the given request
- Map<PropertyId, Object> properties = request.getProperties().iterator().next();
- // get the pk for the service request from the predicate
- setProperties(properties, getProperties(predicate), HOST_CLUSTER_NAME_PROPERTY_ID);
-
- HostRequest hostRequest = getRequest(properties);
- getManagementController().updateHost(hostRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(request.getProperties().iterator().next(), predicate)) {
+ HostRequest hostRequest = getRequest(propertyMap);
+ getManagementController().updateHost(hostRequest);
+ }
}
@Override
public void deleteResources(Predicate predicate) throws AmbariException {
- HostRequest hostRequest = getRequest(getProperties(predicate));
- getManagementController().deleteHost(hostRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(null, predicate)) {
+ HostRequest hostRequest = getRequest(propertyMap);
+ getManagementController().deleteHost(hostRequest);
+ }
}
// ----- utility methods -------------------------------------------------
+ @Override
+ protected Set<PropertyId> getPKPropertyIds() {
+ return pkPropertyIds;
+ }
+
/**
* Get a component request object from a map of property values.
*
@@ -569,11 +641,11 @@ public abstract class ResourceProviderIm
*
* @return the component request object
*/
- private HostRequest getRequest(Map<PropertyId, Object> properties) {
+ private HostRequest getRequest(Map<PropertyId, String> properties) {
return new HostRequest(
- (String) properties.get(HOST_NAME_PROPERTY_ID),
+ properties.get(HOST_NAME_PROPERTY_ID),
// TODO : more than one cluster
- Collections.singletonList((String) properties.get(HOST_CLUSTER_NAME_PROPERTY_ID)),
+ Collections.singletonList(properties.get(HOST_CLUSTER_NAME_PROPERTY_ID)),
null);
}
}
@@ -582,6 +654,13 @@ public abstract class ResourceProviderIm
private static class HostComponentResourceProvider extends ResourceProviderImpl{
+ private static Set<PropertyId> pkPropertyIds =
+ new HashSet<PropertyId>(Arrays.asList(new PropertyId[]{
+ HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID,
+ HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID,
+ HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID,
+ HOST_COMPONENT_HOST_NAME_PROPERTY_ID}));
+
// ----- Constructors ----------------------------------------------------
/**
@@ -598,7 +677,7 @@ public abstract class ResourceProviderIm
@Override
public void createResources(Request request) throws AmbariException {
- for (Map<PropertyId, Object> properties : request.getProperties()) {
+ for (Map<PropertyId, String> properties : request.getProperties()) {
getManagementController().createHostComponent(getRequest(properties));
}
}
@@ -618,31 +697,34 @@ public abstract class ResourceProviderIm
setResourceProperty(resource, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_HOST_NAME_PROPERTY_ID, response.getHostname(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_STATE_PROPERTY_ID, response.getLiveState(), requestedIds);
+ resources.add(resource);
}
return resources;
}
@Override
public void updateResources(Request request, Predicate predicate) throws AmbariException {
- // get the host request properties from the given request
- Map<PropertyId, Object> properties = request.getProperties().iterator().next();
- // get the pk for the service request from the predicate
- setProperties(properties, getProperties(predicate),
- HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID, HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID,
- HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID, HOST_COMPONENT_HOST_NAME_PROPERTY_ID);
-
- ServiceComponentHostRequest hostComponentRequest = getRequest(properties);
- getManagementController().updateHostComponent(hostComponentRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(request.getProperties().iterator().next(), predicate)) {
+ ServiceComponentHostRequest hostComponentRequest = getRequest(propertyMap);
+ getManagementController().updateHostComponent(hostComponentRequest);
+ }
}
@Override
public void deleteResources(Predicate predicate) throws AmbariException {
- ServiceComponentHostRequest clusterRequest = getRequest(getProperties(predicate));
- getManagementController().deleteHostComponent(clusterRequest);
+ for (Map<PropertyId, String> propertyMap : getPropertyMaps(null, predicate)) {
+ ServiceComponentHostRequest serviceComponentHostRequest = getRequest(propertyMap);
+ getManagementController().deleteHostComponent(serviceComponentHostRequest);
+ }
}
// ----- utility methods -------------------------------------------------
+ @Override
+ protected Set<PropertyId> getPKPropertyIds() {
+ return pkPropertyIds;
+ }
+
/**
* Get a component request object from a map of property values.
*
@@ -650,14 +732,14 @@ public abstract class ResourceProviderIm
*
* @return the component request object
*/
- private ServiceComponentHostRequest getRequest(Map<PropertyId, Object> properties) {
+ private ServiceComponentHostRequest getRequest(Map<PropertyId, String> properties) {
return new ServiceComponentHostRequest(
- (String) properties.get(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID),
- (String) properties.get(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID),
- (String) properties.get(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID),
- (String) properties.get(HOST_COMPONENT_HOST_NAME_PROPERTY_ID),
+ properties.get(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID),
+ properties.get(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID),
+ properties.get(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID),
+ properties.get(HOST_COMPONENT_HOST_NAME_PROPERTY_ID),
null,
- (String) properties.get(HOST_COMPONENT_STATE_PROPERTY_ID));
+ properties.get(HOST_COMPONENT_STATE_PROPERTY_ID));
}
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCManagementController.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCManagementController.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCManagementController.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCManagementController.java Tue Oct 9 05:21:04 2012
@@ -20,6 +20,7 @@ package org.apache.ambari.api.controller
import org.apache.ambari.api.controller.internal.PropertyIdImpl;
import org.apache.ambari.api.controller.internal.ResourceImpl;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.controller.AmbariManagementController;
import org.apache.ambari.server.controller.ClusterRequest;
@@ -42,7 +43,6 @@ import org.apache.ambari.server.controll
import org.apache.ambari.server.controller.spi.Request;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.api.controller.utilities.PredicateHelper;
-import org.apache.ambari.api.controller.utilities.Properties;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
@@ -214,9 +214,9 @@ public class JDBCManagementController im
try {
- Set<Map<PropertyId, Object>> propertySet = request.getProperties();
+ Set<Map<PropertyId, String>> propertySet = request.getProperties();
- for (Map<PropertyId, Object> properties : propertySet) {
+ for (Map<PropertyId, String> properties : propertySet) {
String sql = getInsertSQL(resourceTables.get(type), properties);
Statement statement = connection.createStatement();
@@ -301,9 +301,9 @@ public class JDBCManagementController im
try {
Connection connection = connectionFactory.getConnection();
try {
- Set<Map<PropertyId, Object>> propertySet = request.getProperties();
+ Set<Map<PropertyId, String>> propertySet = request.getProperties();
- Map<PropertyId, Object> properties = propertySet.iterator().next();
+ Map<PropertyId, String> properties = propertySet.iterator().next();
String resourceTable = resourceTables.get(type);
@@ -379,10 +379,10 @@ public class JDBCManagementController im
while (rs.next()) {
- PropertyId pkPropertyId = Properties.getPropertyId(
+ PropertyId pkPropertyId = PropertyHelper.getPropertyId(
rs.getString("PKCOLUMN_NAME"), rs.getString("PKTABLE_NAME"));
- PropertyId fkPropertyId = Properties.getPropertyId(
+ PropertyId fkPropertyId = PropertyHelper.getPropertyId(
rs.getString("FKCOLUMN_NAME"), rs.getString("FKTABLE_NAME"));
importedKeys.put(pkPropertyId, fkPropertyId);
@@ -411,7 +411,7 @@ public class JDBCManagementController im
while (rs.next()) {
- PropertyId pkPropertyId = Properties.getPropertyId(
+ PropertyId pkPropertyId = PropertyHelper.getPropertyId(
rs.getString("COLUMN_NAME"), rs.getString("TABLE_NAME"));
primaryKeys.add(pkPropertyId);
@@ -476,12 +476,12 @@ public class JDBCManagementController im
*
* @return the insert SQL
*/
- private String getInsertSQL(String table, Map<PropertyId, Object> properties) {
+ private String getInsertSQL(String table, Map<PropertyId, String> properties) {
StringBuilder columns = new StringBuilder();
StringBuilder values = new StringBuilder();
- for (Map.Entry<PropertyId, Object> entry : properties.entrySet()) {
+ for (Map.Entry<PropertyId, String> entry : properties.entrySet()) {
PropertyId propertyId = entry.getKey();
Object propertyValue = entry.getValue();
@@ -619,7 +619,7 @@ public class JDBCManagementController im
*
* @return the update SQL statement
*/
- private String getUpdateSQL(String table, Map<PropertyId, Object> properties, Predicate predicate) {
+ private String getUpdateSQL(String table, Map<PropertyId, String> properties, Predicate predicate) {
if (predicate instanceof BasePredicate) {
@@ -632,7 +632,7 @@ public class JDBCManagementController im
whereClause.append(visitor.getSQL());
StringBuilder setClause = new StringBuilder();
- for (Map.Entry<PropertyId, Object> entry : properties.entrySet()) {
+ for (Map.Entry<PropertyId, String> entry : properties.entrySet()) {
if (setClause.length() > 0) {
setClause.append(", ");
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCProviderModule.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCProviderModule.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCProviderModule.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCProviderModule.java Tue Oct 9 05:21:04 2012
@@ -20,7 +20,7 @@ package org.apache.ambari.api.controller
import org.apache.ambari.api.controller.ProviderModule;
import org.apache.ambari.api.controller.utilities.DBHelper;
-import org.apache.ambari.api.controller.utilities.Properties;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.spi.PropertyProvider;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.ResourceProvider;
@@ -38,7 +38,7 @@ public class JDBCProviderModule implemen
@Override
public ResourceProvider getResourceProvider(Resource.Type type) {
return new JDBCResourceProvider(DBHelper.CONNECTION_FACTORY, type,
- PROPERTY_PROVIDERS, Properties.getPropertyIds(type, "DB"),
- Properties.getKeyPropertyIds(type));
+ PROPERTY_PROVIDERS, PropertyHelper.getPropertyIds(type, "DB"),
+ PropertyHelper.getKeyPropertyIds(type));
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCResourceProvider.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCResourceProvider.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCResourceProvider.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jdbc/JDBCResourceProvider.java Tue Oct 9 05:21:04 2012
@@ -22,7 +22,7 @@ import org.apache.ambari.api.controller.
import org.apache.ambari.api.controller.internal.ResourceImpl;
import org.apache.ambari.api.controller.internal.SchemaImpl;
import org.apache.ambari.api.controller.utilities.PredicateHelper;
-import org.apache.ambari.api.controller.utilities.Properties;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.predicate.BasePredicate;
import org.apache.ambari.server.controller.predicate.PredicateVisitorAcceptor;
import org.apache.ambari.server.controller.spi.Predicate;
@@ -143,9 +143,9 @@ public class JDBCResourceProvider implem
try {
- Set<Map<PropertyId, Object>> propertySet = request.getProperties();
+ Set<Map<PropertyId, String>> propertySet = request.getProperties();
- for (Map<PropertyId, Object> properties : propertySet) {
+ for (Map<PropertyId, String> properties : propertySet) {
String sql = getInsertSQL(properties);
Statement statement = connection.createStatement();
@@ -167,14 +167,12 @@ public class JDBCResourceProvider implem
try {
Connection connection = connectionFactory.getConnection();
try {
- Set<Map<PropertyId, Object>> propertySet = request.getProperties();
+ Set<Map<PropertyId, String>> propertySet = request.getProperties();
- Map<PropertyId, Object> properties = propertySet.iterator().next();
+ Map<PropertyId, String> properties = propertySet.iterator().next();
String sql = getUpdateSQL(properties, predicate);
- System.out.println(sql);
-
Statement statement = connection.createStatement();
statement.execute(sql);
@@ -206,16 +204,16 @@ public class JDBCResourceProvider implem
}
- private String getInsertSQL(Map<PropertyId, Object> properties) {
+ private String getInsertSQL(Map<PropertyId, String> properties) {
StringBuilder columns = new StringBuilder();
StringBuilder values = new StringBuilder();
String table = null;
- for (Map.Entry<PropertyId, Object> entry : properties.entrySet()) {
+ for (Map.Entry<PropertyId, String> entry : properties.entrySet()) {
PropertyId propertyId = entry.getKey();
- String propertyValue = (String) entry.getValue();
+ String propertyValue = entry.getValue();
table = propertyId.getCategory();
@@ -305,8 +303,6 @@ public class JDBCResourceProvider implem
sql = sql + " where " + whereClause + joinClause;
}
- System.out.println(sql);
-
return sql;
}
@@ -328,7 +324,7 @@ public class JDBCResourceProvider implem
throw new IllegalStateException("Can't generate SQL.");
}
- private String getUpdateSQL(Map<PropertyId, Object> properties, Predicate predicate) {
+ private String getUpdateSQL(Map<PropertyId, String> properties, Predicate predicate) {
if (predicate instanceof BasePredicate) {
@@ -344,7 +340,7 @@ public class JDBCResourceProvider implem
StringBuilder setClause = new StringBuilder();
- for (Map.Entry<PropertyId, Object> entry : properties.entrySet()) {
+ for (Map.Entry<PropertyId, String> entry : properties.entrySet()) {
if (setClause.length() > 0) {
setClause.append(", ");
@@ -396,10 +392,10 @@ public class JDBCResourceProvider implem
while (rs.next()) {
- PropertyId pkPropertyId = Properties.getPropertyId(
+ PropertyId pkPropertyId = PropertyHelper.getPropertyId(
rs.getString("PKCOLUMN_NAME"), rs.getString("PKTABLE_NAME"));
- PropertyId fkPropertyId = Properties.getPropertyId(
+ PropertyId fkPropertyId = PropertyHelper.getPropertyId(
rs.getString("FKCOLUMN_NAME"), rs.getString("FKTABLE_NAME"));
importedKeys.put(pkPropertyId, fkPropertyId);
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXHelper.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXHelper.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXHelper.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXHelper.java Tue Oct 9 05:21:04 2012
@@ -40,7 +40,6 @@ public class JMXHelper {
JMXMetrics.class);
} catch (IOException e) {
- System.out.println("getJMXMetrics : caught " + e);
throw new IllegalStateException("Can't get metric " + ".", e);
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXPropertyProvider.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXPropertyProvider.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXPropertyProvider.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/jmx/JMXPropertyProvider.java Tue Oct 9 05:21:04 2012
@@ -19,13 +19,13 @@
package org.apache.ambari.api.controller.jmx;
import org.apache.ambari.api.controller.internal.PropertyIdImpl;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.spi.PropertyId;
import org.apache.ambari.server.controller.spi.PropertyProvider;
import org.apache.ambari.server.controller.spi.Request;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.api.controller.utilities.PredicateHelper;
-import org.apache.ambari.api.controller.utilities.Properties;
import java.util.HashMap;
import java.util.HashSet;
@@ -56,7 +56,7 @@ public class JMXPropertyProvider impleme
private JMXPropertyProvider(Resource.Type type, Map<String, String> hosts) {
this.hosts = hosts;
- this.propertyIds = Properties.getPropertyIds(type, "JMX");
+ this.propertyIds = PropertyHelper.getPropertyIds(type, "JMX");
}
@Override
@@ -110,7 +110,6 @@ public class JMXPropertyProvider impleme
String name = entry.getKey();
PropertyIdImpl propertyId = new PropertyIdImpl(name, category, false);
-// System.out.println(i + ")" + propertyId);
if (ids.contains(propertyId)) {
resource.setProperty(propertyId, entry.getValue());
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/DBHelper.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/DBHelper.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/DBHelper.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/DBHelper.java Tue Oct 9 05:21:04 2012
@@ -81,8 +81,6 @@ public class DBHelper {
throw new IllegalStateException("Can't access DB.", e);
}
- System.out.println(hosts);
-
return hosts;
}
}
Added: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/PropertyHelper.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/PropertyHelper.java?rev=1395862&view=auto
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/PropertyHelper.java (added)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/controller/utilities/PropertyHelper.java Tue Oct 9 05:21:04 2012
@@ -0,0 +1,132 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ambari.api.controller.utilities;
+
+import org.apache.ambari.api.controller.internal.PropertyIdImpl;
+import org.apache.ambari.api.controller.internal.RequestImpl;
+import org.apache.ambari.server.controller.spi.PropertyId;
+import org.apache.ambari.server.controller.spi.Request;
+import org.apache.ambari.server.controller.spi.Resource;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.type.TypeReference;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ *
+ */
+public class PropertyHelper {
+
+ private static final String PROPERTIES_FILE = "properties.json";
+ private static final String KEY_PROPERTIES_FILE = "key_properties.json";
+
+ private static final Map<Resource.Type, Map<String, Set<PropertyId>>> PROPERTY_IDS = readPropertyIds(PROPERTIES_FILE);
+ private static final Map<Resource.Type, Map<Resource.Type, PropertyId>> KEY_PROPERTY_IDS = readKeyPropertyIds(KEY_PROPERTIES_FILE);
+
+ public static PropertyId getPropertyId(String name, String category) {
+ return new PropertyIdImpl(name, category, false);
+ }
+
+ public static PropertyId getPropertyId(String name, String category, boolean temporal) {
+ return new PropertyIdImpl(name, category, temporal);
+ }
+
+ public static Set<PropertyId> getPropertyIds(Resource.Type resourceType, String providerKey) {
+
+ Map<String, Set<PropertyId>> propertyIds = PROPERTY_IDS.get(resourceType);
+ if (propertyIds != null) {
+ return propertyIds.get(providerKey);
+ }
+ return Collections.emptySet();
+ }
+
+ public static Map<Resource.Type, PropertyId> getKeyPropertyIds(Resource.Type resourceType) {
+ return KEY_PROPERTY_IDS.get(resourceType);
+ }
+
+ public static Map<PropertyId, String> getProperties(Resource resource) {
+ Map<PropertyId, String> properties = new HashMap<PropertyId, String>();
+
+ Map<String, Map<String, String>> categories = resource.getCategories();
+
+ for (Map.Entry<String, Map<String, String>> categoryEntry : categories.entrySet()) {
+ for (Map.Entry<String, String> propertyEntry : categoryEntry.getValue().entrySet()) {
+
+ properties.put(PropertyHelper.getPropertyId(propertyEntry.getKey(), categoryEntry.getKey()), propertyEntry.getValue());
+ }
+ }
+ return properties;
+ }
+
+ /**
+ * Factory method to create a create request from the given set of property maps.
+ * Each map contains the properties to be used to create a resource. Multiple maps in the
+ * set should result in multiple creates.
+ *
+ * @param properties the properties associated with the request; may be null
+ */
+ public static Request getCreateRequest(Set<Map<PropertyId, String>> properties) {
+ return new RequestImpl(null, properties);
+ }
+
+ /**
+ * Factory method to create a read request from the given set of property ids. The set of
+ * property ids represents the properties of interest for the query.
+ *
+ * @param propertyIds the property ids associated with the request; may be null
+ */
+ public static Request getReadRequest(Set<PropertyId> propertyIds) {
+ return new RequestImpl(propertyIds, null);
+ }
+
+ /**
+ * Factory method to create an update request from the given map of properties.
+ * The properties values in the given map are used to update the resource.
+ *
+ * @param properties the properties associated with the request; may be null
+ */
+ public static Request getUpdateRequest(Map<PropertyId, String> properties) {
+ return new RequestImpl(null, Collections.singleton(properties));
+ }
+
+ private static Map<Resource.Type, Map<String, Set<PropertyId>>> readPropertyIds(String filename) {
+ ObjectMapper mapper = new ObjectMapper();
+
+ try {
+ return mapper.readValue(ClassLoader.getSystemResourceAsStream(filename), new TypeReference<Map<Resource.Type, Map<String, Set<PropertyIdImpl>>>>() {
+ });
+ } catch (IOException e) {
+ throw new IllegalStateException("Can't read properties file " + filename, e);
+ }
+ }
+
+ private static Map<Resource.Type, Map<Resource.Type, PropertyId>> readKeyPropertyIds(String filename) {
+ ObjectMapper mapper = new ObjectMapper();
+
+ try {
+ return mapper.readValue(ClassLoader.getSystemResourceAsStream(filename), new TypeReference<Map<Resource.Type, Map<Resource.Type, PropertyIdImpl>>>() {
+ });
+ } catch (IOException e) {
+ throw new IllegalStateException("Can't read properties file " + filename, e);
+ }
+ }
+}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/query/QueryImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/query/QueryImpl.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/query/QueryImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/query/QueryImpl.java Tue Oct 9 05:21:04 2012
@@ -21,6 +21,7 @@ package org.apache.ambari.api.query;
import org.apache.ambari.api.controller.internal.PropertyIdImpl;
import org.apache.ambari.api.controller.internal.RequestImpl;
import org.apache.ambari.api.controller.utilities.ClusterControllerHelper;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.controller.predicate.AndPredicate;
import org.apache.ambari.server.controller.predicate.BasePredicate;
@@ -43,7 +44,7 @@ public class QueryImpl implements Query
ResourceDefinition m_resourceDefinition;
/**
- * Properties of the query which make up the select portion of the query.
+ * PropertyHelper of the query which make up the select portion of the query.
*/
private Map<String, Set<String>> m_mapQueryProperties = new HashMap<String, Set<String>>();
@@ -220,7 +221,7 @@ public class QueryImpl implements Query
setProperties.add(new PropertyIdImpl(property, group, false));
}
}
- return new RequestImpl(setProperties, null);
+ return PropertyHelper.getReadRequest(setProperties);
}
Result createResult() {
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/BaseResourceDefinition.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/BaseResourceDefinition.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/BaseResourceDefinition.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/BaseResourceDefinition.java Tue Oct 9 05:21:04 2012
@@ -57,7 +57,7 @@ public abstract class BaseResourceDefini
private Map<Resource.Type, String> m_mapResourceIds = new HashMap<Resource.Type, String>();
//TODO: Refactor out of this class when setProperties is moved.
- private Map<PropertyId, Object> m_properties = new HashMap<PropertyId, Object>();
+ private Map<PropertyId, String> m_properties = new HashMap<PropertyId, String>();
/**
@@ -121,17 +121,17 @@ public abstract class BaseResourceDefini
//todo: refactor set/get property methods out of this class
@Override
- public void setProperty(PropertyId property, Object value) {
+ public void setProperty(PropertyId property, String value) {
m_properties.put(property, value);
}
@Override
- public void setProperties(Map<PropertyId, Object> mapProperties) {
+ public void setProperties(Map<PropertyId, String> mapProperties) {
m_properties.putAll(mapProperties);
}
@Override
- public Map<PropertyId, Object> getProperties() {
+ public Map<PropertyId, String> getProperties() {
return m_properties;
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/ResourceDefinition.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/ResourceDefinition.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/ResourceDefinition.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/resources/ResourceDefinition.java Tue Oct 9 05:21:04 2012
@@ -28,7 +28,6 @@ import org.apache.ambari.api.services.Re
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
* Resource Definition.
@@ -109,21 +108,21 @@ public interface ResourceDefinition {
* @param property the property
* @param value the value
*/
- public void setProperty(PropertyId property, Object value);
+ public void setProperty(PropertyId property, String value);
/**
* Set a map of properties on the resource.
*
* @param mapProperties a map of properties
*/
- public void setProperties(Map<PropertyId, Object> mapProperties);
+ public void setProperties(Map<PropertyId, String> mapProperties);
/**
* Get the properties which have been set on this resource.
*
* @return the properties which have been set on this resource
*/
- public Map<PropertyId, Object> getProperties();
+ public Map<PropertyId, String> getProperties();
/**
* Resource specific result processor.
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/BasePersistenceManager.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/BasePersistenceManager.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/BasePersistenceManager.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/BasePersistenceManager.java Tue Oct 9 05:21:04 2012
@@ -20,6 +20,7 @@ package org.apache.ambari.api.services;
import org.apache.ambari.api.controller.internal.RequestImpl;
import org.apache.ambari.api.controller.utilities.ClusterControllerHelper;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.spi.ClusterController;
import org.apache.ambari.server.controller.spi.PropertyId;
import org.apache.ambari.server.controller.spi.Request;
@@ -36,7 +37,7 @@ public abstract class BasePersistenceMan
return ClusterControllerHelper.getClusterController();
}
- protected Request createControllerRequest(Map<PropertyId, Object> properties) {
- return new RequestImpl(null, Collections.singleton(properties));
+ protected Request createControllerRequest(Map<PropertyId, String> properties) {
+ return PropertyHelper.getCreateRequest(Collections.singleton(properties));
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/Request.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/Request.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/Request.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/Request.java Tue Oct 9 05:21:04 2012
@@ -19,7 +19,6 @@
package org.apache.ambari.api.services;
import org.apache.ambari.api.resources.ResourceDefinition;
-import org.apache.ambari.api.services.parsers.RequestBodyParser;
import org.apache.ambari.api.services.serializers.ResultSerializer;
import org.apache.ambari.server.controller.spi.PropertyId;
@@ -120,7 +119,7 @@ public interface Request {
*
* @return a map containing the properties contained in the http body
*/
- public Map<PropertyId, Object> getHttpBodyProperties();
+ public Map<PropertyId, String> getHttpBodyProperties();
//TODO: refactor persistence mechanism
/**
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/RequestImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/RequestImpl.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/RequestImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/RequestImpl.java Tue Oct 9 05:21:04 2012
@@ -126,8 +126,8 @@ public class RequestImpl implements Requ
}
@Override
- public Map<PropertyId, Object> getHttpBodyProperties() {
- return m_body == null ? Collections.<PropertyId, Object>emptyMap() :
+ public Map<PropertyId, String> getHttpBodyProperties() {
+ return m_body == null ? Collections.<PropertyId, String>emptyMap() :
getHttpBodyParser().parse(getHttpBody());
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/JsonPropertyParser.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/JsonPropertyParser.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/JsonPropertyParser.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/JsonPropertyParser.java Tue Oct 9 05:21:04 2012
@@ -18,7 +18,7 @@
package org.apache.ambari.api.services.parsers;
-import org.apache.ambari.api.controller.utilities.Properties;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.spi.PropertyId;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.ObjectMapper;
@@ -33,10 +33,10 @@ import java.util.Map;
*/
public class JsonPropertyParser implements RequestBodyParser {
//todo: change value type to String when it is supported in back end
- private Map<PropertyId, Object> m_properties = new HashMap<PropertyId, Object>();
+ private Map<PropertyId, String> m_properties = new HashMap<PropertyId, String>();
@Override
- public Map<PropertyId, Object> parse(String s) {
+ public Map<PropertyId, String> parse(String s) {
ObjectMapper mapper = new ObjectMapper();
try {
@@ -57,7 +57,7 @@ public class JsonPropertyParser implemen
if (child.isContainerNode()) {
processNode(child, path.isEmpty() ? name : path + '.' + name);
} else {
- m_properties.put(Properties.getPropertyId(name, path), child.asText());
+ m_properties.put(PropertyHelper.getPropertyId(name, path), child.asText());
}
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/RequestBodyParser.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/RequestBodyParser.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/RequestBodyParser.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/main/java/org/apache/ambari/api/services/parsers/RequestBodyParser.java Tue Oct 9 05:21:04 2012
@@ -34,5 +34,5 @@ public interface RequestBodyParser {
*
* @return a map of properties or an empty map if no properties exist
*/
- public Map<PropertyId, Object> parse(String s);
+ public Map<PropertyId, String> parse(String s);
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/ganglia/GangliaHelperTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/ganglia/GangliaHelperTest.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/ganglia/GangliaHelperTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/ganglia/GangliaHelperTest.java Tue Oct 9 05:21:04 2012
@@ -45,8 +45,6 @@ public class GangliaHelperTest {
List<GangliaMetric> metrics = GangliaHelper.getGangliaMetrics(target, cluster, host, metric, startTime, endTime, step);
- System.out.println("GangliaHelperTest.testGetMetrics : api = " + metrics);
-
//TODO : assertions
}
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ClusterControllerImplTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ClusterControllerImplTest.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ClusterControllerImplTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ClusterControllerImplTest.java Tue Oct 9 05:21:04 2012
@@ -20,6 +20,7 @@ package org.apache.ambari.api.controller
import junit.framework.Assert;
import org.apache.ambari.api.controller.ProviderModule;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.spi.ClusterController;
import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.spi.PropertyId;
@@ -29,7 +30,6 @@ import org.apache.ambari.server.controll
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.spi.Schema;
import org.apache.ambari.api.controller.utilities.PredicateBuilder;
-import org.apache.ambari.api.controller.utilities.Properties;
import org.junit.Test;
import java.util.HashMap;
@@ -47,10 +47,10 @@ public class ClusterControllerImplTest {
private static final Set<PropertyId> propertyProviderProperties = new HashSet<PropertyId>();
static {
- propertyProviderProperties.add(Properties.getPropertyId("p5", "c3"));
- propertyProviderProperties.add(Properties.getPropertyId("p6", "c3"));
- propertyProviderProperties.add(Properties.getPropertyId("p7", "c4"));
- propertyProviderProperties.add(Properties.getPropertyId("p8", "c4"));
+ propertyProviderProperties.add(PropertyHelper.getPropertyId("p5", "c3"));
+ propertyProviderProperties.add(PropertyHelper.getPropertyId("p6", "c3"));
+ propertyProviderProperties.add(PropertyHelper.getPropertyId("p7", "c4"));
+ propertyProviderProperties.add(PropertyHelper.getPropertyId("p8", "c4"));
}
private static final PropertyProvider propertyProvider = new PropertyProvider() {
@@ -59,10 +59,10 @@ public class ClusterControllerImplTest {
int cnt = 0;
for (Resource resource : resources){
- resource.setProperty(Properties.getPropertyId("p5", "c3"), cnt + 100);
- resource.setProperty(Properties.getPropertyId("p6", "c3"), cnt % 2);
- resource.setProperty(Properties.getPropertyId("p7", "c4"), "monkey");
- resource.setProperty(Properties.getPropertyId("p8", "c4"), "runner");
+ resource.setProperty(PropertyHelper.getPropertyId("p5", "c3"), cnt + 100);
+ resource.setProperty(PropertyHelper.getPropertyId("p6", "c3"), cnt % 2);
+ resource.setProperty(PropertyHelper.getPropertyId("p7", "c4"), "monkey");
+ resource.setProperty(PropertyHelper.getPropertyId("p8", "c4"), "runner");
++cnt;
}
return resources;
@@ -85,10 +85,10 @@ public class ClusterControllerImplTest {
private static final Set<PropertyId> resourceProviderProperties = new HashSet<PropertyId>();
static {
- resourceProviderProperties.add(Properties.getPropertyId("p1", "c1"));
- resourceProviderProperties.add(Properties.getPropertyId("p2", "c1"));
- resourceProviderProperties.add(Properties.getPropertyId("p3", "c1"));
- resourceProviderProperties.add(Properties.getPropertyId("p4", "c2"));
+ resourceProviderProperties.add(PropertyHelper.getPropertyId("p1", "c1"));
+ resourceProviderProperties.add(PropertyHelper.getPropertyId("p2", "c1"));
+ resourceProviderProperties.add(PropertyHelper.getPropertyId("p3", "c1"));
+ resourceProviderProperties.add(PropertyHelper.getPropertyId("p4", "c2"));
}
private static final ResourceProvider resourceProvider = new ResourceProvider() {
@@ -100,10 +100,10 @@ public class ClusterControllerImplTest {
for (int cnt = 0; cnt < 4; ++ cnt) {
ResourceImpl resource = new ResourceImpl(Resource.Type.Host);
- resource.setProperty(Properties.getPropertyId("p1", "c1"), cnt);
- resource.setProperty(Properties.getPropertyId("p2", "c1"), cnt % 2);
- resource.setProperty(Properties.getPropertyId("p3", "c1"), "foo");
- resource.setProperty(Properties.getPropertyId("p4", "c2"), "bar");
+ resource.setProperty(PropertyHelper.getPropertyId("p1", "c1"), cnt);
+ resource.setProperty(PropertyHelper.getPropertyId("p2", "c1"), cnt % 2);
+ resource.setProperty(PropertyHelper.getPropertyId("p3", "c1"), "foo");
+ resource.setProperty(PropertyHelper.getPropertyId("p4", "c2"), "bar");
resources.add(resource);
}
@@ -144,19 +144,19 @@ public class ClusterControllerImplTest {
private static final Set<PropertyId> propertyIds = new HashSet<PropertyId>();
static {
- propertyIds.add(Properties.getPropertyId("p1", "c1"));
- propertyIds.add(Properties.getPropertyId("p2", "c1"));
- propertyIds.add(Properties.getPropertyId("p3", "c2"));
- propertyIds.add(Properties.getPropertyId("p4", "c3"));
- propertyIds.add(Properties.getPropertyId("p5", "c3"));
- propertyIds.add(Properties.getPropertyId("p7", "c4"));
+ propertyIds.add(PropertyHelper.getPropertyId("p1", "c1"));
+ propertyIds.add(PropertyHelper.getPropertyId("p2", "c1"));
+ propertyIds.add(PropertyHelper.getPropertyId("p3", "c2"));
+ propertyIds.add(PropertyHelper.getPropertyId("p4", "c3"));
+ propertyIds.add(PropertyHelper.getPropertyId("p5", "c3"));
+ propertyIds.add(PropertyHelper.getPropertyId("p7", "c4"));
}
@Test
public void testGetResources() throws Exception{
ClusterController controller = new ClusterControllerImpl(new TestProviderModule());
- Request request = new RequestImpl(propertyIds, null);
+ Request request = PropertyHelper.getReadRequest(propertyIds);
Iterable<Resource> iterable = controller.getResources(Resource.Type.Host, request, null);
@@ -172,7 +172,7 @@ public class ClusterControllerImplTest {
public void testGetResourcesWithPredicate() throws Exception{
ClusterController controller = new ClusterControllerImpl(new TestProviderModule());
- Request request = new RequestImpl(propertyIds, null);
+ Request request = PropertyHelper.getReadRequest(propertyIds);
Predicate predicate = new PredicateBuilder().property("p2", "c1").equals(1).toPredicate();
@@ -226,10 +226,10 @@ public class ClusterControllerImplTest {
for (int cnt = 0; cnt < 4; ++ cnt) {
ResourceImpl resource = new ResourceImpl(Resource.Type.Host);
- resource.setProperty(Properties.getPropertyId("p1", "c1"), cnt);
- resource.setProperty(Properties.getPropertyId("p2", "c1"), cnt % 2);
- resource.setProperty(Properties.getPropertyId("p3", "c1"), "foo");
- resource.setProperty(Properties.getPropertyId("p4", "c2"), "bar");
+ resource.setProperty(PropertyHelper.getPropertyId("p1", "c1"), cnt);
+ resource.setProperty(PropertyHelper.getPropertyId("p2", "c1"), cnt % 2);
+ resource.setProperty(PropertyHelper.getPropertyId("p3", "c1"), "foo");
+ resource.setProperty(PropertyHelper.getPropertyId("p4", "c2"), "bar");
resources.add(resource);
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/RequestImplTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/RequestImplTest.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/RequestImplTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/RequestImplTest.java Tue Oct 9 05:21:04 2012
@@ -19,9 +19,9 @@
package org.apache.ambari.api.controller.internal;
import junit.framework.Assert;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.spi.PropertyId;
import org.apache.ambari.server.controller.spi.Request;
-import org.apache.ambari.api.controller.utilities.Properties;
import org.junit.Test;
import java.util.HashSet;
@@ -35,15 +35,15 @@ public class RequestImplTest {
private static final Set<PropertyId> propertyIds = new HashSet<PropertyId>();
static {
- propertyIds.add(Properties.getPropertyId("p1", "c1"));
- propertyIds.add(Properties.getPropertyId("p2", "c1"));
- propertyIds.add(Properties.getPropertyId("p3", "c2"));
- propertyIds.add(Properties.getPropertyId("p4", "c3"));
+ propertyIds.add(PropertyHelper.getPropertyId("p1", "c1"));
+ propertyIds.add(PropertyHelper.getPropertyId("p2", "c1"));
+ propertyIds.add(PropertyHelper.getPropertyId("p3", "c2"));
+ propertyIds.add(PropertyHelper.getPropertyId("p4", "c3"));
}
@Test
public void testGetPropertyIds() {
- Request request = new RequestImpl(propertyIds, null);
+ Request request = PropertyHelper.getReadRequest(propertyIds);
Assert.assertEquals(propertyIds, request.getPropertyIds());
}
Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ResourceImplTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ResourceImplTest.java?rev=1395862&r1=1395861&r2=1395862&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ResourceImplTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/controller/internal/ResourceImplTest.java Tue Oct 9 05:21:04 2012
@@ -19,9 +19,9 @@
package org.apache.ambari.api.controller.internal;
import junit.framework.Assert;
+import org.apache.ambari.api.controller.utilities.PropertyHelper;
import org.apache.ambari.server.controller.spi.PropertyId;
import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.api.controller.utilities.Properties;
import org.junit.Test;
/**
@@ -51,7 +51,7 @@ public class ResourceImplTest {
public void testSetGetProperty() {
Resource resource = new ResourceImpl(Resource.Type.Cluster);
- PropertyId propertyId = Properties.getPropertyId("p1", "c1");
+ PropertyId propertyId = PropertyHelper.getPropertyId("p1", "c1");
resource.setProperty(propertyId, "foo");
Assert.assertEquals("foo", resource.getPropertyValue(propertyId));