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/08 03:38:08 UTC

svn commit: r1395430 [6/13] - in /incubator/ambari/branches/AMBARI-666: ./ ambari-agent/src/main/puppet/manifestloader/ ambari-agent/src/main/puppet/modules/configgenerator/manifests/ ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/ ambari-ag...

Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/query/QueryImplTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/query/QueryImplTest.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/query/QueryImplTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/query/QueryImplTest.java Mon Oct  8 01:37:59 2012
@@ -1,32 +1,12 @@
-/**
- * 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.query;
 
 import org.apache.ambari.api.controller.internal.PropertyIdImpl;
-import org.apache.ambari.api.controller.predicate.EqualsPredicate;
+import org.apache.ambari.server.controller.predicate.EqualsPredicate;
 import org.apache.ambari.api.resource.ResourceDefinition;
 import org.apache.ambari.api.services.Result;
-import org.apache.ambari.api.controller.spi.ClusterController;
-import org.apache.ambari.api.controller.spi.Predicate;
-import org.apache.ambari.api.controller.spi.Request;
-import org.apache.ambari.api.controller.spi.Resource;
-import org.apache.ambari.api.controller.spi.Schema;
+import org.apache.ambari.server.controller.spi.*;
 import org.apache.ambari.api.controller.utilities.PredicateBuilder;
+import org.junit.After;
 import org.junit.Test;
 
 import java.util.*;
@@ -37,230 +17,250 @@ import static org.junit.Assert.assertSam
 
 
 /**
- *
+ * Created with IntelliJ IDEA.
+ * User: john
+ * Date: 9/12/12
+ * Time: 12:55 PM
+ * To change this template use File | Settings | File Templates.
  */
 public class QueryImplTest {
-  @Test
-  public void testExecute__Component_Instance() {
-    ResourceDefinition componentResourceDef = createMock(ResourceDefinition.class);
-    ResourceDefinition hostComponentResourceDef = createStrictMock(ResourceDefinition.class);
-    Request request = createStrictMock(Request.class);
-    Result result = createStrictMock(Result.class);
-    ClusterController controller = createStrictMock(ClusterController.class);
-    Schema componentSchema = createMock(Schema.class);
-    Resource componentResource = createStrictMock(Resource.class);
-    Query hostComponentQuery = createStrictMock(Query.class);
-    Result hostComponentQueryResult = createStrictMock(Result.class);
-    Resource hostComponentResource = createStrictMock(Resource.class);
-
-    List<Resource> listResources = new ArrayList<Resource>();
-    listResources.add(componentResource);
-
-    Map<Resource.Type, String> mapResourceIds = new HashMap<Resource.Type, String>();
-    mapResourceIds.put(Resource.Type.Cluster, "clusterName");
-    mapResourceIds.put(Resource.Type.Service, "serviceName");
-    mapResourceIds.put(Resource.Type.Component, "componentName");
-
-    Set<ResourceDefinition> setChildren = new HashSet<ResourceDefinition>();
-    Set<ResourceDefinition> setForeign = new HashSet<ResourceDefinition>();
-    setForeign.add(hostComponentResourceDef);
-
-    Map<String, List<Resource>> mapHostComponentResources = new HashMap<String, List<Resource>>();
-    mapHostComponentResources.put("/", Collections.singletonList(hostComponentResource));
-
-    // expectations
-    expect(componentResourceDef.getType()).andReturn(Resource.Type.Component).atLeastOnce();
-    expect(componentResourceDef.getResourceIds()).andReturn(mapResourceIds);
-    expect(controller.getSchema(Resource.Type.Component)).andReturn(componentSchema).atLeastOnce();
-    expect(componentSchema.getKeyPropertyId(Resource.Type.Cluster)).andReturn(new PropertyIdImpl("clusterId", "", false));
-    expect(componentSchema.getKeyPropertyId(Resource.Type.Service)).andReturn(new PropertyIdImpl("serviceId", "", false));
-    expect(componentSchema.getKeyPropertyId(Resource.Type.Component)).andReturn(new PropertyIdImpl("componentId", "", false));
-
-    expect(componentResourceDef.getId()).andReturn("componentName").atLeastOnce();
-    expect(componentResourceDef.getChildren()).andReturn(setChildren);
-    expect(componentResourceDef.getRelations()).andReturn(setForeign);
-    expect(hostComponentResourceDef.getQuery()).andReturn(hostComponentQuery);
-
-    PredicateBuilder pb = new PredicateBuilder();
-    Predicate predicate = pb.property("clusterId", "").equals("clusterName").and().
-        property("serviceId", "").equals("serviceName").and().
-        property("componentId", "").equals("componentName").toPredicate();
-
-    expect(controller.getResources(eq(Resource.Type.Component), eq(request), eq(predicate))).
-        andReturn(listResources);
-
-    result.addResources("/", listResources);
-
-    expect(hostComponentQuery.execute()).andReturn(hostComponentQueryResult);
-    expect(hostComponentQueryResult.getResources()).andReturn(mapHostComponentResources);
-    expect(hostComponentResourceDef.getId()).andReturn("hostComponentName");
-    expect(hostComponentResourceDef.getSingularName()).andReturn("host_component");
-    result.addResources("host_component", Collections.singletonList(hostComponentResource));
-
-    replay(componentResourceDef, request, result, controller, componentSchema, componentResource,
-        hostComponentResourceDef, hostComponentQuery, hostComponentQueryResult, hostComponentResource);
-
-    QueryImpl query = new TestQuery(componentResourceDef, result, request, controller);
-    Result testResult = query.execute();
-    // todo: assert return value.  This is currently a mock.
-
-    verify(componentResourceDef, request, result, controller, componentSchema, componentResource,
-        hostComponentResourceDef, hostComponentQuery, hostComponentQueryResult, hostComponentResource);
-  }
-
-  @Test
-  public void testExecute__Component_Collection() {
-    ResourceDefinition componentResourceDef = createMock(ResourceDefinition.class);
-    Request request = createStrictMock(Request.class);
-    Result result = createStrictMock(Result.class);
-    ClusterController controller = createStrictMock(ClusterController.class);
-    Schema componentSchema = createMock(Schema.class);
-    Resource componentResource1 = createStrictMock(Resource.class);
-    Resource componentResource2 = createStrictMock(Resource.class);
-
-    List<Resource> listResources = new ArrayList<Resource>();
-    listResources.add(componentResource1);
-    listResources.add(componentResource2);
-
-    Map<Resource.Type, String> mapResourceIds = new HashMap<Resource.Type, String>();
-    mapResourceIds.put(Resource.Type.Cluster, "clusterName");
-    mapResourceIds.put(Resource.Type.Service, "serviceName");
-
-    // expectations
-    expect(componentResourceDef.getType()).andReturn(Resource.Type.Component).atLeastOnce();
-    expect(componentResourceDef.getResourceIds()).andReturn(mapResourceIds);
-    expect(controller.getSchema(Resource.Type.Component)).andReturn(componentSchema).atLeastOnce();
-    expect(componentSchema.getKeyPropertyId(Resource.Type.Cluster)).andReturn(new PropertyIdImpl("clusterId", "", false));
-    expect(componentSchema.getKeyPropertyId(Resource.Type.Service)).andReturn(new PropertyIdImpl("serviceId", "", false));
-
-    expect(componentResourceDef.getId()).andReturn(null).atLeastOnce();
-
-    PredicateBuilder pb = new PredicateBuilder();
-    Predicate predicate = pb.property("clusterId", "").equals("clusterName").and().
-        property("serviceId", "").equals("serviceName").toPredicate();
-
-    expect(controller.getResources(eq(Resource.Type.Component), eq(request), eq(predicate))).
-        andReturn(listResources);
-
-    result.addResources("/", listResources);
-
-    replay(componentResourceDef, request, result, controller, componentSchema, componentResource1, componentResource2);
-
-    QueryImpl query = new TestQuery(componentResourceDef, result, request, controller);
-    Result testResult = query.execute();
-    // todo: assert return value.  This is currently a mock.
-
-    verify(componentResourceDef, request, result, controller, componentSchema, componentResource1, componentResource2);
-  }
-
-  @Test
-  public void testExecute__Cluster_Instance() {
-    ResourceDefinition clusterResourceDef = createMock(ResourceDefinition.class);
-    ResourceDefinition serviceResourceDef = createMock(ResourceDefinition.class);
-    ResourceDefinition hostResourceDef = createMock(ResourceDefinition.class);
-    Request request = createStrictMock(Request.class);
-    Result result = createMock(Result.class);
-    ClusterController controller = createStrictMock(ClusterController.class);
-    Schema clusterSchema = createMock(Schema.class);
-    Resource clusterResource = createStrictMock(Resource.class);
-    Query serviceQuery = createStrictMock(Query.class);
-    Result serviceQueryResult = createStrictMock(Result.class);
-    Resource serviceResource = createStrictMock(Resource.class);
-    Resource serviceResource2 = createStrictMock(Resource.class);
-    Query hostQuery = createStrictMock(Query.class);
-    Result hostQueryResult = createStrictMock(Result.class);
-    Resource hostResource = createStrictMock(Resource.class);
-
-    List<Resource> listResources = new ArrayList<Resource>();
-    listResources.add(clusterResource);
-
-    Map<Resource.Type, String> mapResourceIds = new HashMap<Resource.Type, String>();
-    mapResourceIds.put(Resource.Type.Cluster, "clusterName");
-
-    Set<ResourceDefinition> setChildren = new HashSet<ResourceDefinition>();
-    setChildren.add(serviceResourceDef);
-    setChildren.add(hostResourceDef);
-    Set<ResourceDefinition> setForeign = new HashSet<ResourceDefinition>();
-
-    Map<String, List<Resource>> mapServiceResources = new HashMap<String, List<Resource>>();
-    List<Resource> listServiceResources = new ArrayList<Resource>();
-    listServiceResources.add(serviceResource);
-    listServiceResources.add(serviceResource2);
-    mapServiceResources.put("/", listServiceResources);
-
-    Map<String, List<Resource>> mapHostResources = new HashMap<String, List<Resource>>();
-    mapHostResources.put("/", Collections.singletonList(hostResource));
-
-    // expectations
-    expect(clusterResourceDef.getType()).andReturn(Resource.Type.Cluster).atLeastOnce();
-    expect(clusterResourceDef.getResourceIds()).andReturn(mapResourceIds);
-    expect(controller.getSchema(Resource.Type.Cluster)).andReturn(clusterSchema).atLeastOnce();
-    expect(clusterSchema.getKeyPropertyId(Resource.Type.Cluster)).andReturn(new PropertyIdImpl("clusterId", "", false));
-    expect(clusterResourceDef.getId()).andReturn("clusterName").atLeastOnce();
-
-    expect(clusterResourceDef.getChildren()).andReturn(setChildren);
-    expect(serviceResourceDef.getQuery()).andReturn(serviceQuery);
-    expect(hostResourceDef.getQuery()).andReturn(hostQuery);
-    expect(clusterResourceDef.getRelations()).andReturn(setForeign);
-
-    Predicate clusterEqualsPredicate = new EqualsPredicate(new PropertyIdImpl("clusterId", "", false), "clusterName");
-
-    expect(controller.getResources(eq(Resource.Type.Cluster), eq(request), eq(clusterEqualsPredicate))).
-        andReturn(listResources);
-
-    result.addResources("/", listResources);
-
-    expect(serviceQuery.execute()).andReturn(serviceQueryResult);
-    expect(serviceQueryResult.getResources()).andReturn(mapServiceResources);
-    expect(serviceResourceDef.getId()).andReturn(null);
-    expect(serviceResourceDef.getPluralName()).andReturn("services");
-    result.addResources("services", listServiceResources);
-
-    expect(hostQuery.execute()).andReturn(hostQueryResult);
-    expect(hostQueryResult.getResources()).andReturn(mapHostResources);
-    expect(hostResourceDef.getId()).andReturn(null);
-    expect(hostResourceDef.getPluralName()).andReturn("hosts");
-    result.addResources("hosts", Collections.singletonList(hostResource));
-
-    replay(clusterResourceDef, request, result, controller, clusterSchema, clusterResource,
-        serviceResourceDef, serviceQuery, serviceQueryResult, serviceResource, serviceResource2,
-        hostResourceDef, hostQuery, hostQueryResult, hostResource);
-
-    QueryImpl query = new TestQuery(clusterResourceDef, result, request, controller);
-    Result testResult = query.execute();
-    // todo: assert return value.  This is currently a mock.
-
-    verify(clusterResourceDef, request, result, controller, clusterSchema, clusterResource,
-        serviceResourceDef, serviceQuery, serviceQueryResult, serviceResource, serviceResource2,
-        hostResourceDef, hostQuery, hostQueryResult, hostResource);
-  }
-
-  private class TestQuery extends QueryImpl {
-
-    private Result m_result;
-    private Request m_request;
-    private ClusterController m_clusterController;
-
-    public TestQuery(ResourceDefinition resourceDefinition, Result result, Request request, ClusterController controller) {
-      super(resourceDefinition);
-      m_result = result;
-      m_request = request;
-      m_clusterController = controller;
-    }
-
-    @Override
-    Result createResult() {
-      return m_result;
-    }
-
-    @Override
-    Request createRequest() {
-      return m_request;
-    }
 
-    @Override
-    ClusterController getClusterController() {
-      return m_clusterController;
-    }
-  }
+//    ClusterController m_controller = createStrictMock(ClusterController.class);
+//    @Test
+//    public void testExecute__Component_Instance() throws Exception {
+//        ResourceDefinition componentResourceDef = createMock(ResourceDefinition.class);
+//        ResourceDefinition hostComponentResourceDef = createStrictMock(ResourceDefinition.class);
+//        Request request = createStrictMock(Request.class);
+//        Result result = createStrictMock(Result.class);
+//
+//        Schema componentSchema = createMock(Schema.class);
+//        Resource componentResource = createStrictMock(Resource.class);
+//        Query hostComponentQuery = createStrictMock(Query.class);
+//        Result hostComponentQueryResult  = createStrictMock(Result.class);
+//        Resource hostComponentResource = createStrictMock(Resource.class);
+//
+//        List<Resource> listResources = new ArrayList<Resource>();
+//        listResources.add(componentResource);
+//
+//        Map<Resource.Type, String> mapResourceIds = new HashMap<Resource.Type, String>();
+//        mapResourceIds.put(Resource.Type.Cluster, "clusterName");
+//        mapResourceIds.put(Resource.Type.Service, "serviceName");
+//        mapResourceIds.put(Resource.Type.Component, "componentName");
+//
+//        Set<ResourceDefinition> setChildren = new HashSet<ResourceDefinition>();
+//        Set<ResourceDefinition> setForeign = new HashSet<ResourceDefinition>();
+//        setForeign.add(hostComponentResourceDef);
+//
+//        Map<String, List<Resource>> mapHostComponentResources = new HashMap<String, List<Resource>>();
+//        mapHostComponentResources.put("/", Collections.singletonList(hostComponentResource));
+//
+//        // expectations
+//        expect(componentResourceDef.getType()).andReturn(Resource.Type.Component).atLeastOnce();
+//        expect(componentResourceDef.getResourceIds()).andReturn(mapResourceIds);
+//        expect(m_controller.getSchema(Resource.Type.Component)).andReturn(componentSchema).atLeastOnce();
+//        expect(componentSchema.getKeyPropertyId(Resource.Type.Cluster)).andReturn(new PropertyIdImpl("clusterId", "", false));
+//        expect(componentSchema.getKeyPropertyId(Resource.Type.Service)).andReturn(new PropertyIdImpl("serviceId", "", false));
+//        expect(componentSchema.getKeyPropertyId(Resource.Type.Component)).andReturn(new PropertyIdImpl("componentId", "", false));
+//
+//        expect(componentResourceDef.getId()).andReturn("componentName").atLeastOnce();
+//        //expect(componentResourceDef.getChildren()).andReturn(setChildren);
+//        //expect(componentResourceDef.getRelations()).andReturn(setForeign);
+//        expect(hostComponentResourceDef.getQuery()).andReturn(hostComponentQuery);
+//
+//        PredicateBuilder pb = new PredicateBuilder();
+//        Predicate predicate = pb.property("clusterId", "").equals("clusterName").and().
+//                property("serviceId", "").equals("serviceName").and().
+//                property("componentId", "").equals("componentName").toPredicate();
+//
+//        expect(m_controller.getResources(eq(Resource.Type.Component), eq(request), eq(predicate))).
+//                andReturn(listResources);
+//
+//        result.addResources("/", listResources);
+//
+//        expect(hostComponentQuery.execute()).andReturn(hostComponentQueryResult);
+//        expect(hostComponentQueryResult.getResources()).andReturn(mapHostComponentResources);
+//        expect(hostComponentResourceDef.getId()).andReturn("hostComponentName");
+//        expect(hostComponentResourceDef.getSingularName()).andReturn("host_component");
+//        result.addResources("host_component", Collections.singletonList(hostComponentResource));
+//
+//        replay(componentResourceDef, request, result, m_controller, componentSchema, componentResource,
+//                hostComponentResourceDef, hostComponentQuery, hostComponentQueryResult, hostComponentResource);
+//
+//        QueryImpl query = new TestQuery(componentResourceDef, result, request);
+//        Result testResult = query.execute();
+//        // todo: assert return value.  This is currently a mock.
+//
+//        verify(componentResourceDef, request, result, m_controller, componentSchema, componentResource,
+//                hostComponentResourceDef, hostComponentQuery, hostComponentQueryResult, hostComponentResource);
+//    }
+//
+//    @Test
+//    public void testExecute__Component_Collection() {
+//        ResourceDefinition componentResourceDef = createMock(ResourceDefinition.class);
+//        Request request = createStrictMock(Request.class);
+//        Result result = createStrictMock(Result.class);
+//
+//        Schema componentSchema = createMock(Schema.class);
+//        Resource componentResource1 = createStrictMock(Resource.class);
+//        Resource componentResource2 = createStrictMock(Resource.class);
+//
+//        List<Resource> listResources = new ArrayList<Resource>();
+//        listResources.add(componentResource1);
+//        listResources.add(componentResource2);
+//
+//        Map<Resource.Type, String> mapResourceIds = new HashMap<Resource.Type, String>();
+//        mapResourceIds.put(Resource.Type.Cluster, "clusterName");
+//        mapResourceIds.put(Resource.Type.Service, "serviceName");
+//
+//        // expectations
+//        expect(componentResourceDef.getType()).andReturn(Resource.Type.Component).atLeastOnce();
+//        expect(componentResourceDef.getResourceIds()).andReturn(mapResourceIds);
+//        expect(m_controller.getSchema(Resource.Type.Component)).andReturn(componentSchema).atLeastOnce();
+//        expect(componentSchema.getKeyPropertyId(Resource.Type.Cluster)).andReturn(new PropertyIdImpl("clusterId", "", false));
+//        expect(componentSchema.getKeyPropertyId(Resource.Type.Service)).andReturn(new PropertyIdImpl("serviceId", "", false));
+//
+//        expect(componentResourceDef.getId()).andReturn(null).atLeastOnce();
+//
+//        PredicateBuilder pb = new PredicateBuilder();
+//        Predicate predicate = pb.property("clusterId", "").equals("clusterName").and().
+//                property("serviceId", "").equals("serviceName").toPredicate();
+//
+//        expect(m_controller.getResources(eq(Resource.Type.Component), eq(request), eq(predicate))).
+//                andReturn(listResources);
+//
+//        result.addResources("/", listResources);
+//
+//        replay(componentResourceDef, request, result, m_controller, componentSchema, componentResource1, componentResource2);
+//
+//        QueryImpl query = new TestQuery(componentResourceDef, result, request);
+//        Result testResult = query.execute();
+//        // todo: assert return value.  This is currently a mock.
+//
+//        verify(componentResourceDef, request, result, m_controller, componentSchema, componentResource1, componentResource2);
+//    }
+//
+//    @Test
+//    public void testExecute__Cluster_Instance() {
+//        ResourceDefinition clusterResourceDef = createMock(ResourceDefinition.class);
+//        ResourceDefinition serviceResourceDef = createMock(ResourceDefinition.class);
+//        ResourceDefinition hostResourceDef = createMock(ResourceDefinition.class);
+//        Request request = createStrictMock(Request.class);
+//        Result result = createMock(Result.class);
+//
+//        Schema clusterSchema = createMock(Schema.class);
+//        Resource clusterResource = createStrictMock(Resource.class);
+//        Query serviceQuery = createStrictMock(Query.class);
+//        Result serviceQueryResult  = createStrictMock(Result.class);
+//        Resource serviceResource = createStrictMock(Resource.class);
+//        Resource serviceResource2 = createStrictMock(Resource.class);
+//        Query hostQuery = createStrictMock(Query.class);
+//        Result hostQueryResult  = createStrictMock(Result.class);
+//        Resource hostResource = createStrictMock(Resource.class);
+//
+//        List<Resource> listResources = new ArrayList<Resource>();
+//        listResources.add(clusterResource);
+//
+//        Map<Resource.Type, String> mapResourceIds = new HashMap<Resource.Type, String>();
+//        mapResourceIds.put(Resource.Type.Cluster, "clusterName");
+//
+//        Set<ResourceDefinition> setChildren = new HashSet<ResourceDefinition>();
+//        setChildren.add(serviceResourceDef);
+//        setChildren.add(hostResourceDef);
+//        Set<ResourceDefinition> setForeign = new HashSet<ResourceDefinition>();
+//
+//        Map<String, List<Resource>> mapServiceResources = new HashMap<String, List<Resource>>();
+//        List<Resource> listServiceResources = new ArrayList<Resource>();
+//        listServiceResources.add(serviceResource);
+//        listServiceResources.add(serviceResource2);
+//        mapServiceResources.put("/", listServiceResources);
+//
+//        Map<String, List<Resource>> mapHostResources = new HashMap<String, List<Resource>>();
+//        mapHostResources.put("/", Collections.singletonList(hostResource));
+//
+//        Map<String, Set<String>> mapPropertiesAll = new HashMap<String, Set<String>>();
+//        Set<String> setRootProps = new HashSet<String>();
+//        Set<String> setCategoryProps = new HashSet<String>();
+//        mapPropertiesAll.put(null,setRootProps);
+//        mapPropertiesAll.put("category", setCategoryProps);
+//
+//
+//        // expectations
+//        expect(clusterResourceDef.getType()).andReturn(Resource.Type.Cluster).atLeastOnce();
+//        expect(m_controller.getSchema(Resource.Type.Cluster)).andReturn(clusterSchema).atLeastOnce();
+//        expect(clusterSchema.getCategories()).andReturn(mapPropertiesAll);
+//
+//        expect(clusterResourceDef.getResourceIds()).andReturn(mapResourceIds);
+//        expect(clusterSchema.getKeyPropertyId(Resource.Type.Cluster)).andReturn(new PropertyIdImpl("clusterId", "", false));
+//        expect(clusterResourceDef.getId()).andReturn("clusterName").atLeastOnce();
+//
+//
+//        //expect(clusterResourceDef.getChildren()).andReturn(setChildren);
+//        expect(serviceResourceDef.getQuery()).andReturn(serviceQuery);
+//        expect(hostResourceDef.getQuery()).andReturn(hostQuery);
+//        //expect(clusterResourceDef.getRelations()).andReturn(setForeign);
+//
+//        Predicate clusterEqualsPredicate = new EqualsPredicate(new PropertyIdImpl("clusterId", "", false), "clusterName");
+//
+//        expect(m_controller.getResources(eq(Resource.Type.Cluster), eq(request), eq(clusterEqualsPredicate))).
+//                andReturn(listResources);
+//
+//        result.addResources("/", listResources);
+//
+//        expect(serviceQuery.execute()).andReturn(serviceQueryResult);
+//        expect(serviceQueryResult.getResources()).andReturn(mapServiceResources);
+//        expect(serviceResourceDef.getId()).andReturn(null);
+//        expect(serviceResourceDef.getPluralName()).andReturn("services");
+//        result.addResources("services",listServiceResources);
+//
+//        expect(hostQuery.execute()).andReturn(hostQueryResult);
+//        expect(hostQueryResult.getResources()).andReturn(mapHostResources);
+//        expect(hostResourceDef.getId()).andReturn(null);
+//        expect(hostResourceDef.getPluralName()).andReturn("hosts");
+//        result.addResources("hosts", Collections.singletonList(hostResource));
+//
+//        replay(clusterResourceDef, request, result, m_controller, clusterSchema, clusterResource,
+//                serviceResourceDef, serviceQuery, serviceQueryResult, serviceResource, serviceResource2,
+//                hostResourceDef, hostQuery, hostQueryResult, hostResource);
+//
+//        // test
+//        QueryImpl query = new TestQuery(clusterResourceDef, result, request);
+//        Result testResult = query.execute();
+//        // todo: assert return value.  This is currently a mock.
+//
+//        verify(clusterResourceDef, request, result, m_controller, clusterSchema, clusterResource,
+//                serviceResourceDef, serviceQuery, serviceQueryResult, serviceResource, serviceResource2,
+//                hostResourceDef, hostQuery, hostQueryResult, hostResource);
+//    }
+//
+//    private class TestQuery extends QueryImpl {
+//
+//        private Result m_result;
+//        private Request m_request;
+//
+//        public TestQuery(ResourceDefinition resourceDefinition, Result result, Request request) {
+//            super(resourceDefinition);
+//            m_result = result;
+//            m_request = request;
+//        }
+//
+//        @Override
+//        Result createResult() {
+//            return m_result;
+//        }
+//
+//        @Override
+//        Request createRequest() {
+//            return m_request;
+//        }
+//
+//        @Override
+//        ClusterController getClusterController() {
+//            return m_controller;
+//        }
+//    }
+//
+//    @After
+//    public void resetGlobalMocks() {
+//        reset(m_controller);
+//    }
 }

Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ClusterServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ClusterServiceTest.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ClusterServiceTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ClusterServiceTest.java Mon Oct  8 01:37:59 2012
@@ -1,25 +1,8 @@
-/**
- * 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.services;
 
 import org.apache.ambari.api.handlers.RequestHandler;
 import org.apache.ambari.api.resource.ResourceDefinition;
-import org.apache.ambari.api.services.formatters.ResultFormatter;
+import org.apache.ambari.api.services.serializers.ResultSerializer;
 import org.junit.Test;
 
 import javax.ws.rs.core.HttpHeaders;
@@ -32,16 +15,18 @@ import static org.junit.Assert.assertSam
 
 
 /**
- *
+ * Created with IntelliJ IDEA.
+ * User: john
+ * Date: 6/21/12
+ * Time: 2:06 PM
+ * To change this template use File | Settings | File Templates.
  */
 public class ClusterServiceTest {
 
   @Test
   public void testGetCluster() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -49,41 +34,35 @@ public class ClusterServiceTest {
     RequestHandler requestHandler = createStrictMock(RequestHandler.class);
     Result result = createStrictMock(Result.class);
     Response response = createStrictMock(Response.class);
-
     HttpHeaders httpHeaders = createNiceMock(HttpHeaders.class);
     UriInfo uriInfo = createNiceMock(UriInfo.class);
 
     String clusterName = "clusterName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
     ClusterService clusterService = new TestClusterService(resourceDef, clusterName, requestFactory, responseFactory, requestHandler);
     assertSame(response, clusterService.getCluster(httpHeaders, uriInfo, clusterName));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 
   @Test
   public void testGetClusters() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -96,25 +75,130 @@ public class ClusterServiceTest {
     UriInfo uriInfo = createNiceMock(UriInfo.class);
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
     ClusterService clusterService = new TestClusterService(resourceDef, null, requestFactory, responseFactory, requestHandler);
     assertSame(response, clusterService.getClusters(httpHeaders, uriInfo));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+  }
+
+  @Test
+  public void testCreateCluster() {
+    ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
+    Object serializedResult = new Object();
+    RequestFactory requestFactory = createStrictMock(RequestFactory.class);
+    ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
+    Request request = createNiceMock(Request.class);
+    RequestHandler requestHandler = createStrictMock(RequestHandler.class);
+    Result result = createStrictMock(Result.class);
+    Response response = createStrictMock(Response.class);
+    HttpHeaders httpHeaders = createNiceMock(HttpHeaders.class);
+    UriInfo uriInfo = createNiceMock(UriInfo.class);
+
+    String clusterName = "clusterName";
+
+    // expectations
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.PUT),
+        eq(resourceDef))).andReturn(request);
+
+    expect(requestHandler.handleRequest(request)).andReturn(result);
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
+    expect(responseFactory.createResponse(serializedResult)).andReturn(response);
+
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+
+    //test
+    ClusterService clusterService = new TestClusterService(resourceDef, clusterName, requestFactory, responseFactory, requestHandler);
+    assertSame(response, clusterService.createCluster(httpHeaders, uriInfo, clusterName));
+
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+  }
+
+  @Test
+  public void testUpdateCluster() {
+    ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
+    Object serializedResult = new Object();
+    RequestFactory requestFactory = createStrictMock(RequestFactory.class);
+    ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
+    Request request = createNiceMock(Request.class);
+    RequestHandler requestHandler = createStrictMock(RequestHandler.class);
+    Result result = createStrictMock(Result.class);
+    Response response = createStrictMock(Response.class);
+    HttpHeaders httpHeaders = createNiceMock(HttpHeaders.class);
+    UriInfo uriInfo = createNiceMock(UriInfo.class);
+
+    String clusterName = "clusterName";
+
+    // expectations
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.POST),
+        eq(resourceDef))).andReturn(request);
+
+    expect(requestHandler.handleRequest(request)).andReturn(result);
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
+    expect(responseFactory.createResponse(serializedResult)).andReturn(response);
+
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+
+    //test
+    ClusterService clusterService = new TestClusterService(resourceDef, clusterName, requestFactory, responseFactory, requestHandler);
+    assertSame(response, clusterService.updateCluster(httpHeaders, uriInfo, clusterName));
+
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+  }
+
+  @Test
+  public void testDeleteCluster() {
+    ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
+    Object serializedResult = new Object();
+    RequestFactory requestFactory = createStrictMock(RequestFactory.class);
+    ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
+    Request request = createNiceMock(Request.class);
+    RequestHandler requestHandler = createStrictMock(RequestHandler.class);
+    Result result = createStrictMock(Result.class);
+    Response response = createStrictMock(Response.class);
+    HttpHeaders httpHeaders = createNiceMock(HttpHeaders.class);
+    UriInfo uriInfo = createNiceMock(UriInfo.class);
+
+    String clusterName = "clusterName";
+
+    // expectations
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.DELETE),
+        eq(resourceDef))).andReturn(request);
+
+    expect(requestHandler.handleRequest(request)).andReturn(result);
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
+    expect(responseFactory.createResponse(serializedResult)).andReturn(response);
+
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+
+    //test
+    ClusterService clusterService = new TestClusterService(resourceDef, clusterName, requestFactory, responseFactory, requestHandler);
+    assertSame(response, clusterService.deleteCluster(httpHeaders, uriInfo, clusterName));
+
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 

Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ComponentServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ComponentServiceTest.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ComponentServiceTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ComponentServiceTest.java Mon Oct  8 01:37:59 2012
@@ -1,26 +1,9 @@
-/**
- * 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.services;
 
 
 import org.apache.ambari.api.handlers.RequestHandler;
 import org.apache.ambari.api.resource.ResourceDefinition;
-import org.apache.ambari.api.services.formatters.ResultFormatter;
+import org.apache.ambari.api.services.serializers.ResultSerializer;
 import org.junit.Test;
 
 import javax.ws.rs.core.HttpHeaders;
@@ -33,16 +16,18 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertSame;
 
 /**
- *
+ * Created with IntelliJ IDEA.
+ * User: john
+ * Date: 9/12/12
+ * Time: 11:45 AM
+ * To change this template use File | Settings | File Templates.
  */
 public class ComponentServiceTest {
 
   @Test
   public void testGetComponent() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -59,18 +44,16 @@ public class ComponentServiceTest {
     String componentName = "componentName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
 
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
@@ -78,16 +61,14 @@ public class ComponentServiceTest {
         requestFactory, responseFactory, requestHandler);
     assertSame(response, componentService.getComponent(httpHeaders, uriInfo, componentName));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 
   @Test
   public void testGetComponents() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -103,24 +84,22 @@ public class ComponentServiceTest {
     String serviceName = "serviceName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
     ComponentService componentService = new TestComponentService(resourceDef, clusterName, serviceName, null, requestFactory, responseFactory, requestHandler);
     assertSame(response, componentService.getComponents(httpHeaders, uriInfo));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 

Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostComponentServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostComponentServiceTest.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostComponentServiceTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostComponentServiceTest.java Mon Oct  8 01:37:59 2012
@@ -1,25 +1,8 @@
-/**
- * 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.services;
 
 import org.apache.ambari.api.handlers.RequestHandler;
 import org.apache.ambari.api.resource.ResourceDefinition;
-import org.apache.ambari.api.services.formatters.ResultFormatter;
+import org.apache.ambari.api.services.serializers.ResultSerializer;
 import org.junit.Test;
 
 import javax.ws.rs.core.HttpHeaders;
@@ -32,15 +15,17 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertSame;
 
 /**
- *
+ * Created with IntelliJ IDEA.
+ * User: john
+ * Date: 9/12/12
+ * Time: 11:56 AM
+ * To change this template use File | Settings | File Templates.
  */
 public class HostComponentServiceTest {
   @Test
   public void testGetHostComponent() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -57,18 +42,15 @@ public class HostComponentServiceTest {
     String hostComponentName = "hostComponentName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
@@ -76,16 +58,14 @@ public class HostComponentServiceTest {
         requestFactory, responseFactory, requestHandler);
     assertSame(response, hostComponentService.getHostComponent(httpHeaders, uriInfo, hostComponentName));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 
   @Test
   public void testGetHostComponents() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -101,18 +81,15 @@ public class HostComponentServiceTest {
     String hostName = "hostName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
@@ -120,7 +97,7 @@ public class HostComponentServiceTest {
         responseFactory, requestHandler);
     assertSame(response, componentService.getHostComponents(httpHeaders, uriInfo));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 

Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostServiceTest.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostServiceTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/HostServiceTest.java Mon Oct  8 01:37:59 2012
@@ -1,26 +1,9 @@
-/**
- * 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.services;
 
 
 import org.apache.ambari.api.handlers.RequestHandler;
 import org.apache.ambari.api.resource.ResourceDefinition;
-import org.apache.ambari.api.services.formatters.ResultFormatter;
+import org.apache.ambari.api.services.serializers.ResultSerializer;
 import org.junit.Test;
 
 import javax.ws.rs.core.HttpHeaders;
@@ -32,16 +15,18 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertSame;
 
 /**
- *
+ * Created with IntelliJ IDEA.
+ * User: john
+ * Date: 6/21/12
+ * Time: 2:06 PM
+ * To change this template use File | Settings | File Templates.
  */
 public class HostServiceTest {
 
   @Test
   public void testGetHost() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -57,34 +42,29 @@ public class HostServiceTest {
     String hostName = "hostName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
     HostService hostService = new TestHostService(resourceDef, clusterName, hostName, requestFactory, responseFactory, requestHandler);
     assertSame(response, hostService.getHost(httpHeaders, uriInfo, hostName));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 
   @Test
   public void testGetHosts() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -99,25 +79,22 @@ public class HostServiceTest {
     String clusterName = "clusterName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
     HostService hostService = new TestHostService(resourceDef, clusterName, null, requestFactory, responseFactory, requestHandler);
     assertSame(response, hostService.getHosts(httpHeaders, uriInfo));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 

Modified: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ServiceServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ServiceServiceTest.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ServiceServiceTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-api/src/test/java/org/apache/ambari/api/services/ServiceServiceTest.java Mon Oct  8 01:37:59 2012
@@ -1,25 +1,8 @@
-/**
- * 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.services;
 
 import org.apache.ambari.api.handlers.RequestHandler;
 import org.apache.ambari.api.resource.ResourceDefinition;
-import org.apache.ambari.api.services.formatters.ResultFormatter;
+import org.apache.ambari.api.services.serializers.ResultSerializer;
 import org.junit.Test;
 
 import javax.ws.rs.core.HttpHeaders;
@@ -32,16 +15,18 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertSame;
 
 /**
- *
+ * Created with IntelliJ IDEA.
+ * User: john
+ * Date: 9/12/12
+ * Time: 11:30 AM
+ * To change this template use File | Settings | File Templates.
  */
 public class ServiceServiceTest {
 
   @Test
   public void testGetService() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -54,37 +39,32 @@ public class ServiceServiceTest {
     UriInfo uriInfo = createNiceMock(UriInfo.class);
 
     String clusterName = "clusterName";
-    String serviceName = "hostName";
+    String serviceName = "serviceName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
     ServiceService hostService = new TestServiceService(resourceDef, clusterName, serviceName, requestFactory, responseFactory, requestHandler);
     assertSame(response, hostService.getService(httpHeaders, uriInfo, serviceName));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 
   @Test
   public void testGetServices() {
     ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
-    ResultFormatter resultFormatter = createStrictMock(ResultFormatter.class);
-    Object formattedResult = new Object();
-    Serializer serializer = createStrictMock(Serializer.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
     Object serializedResult = new Object();
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
@@ -99,25 +79,136 @@ public class ServiceServiceTest {
     String clusterName = "clusterName";
 
     // expectations
-    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.RequestType.GET),
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.GET),
         eq(resourceDef))).andReturn(request);
 
     expect(requestHandler.handleRequest(request)).andReturn(result);
-    expect(resourceDef.getResultFormatter()).andReturn(resultFormatter);
-    expect(resultFormatter.format(result, uriInfo)).andReturn(formattedResult);
-    expect(request.getSerializer()).andReturn(serializer);
-    expect(serializer.serialize(formattedResult)).andReturn(serializedResult);
-
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
     expect(responseFactory.createResponse(serializedResult)).andReturn(response);
 
-    replay(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
 
     //test
     ServiceService hostService = new TestServiceService(resourceDef, clusterName, null, requestFactory, responseFactory, requestHandler);
     assertSame(response, hostService.getServices(httpHeaders, uriInfo));
 
-    verify(resourceDef, resultFormatter, serializer, requestFactory, responseFactory, request, requestHandler,
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+  }
+
+  @Test
+  public void testCreateService() {
+    ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
+    Object serializedResult = new Object();
+    RequestFactory requestFactory = createStrictMock(RequestFactory.class);
+    ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
+    Request request = createNiceMock(Request.class);
+    RequestHandler requestHandler = createStrictMock(RequestHandler.class);
+    Result result = createStrictMock(Result.class);
+    Response response = createStrictMock(Response.class);
+
+    HttpHeaders httpHeaders = createNiceMock(HttpHeaders.class);
+    UriInfo uriInfo = createNiceMock(UriInfo.class);
+
+    String clusterName = "clusterName";
+    String serviceName = "serviceName";
+
+    // expectations
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.PUT),
+        eq(resourceDef))).andReturn(request);
+
+    expect(requestHandler.handleRequest(request)).andReturn(result);
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
+    expect(responseFactory.createResponse(serializedResult)).andReturn(response);
+
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+
+    //test
+    ServiceService hostService = new TestServiceService(resourceDef, clusterName, serviceName, requestFactory, responseFactory, requestHandler);
+    assertSame(response, hostService.createService(httpHeaders, uriInfo, serviceName));
+
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+  }
+
+  @Test
+  public void testUpdateService() {
+    ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
+    Object serializedResult = new Object();
+    RequestFactory requestFactory = createStrictMock(RequestFactory.class);
+    ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
+    Request request = createNiceMock(Request.class);
+    RequestHandler requestHandler = createStrictMock(RequestHandler.class);
+    Result result = createStrictMock(Result.class);
+    Response response = createStrictMock(Response.class);
+
+    HttpHeaders httpHeaders = createNiceMock(HttpHeaders.class);
+    UriInfo uriInfo = createNiceMock(UriInfo.class);
+
+    String clusterName = "clusterName";
+    String serviceName = "serviceName";
+
+    // expectations
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.POST),
+        eq(resourceDef))).andReturn(request);
+
+    expect(requestHandler.handleRequest(request)).andReturn(result);
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
+    expect(responseFactory.createResponse(serializedResult)).andReturn(response);
+
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+
+    //test
+    ServiceService hostService = new TestServiceService(resourceDef, clusterName, serviceName, requestFactory, responseFactory, requestHandler);
+    assertSame(response, hostService.updateService(httpHeaders, uriInfo, serviceName));
+
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+  }
+
+  @Test
+  public void testDeleteService() {
+    ResourceDefinition resourceDef = createStrictMock(ResourceDefinition.class);
+    ResultSerializer resultSerializer = createStrictMock(ResultSerializer.class);
+    Object serializedResult = new Object();
+    RequestFactory requestFactory = createStrictMock(RequestFactory.class);
+    ResponseFactory responseFactory = createStrictMock(ResponseFactory.class);
+    Request request = createNiceMock(Request.class);
+    RequestHandler requestHandler = createStrictMock(RequestHandler.class);
+    Result result = createStrictMock(Result.class);
+    Response response = createStrictMock(Response.class);
+
+    HttpHeaders httpHeaders = createNiceMock(HttpHeaders.class);
+    UriInfo uriInfo = createNiceMock(UriInfo.class);
+
+    String clusterName = "clusterName";
+    String serviceName = "serviceName";
+
+    // expectations
+    expect(requestFactory.createRequest(eq(httpHeaders), eq(uriInfo), eq(Request.Type.DELETE),
+        eq(resourceDef))).andReturn(request);
+
+    expect(requestHandler.handleRequest(request)).andReturn(result);
+    expect(request.getResultSerializer()).andReturn(resultSerializer);
+    expect(resultSerializer.serialize(result, uriInfo)).andReturn(serializedResult);
+    expect(responseFactory.createResponse(serializedResult)).andReturn(response);
+
+    replay(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
+        result, response, httpHeaders, uriInfo);
+
+    //test
+    ServiceService hostService = new TestServiceService(resourceDef, clusterName, serviceName, requestFactory, responseFactory, requestHandler);
+    assertSame(response, hostService.deleteService(httpHeaders, uriInfo, serviceName));
+
+    verify(resourceDef, resultSerializer, requestFactory, responseFactory, request, requestHandler,
         result, response, httpHeaders, uriInfo);
   }
 

Added: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/resources/data.db
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-api/src/test/resources/data.db?rev=1395430&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ambari/branches/AMBARI-666/ambari-api/src/test/resources/data.db
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/ambari/branches/AMBARI-666/ambari-project/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-project/pom.xml?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-project/pom.xml (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-project/pom.xml Mon Oct  8 01:37:59 2012
@@ -99,6 +99,11 @@
         <artifactId>guice-servlet</artifactId>
         <version>3.0</version>
       </dependency>
+       <dependency>
+        <groupId>org.codehaus.jettison</groupId>
+        <artifactId>jettison</artifactId>
+        <version>1.1</version>
+      </dependency>
       <dependency>
         <groupId>com.google.inject</groupId>
         <artifactId>guice</artifactId>
@@ -204,17 +209,37 @@
         <artifactId>servlet-api</artifactId>
         <version>2.5</version>
       </dependency>
-       <dependency>
+      <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-core</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
-       <dependency>
+      <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-grizzly</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
-       <dependency>
+      <dependency>
+        <groupId>org.codehaus.jackson</groupId>
+        <artifactId>jackson-core-asl</artifactId>
+        <version>1.9.9</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.jackson</groupId>
+        <artifactId>jackson-jaxrs</artifactId>
+        <version>1.9.9</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.jackson</groupId>
+        <artifactId>jackson-xc</artifactId>
+        <version>1.9.9</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.jackson</groupId>
+        <artifactId>jackson-mappper</artifactId>
+        <version>1.9.9</version>
+      </dependency>
+      <dependency>
         <groupId>com.sun.grizzly</groupId>
         <artifactId>grizzly-comet-webserver</artifactId>
         <version>1.9.36</version>
@@ -222,43 +247,43 @@
       <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-bundle</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-json</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-server</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-client</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>com.sun.jersey.contribs</groupId>
         <artifactId>jersey-multipart</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>com.sun.jersey.jersey-test-framework</groupId>
         <artifactId>jersey-test-framework-core</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>com.sun.jersey.jersey-test-framework</groupId>
         <artifactId>jersey-test-framework-grizzly2</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>com.sun.jersey.contribs</groupId>
         <artifactId>jersey-guice</artifactId>
-        <version>1.8</version>
+        <version>1.11</version>
       </dependency>
       <dependency>
         <groupId>log4j</groupId>

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/pom.xml?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/pom.xml (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/pom.xml Mon Oct  8 01:37:59 2012
@@ -9,7 +9,8 @@
   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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
     <groupId>org.apache.ambari</groupId>
     <artifactId>ambari-project</artifactId>
@@ -57,10 +58,6 @@
   </profiles>
   <dependencies>
     <dependency>
-      <groupId>org.apache.ambari</groupId>
-      <artifactId>ambari-api</artifactId>
-    </dependency>
-    <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
     </dependency>
@@ -117,8 +114,8 @@
       <artifactId>slf4j-log4j12</artifactId>
     </dependency>
     <dependency>
-    <groupId>log4j</groupId>
-    <artifactId>log4j</artifactId>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
     </dependency>
     <dependency>
       <groupId>org.eclipse.persistence</groupId>
@@ -160,6 +157,20 @@
     <dependency>
       <groupId>com.sun.jersey</groupId>
       <artifactId>jersey-json</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.jackson</groupId>
+          <artifactId>jackson-xc</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.codehaus.jettison</groupId>
+          <artifactId>jettison</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.codehaus.jackson</groupId>
+          <artifactId>jackson-mapper-asl</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>com.sun.jersey</groupId>
@@ -178,6 +189,18 @@
       <artifactId>jersey-guice</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.codehaus.jackson</groupId>
+      <artifactId>jackson-core-asl</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.jackson</groupId>
+      <artifactId>jackson-jaxrs</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.jackson</groupId>
+      <artifactId>jackson-xc</artifactId>
+    </dependency>
+    <dependency>
       <groupId>com.sun.jersey.jersey-test-framework</groupId>
       <artifactId>jersey-test-framework-core</artifactId>
       <scope>test</scope>
@@ -188,6 +211,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.codehaus.jettison</groupId>
+      <artifactId>jettison</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/assemblies/server.xml
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/assemblies/server.xml?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/assemblies/server.xml (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/assemblies/server.xml Mon Oct  8 01:37:59 2012
@@ -26,7 +26,11 @@
   <files>
     <file>
       <source>${project.build.directory}/${artifact.artifactId}-${artifact.version}.jar</source>
-      <outputDirectory>ambari-server-${project.version}/lib</outputDirectory>
+      <outputDirectory>ambari-server-${project.version}/lib/ambari-server</outputDirectory>
+    </file>
+    <file>
+      <source>${basedir}/src/main/python/ambari-server.py</source>
+      <outputDirectory>/ambari-server-${project.version}/sbin</outputDirectory>
     </file>
   </files>
   <fileSets>
@@ -59,7 +63,7 @@
     </fileSet>
     <fileSet>
       <directory>src/main/conf</directory>
-      <outputDirectory>/ambari-server-${project.version}/conf</outputDirectory>
+      <outputDirectory>/ambari-server-${project.version}/etc/ambari-server/conf</outputDirectory>
     </fileSet>
     <fileSet>
       <directory>src/main/assemblies</directory>
@@ -71,7 +75,7 @@
   </fileSets>
   <dependencySets>
     <dependencySet>
-      <outputDirectory>ambari-server-${project.version}/lib</outputDirectory>
+      <outputDirectory>ambari-server-${project.version}/lib/ambari-server</outputDirectory>
       <unpack>false</unpack>
       <scope>compile</scope>
     </dependencySet>

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentHostNotFoundException.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentHostNotFoundException.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentHostNotFoundException.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentHostNotFoundException.java Mon Oct  8 01:37:59 2012
@@ -20,9 +20,10 @@ package org.apache.ambari.server;
 
 public class ServiceComponentHostNotFoundException extends AmbariException {
 
-  public ServiceComponentHostNotFoundException(String serviceName,
-      String serviceComponentName, String hostName) {
+  public ServiceComponentHostNotFoundException(String clusterName,
+      String serviceName, String serviceComponentName, String hostName) {
     super("ServiceComponentHost not found"
+        + ", clusterName=" + clusterName
         + ", serviceName=" + serviceName
         + ", serviceComponentName=" + serviceComponentName
         + ", hostName=" + hostName);

Added: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentNotFoundException.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentNotFoundException.java?rev=1395430&view=auto
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentNotFoundException.java (added)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceComponentNotFoundException.java Mon Oct  8 01:37:59 2012
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ambari.server;
+
+public class ServiceComponentNotFoundException extends AmbariException {
+
+  public ServiceComponentNotFoundException (String clusterName,
+      String serviceName, String serviceComponentName) {
+    super("ServiceComponent not found"
+        + ", clusterName=" + clusterName
+        + ", serviceName=" + serviceName
+        + ", serviceComponentName=" + serviceComponentName);
+  }
+
+}

Added: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceNotFoundException.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceNotFoundException.java?rev=1395430&view=auto
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceNotFoundException.java (added)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/ServiceNotFoundException.java Mon Oct  8 01:37:59 2012
@@ -0,0 +1,28 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ambari.server;
+
+public class ServiceNotFoundException extends AmbariException {
+
+  public ServiceNotFoundException(String clusterName, String serviceName) {
+    super("Service not found"
+        + ", clusterName=" + clusterName
+        + ", serviceName=" + serviceName);
+  }
+}

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java?rev=1395430&r1=1395429&r2=1395430&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java Mon Oct  8 01:37:59 2012
@@ -22,6 +22,9 @@ import java.util.List;
 import org.apache.ambari.server.Role;
 import org.apache.ambari.server.agent.CommandReport;
 
+import com.google.inject.Singleton;
+
+@Singleton
 public class ActionDBAccessorImpl implements ActionDBAccessor {
 
   private long stageId = 0;