Repository: ambari
Updated Branches:
  refs/heads/branch-feature-AMBARI-14714 e8c095402 -> 2f1f96ef5


http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
index 0595e07..f037ab0 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@ -152,6 +152,13 @@ CREATE TABLE serviceconfigmapping (
   CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES 
clusterconfig(config_id),
   CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
 
+CREATE TABLE servicegroups (
+  id BIGINT NOT NULL,
+  service_group_name VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  CONSTRAINT PK_servicegroups PRIMARY KEY (id, cluster_id),
+  CONSTRAINT FK_servicegroups_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
 CREATE TABLE clusterservices (
   service_name VARCHAR(255) NOT NULL,
   cluster_id BIGINT NOT NULL,
@@ -1062,6 +1069,8 @@ CREATE INDEX idx_alert_notice_state on 
alert_notice(notify_state);
 INSERT INTO ambari_sequences (sequence_name, sequence_value)
   SELECT 'cluster_id_seq', 1 FROM SYSIBM.SYSDUMMY1
   UNION ALL
+  SELECT 'service_group_id_seq', 1 FROM SYSIBM.SYSDUMMY1
+  UNION ALL
   SELECT 'host_id_seq', 0 FROM SYSIBM.SYSDUMMY1
   UNION ALL
   SELECT 'user_id_seq', 2 FROM SYSIBM.SYSDUMMY1

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 6275ddc..07253b3 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -171,6 +171,13 @@ CREATE TABLE serviceconfigmapping (
   CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES 
clusterconfig(config_id),
   CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
 
+CREATE TABLE servicegroups (
+  id BIGINT NOT NULL,
+  service_group_name VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  CONSTRAINT PK_servicegroups PRIMARY KEY (id, cluster_id),
+  CONSTRAINT FK_servicegroups_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
 CREATE TABLE clusterservices (
   service_name VARCHAR(255) NOT NULL,
   cluster_id BIGINT NOT NULL,
@@ -1077,6 +1084,7 @@ CREATE INDEX idx_alert_notice_state on 
alert_notice(notify_state);
 -- In order for the first ID to be 1, must initialize the ambari_sequences 
table with a sequence_value of 0.
 INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES
   ('cluster_id_seq', 1),
+  ('service_group_id_seq', 1),
   ('host_id_seq', 0),
   ('host_role_command_id_seq', 1),
   ('user_id_seq', 2),

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index 451eb87..901d886 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -153,6 +153,13 @@ CREATE TABLE serviceconfigmapping (
   CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES 
clusterconfig(config_id),
   CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
 
+CREATE TABLE servicegroups (
+  id NUMBER(19) NOT NULL,
+  service_group_name VARCHAR2(255) NOT NULL,
+  cluster_id NUMBER(19) NOT NULL,
+  CONSTRAINT PK_servicegroups PRIMARY KEY (id, cluster_id),
+  CONSTRAINT FK_servicegroups_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
 CREATE TABLE clusterservices (
   service_name VARCHAR2(255) NOT NULL,
   cluster_id NUMBER(19) NOT NULL,
@@ -1057,6 +1064,7 @@ CREATE INDEX idx_alert_notice_state on 
alert_notice(notify_state);
 ---------inserting some data-----------
 -- In order for the first ID to be 1, must initialize the ambari_sequences 
table with a sequence_value of 0.
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('host_role_command_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('service_group_id_seq', 1);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('user_id_seq', 1);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('group_id_seq', 0);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('member_id_seq', 0);

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index 4c539fa..34916fb 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -152,6 +152,13 @@ CREATE TABLE serviceconfigmapping (
   CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES 
clusterconfig(config_id),
   CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
 
+CREATE TABLE servicegroups (
+  id BIGINT NOT NULL,
+  service_group_name VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  CONSTRAINT PK_servicegroups PRIMARY KEY (id, cluster_id),
+  CONSTRAINT FK_servicegroups_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
 CREATE TABLE clusterservices (
   service_name VARCHAR(255) NOT NULL,
   cluster_id BIGINT NOT NULL,
@@ -1058,6 +1065,7 @@ CREATE INDEX idx_alert_notice_state on 
alert_notice(notify_state);
 BEGIN;
 INSERT INTO ambari_sequences (sequence_name, sequence_value) VALUES
   ('cluster_id_seq', 1),
+  ('service_group_id_seq', 1),
   ('host_id_seq', 0),
   ('user_id_seq', 2),
   ('group_id_seq', 1),

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
index 6bf2203..632350e 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
@@ -151,6 +151,13 @@ CREATE TABLE serviceconfigmapping (
   CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES 
clusterconfig(config_id),
   CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
 
+CREATE TABLE servicegroups (
+  id NUMERIC(19) NOT NULL,
+  service_group_name VARCHAR(255) NOT NULL,
+  cluster_id NUMERIC(19) NOT NULL,
+  CONSTRAINT PK_servicegroups PRIMARY KEY (id, cluster_id),
+  CONSTRAINT FK_servicegroups_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
 CREATE TABLE clusterservices (
   service_name VARCHAR(255) NOT NULL,
   cluster_id NUMERIC(19) NOT NULL,
@@ -1055,6 +1062,7 @@ CREATE INDEX idx_alert_notice_state on 
alert_notice(notify_state);
 
 -- In order for the first ID to be 1, must initialize the ambari_sequences 
table with a sequence_value of 0.
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('cluster_id_seq', 1);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('service_group_id_seq', 1);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('host_id_seq', 0);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('host_role_command_id_seq', 1);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('user_id_seq', 2);

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index 0462dd9..6e95c03 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -165,6 +165,13 @@ CREATE TABLE serviceconfigmapping (
   CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES 
clusterconfig(config_id),
   CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
 
+CREATE TABLE servicegroups (
+  id BIGINT NOT NULL,
+  service_group_name VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  CONSTRAINT PK_servicegroups PRIMARY KEY (id, cluster_id),
+  CONSTRAINT FK_servicegroups_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
 CREATE TABLE clusterservices (
   service_name VARCHAR(255) NOT NULL,
   cluster_id BIGINT NOT NULL,
@@ -1082,6 +1089,7 @@ BEGIN TRANSACTION
   INSERT INTO ambari_sequences (sequence_name, [sequence_value])
   VALUES
     ('cluster_id_seq', 1),
+    ('service_group_id_seq', 1)
     ('host_id_seq', 0),
     ('user_id_seq', 2),
     ('group_id_seq', 1),

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/META-INF/persistence.xml 
b/ambari-server/src/main/resources/META-INF/persistence.xml
index 4f0099b..20c95f9 100644
--- a/ambari-server/src/main/resources/META-INF/persistence.xml
+++ b/ambari-server/src/main/resources/META-INF/persistence.xml
@@ -25,6 +25,7 @@
     <class>org.apache.ambari.server.orm.entities.BlueprintEntity</class>
     <class>org.apache.ambari.server.orm.entities.ClusterConfigEntity</class>
     <class>org.apache.ambari.server.orm.entities.ClusterEntity</class>
+    <class>org.apache.ambari.server.orm.entities.ServiceGroupEntity</class>
     <class>org.apache.ambari.server.orm.entities.ClusterServiceEntity</class>
     <class>org.apache.ambari.server.orm.entities.ClusterStateEntity</class>
     
<class>org.apache.ambari.server.orm.entities.ConfigGroupConfigMappingEntity</class>

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
index fe44815..8b9a233 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
@@ -61,6 +61,9 @@ import org.apache.ambari.server.state.ServiceComponentHost;
 import org.apache.ambari.server.state.ServiceComponentHostFactory;
 import org.apache.ambari.server.state.ServiceComponentImpl;
 import org.apache.ambari.server.state.ServiceFactory;
+import org.apache.ambari.server.state.ServiceGroup;
+import org.apache.ambari.server.state.ServiceGroupFactory;
+import org.apache.ambari.server.state.ServiceGroupImpl;
 import org.apache.ambari.server.state.ServiceImpl;
 import org.apache.ambari.server.state.UpgradeContextFactory;
 import org.apache.ambari.server.state.cluster.ClusterFactory;
@@ -340,6 +343,8 @@ public class AgentResourceTest extends RandomPortJerseyTest 
{
       install(new FactoryModuleBuilder().implement(
           Host.class, HostImpl.class).build(HostFactory.class));
       install(new FactoryModuleBuilder().implement(
+        ServiceGroup.class, 
ServiceGroupImpl.class).build(ServiceGroupFactory.class));
+      install(new FactoryModuleBuilder().implement(
           Service.class, ServiceImpl.class).build(ServiceFactory.class));
       install(new FactoryModuleBuilder().implement(
           ServiceComponent.class, ServiceComponentImpl.class).build(

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/test/java/org/apache/ambari/server/api/resources/ClusterResourceDefinitionTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/ClusterResourceDefinitionTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/ClusterResourceDefinitionTest.java
index ace60d5..fc24d2c 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/ClusterResourceDefinitionTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/ClusterResourceDefinitionTest.java
@@ -50,8 +50,9 @@ public class ClusterResourceDefinitionTest {
     ResourceDefinition resource = new ClusterResourceDefinition();
     Set<SubResourceDefinition> subResources = 
resource.getSubResourceDefinitions();
 
-    assertEquals(13, subResources.size());
+    assertEquals(14, subResources.size());
     assertTrue(includesType(subResources, Resource.Type.Service));
+    assertTrue(includesType(subResources, Resource.Type.ServiceGroup));
     assertTrue(includesType(subResources, Resource.Type.Host));
     assertTrue(includesType(subResources, Resource.Type.Configuration));
     assertTrue(includesType(subResources, Resource.Type.Request));

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
index e1dc9a0..fc26a0c 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
@@ -79,6 +79,7 @@ import org.apache.ambari.server.state.ConfigFactory;
 import org.apache.ambari.server.state.ServiceComponentFactory;
 import org.apache.ambari.server.state.ServiceComponentHostFactory;
 import org.apache.ambari.server.state.ServiceFactory;
+import org.apache.ambari.server.state.ServiceGroupFactory;
 import org.apache.ambari.server.state.UpgradeContextFactory;
 import org.apache.ambari.server.state.configgroup.ConfigGroupFactory;
 import org.apache.ambari.server.state.scheduler.RequestExecutionFactory;
@@ -399,6 +400,7 @@ public class ActiveWidgetLayoutResourceProviderTest extends 
EasyMockSupport {
         
bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
         
bind(ConfigFactory.class).toInstance(createNiceMock(ConfigFactory.class));
         
bind(ConfigGroupFactory.class).toInstance(createNiceMock(ConfigGroupFactory.class));
+        
bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
         
bind(ServiceFactory.class).toInstance(createNiceMock(ServiceFactory.class));
         
bind(ServiceComponentFactory.class).toInstance(createNiceMock(ServiceComponentFactory.class));
         
bind(ServiceComponentHostFactory.class).toInstance(createNiceMock(ServiceComponentHostFactory.class));

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
index a390276..6247ca2 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
@@ -76,6 +76,7 @@ import org.apache.ambari.server.state.ConfigFactory;
 import org.apache.ambari.server.state.ServiceComponentFactory;
 import org.apache.ambari.server.state.ServiceComponentHostFactory;
 import org.apache.ambari.server.state.ServiceFactory;
+import org.apache.ambari.server.state.ServiceGroupFactory;
 import org.apache.ambari.server.state.UpgradeContextFactory;
 import org.apache.ambari.server.state.configgroup.ConfigGroupFactory;
 import org.apache.ambari.server.state.scheduler.RequestExecutionFactory;
@@ -410,6 +411,7 @@ public class UserAuthorizationResourceProviderTest extends 
EasyMockSupport {
         
bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
         
bind(ConfigFactory.class).toInstance(createNiceMock(ConfigFactory.class));
         
bind(ConfigGroupFactory.class).toInstance(createNiceMock(ConfigGroupFactory.class));
+        
bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
         
bind(ServiceFactory.class).toInstance(createNiceMock(ServiceFactory.class));
         
bind(ServiceComponentFactory.class).toInstance(createNiceMock(ServiceComponentFactory.class));
         
bind(ServiceComponentHostFactory.class).toInstance(createNiceMock(ServiceComponentHostFactory.class));

http://git-wip-us.apache.org/repos/asf/ambari/blob/2f1f96ef/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
index c803dd6..be54550 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
@@ -73,6 +73,7 @@ import org.apache.ambari.server.state.ConfigFactory;
 import org.apache.ambari.server.state.ServiceComponentFactory;
 import org.apache.ambari.server.state.ServiceComponentHostFactory;
 import org.apache.ambari.server.state.ServiceFactory;
+import org.apache.ambari.server.state.ServiceGroupFactory;
 import org.apache.ambari.server.state.UpgradeContextFactory;
 import org.apache.ambari.server.state.configgroup.ConfigGroupFactory;
 import org.apache.ambari.server.state.scheduler.RequestExecutionFactory;
@@ -248,6 +249,7 @@ public class UserResourceProviderTest extends 
EasyMockSupport {
         
bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
         
bind(ConfigFactory.class).toInstance(createNiceMock(ConfigFactory.class));
         
bind(ConfigGroupFactory.class).toInstance(createNiceMock(ConfigGroupFactory.class));
+        
bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
         
bind(ServiceFactory.class).toInstance(createNiceMock(ServiceFactory.class));
         
bind(ServiceComponentFactory.class).toInstance(createNiceMock(ServiceComponentFactory.class));
         
bind(ServiceComponentHostFactory.class).toInstance(createNiceMock(ServiceComponentHostFactory.class));

Reply via email to