This is an automated email from the ASF dual-hosted git repository.

swagle pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new d000a59  [AMBARI-23240] Add "tag" property/column to widget (#664)
d000a59 is described below

commit d000a5933dd88d9ee719029281ce6eb0b19e0623
Author: majorendre <[email protected]>
AuthorDate: Wed Apr 4 16:54:29 2018 +0200

    [AMBARI-23240] Add "tag" property/column to widget (#664)
    
    * AMBARI-23240 added "tag" property/column to widget
    
    * AMBARI-23240 added widget tag handling to WidgetResponse
---
 .../apache/ambari/server/controller/WidgetResponse.java | 10 ++++++++++
 .../controller/internal/WidgetResourceProvider.java     | 11 +++++++++++
 .../apache/ambari/server/orm/entities/WidgetEntity.java | 17 +++++++++++++++++
 .../apache/ambari/server/upgrade/UpgradeCatalog270.java |  8 ++++++++
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql      |  1 +
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql      |  1 +
 .../src/main/resources/Ambari-DDL-Oracle-CREATE.sql     |  1 +
 .../src/main/resources/Ambari-DDL-Postgres-CREATE.sql   |  1 +
 .../main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql    |  1 +
 .../src/main/resources/Ambari-DDL-SQLServer-CREATE.sql  |  1 +
 .../ambari/server/upgrade/UpgradeCatalog270Test.java    |  6 ++++++
 11 files changed, 58 insertions(+)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/WidgetResponse.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/WidgetResponse.java
index c5b4a0e..32dee17 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/WidgetResponse.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/WidgetResponse.java
@@ -40,6 +40,7 @@ public class WidgetResponse {
   private String widgetValues;
   private String properties;
   private String clusterName;
+  private String tag;
 
   @JsonProperty("id")
   public Long getId() {
@@ -144,6 +145,14 @@ public class WidgetResponse {
     this.clusterName = clusterName;
   }
 
+  public String getTag() {
+    return tag;
+  }
+
+  public void setTag(String tag) {
+    this.tag = tag;
+  }
+
   @Override
   public String toString() {
     return widgetName;
@@ -175,6 +184,7 @@ public class WidgetResponse {
     response.setProperties(entity.getProperties());
     String clusterName = (entity.getClusterEntity() != null) ? 
entity.getClusterEntity().getClusterName() : null;
     response.setClusterName(clusterName);
+    response.setTag(entity.getTag());
 
     return response;
   }
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java
index 89a5aa4..5f5d028 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java
@@ -74,6 +74,7 @@ public class WidgetResourceProvider extends 
AbstractControllerResourceProvider {
   public static final String WIDGET_METRICS_PROPERTY_ID                 = 
PropertyHelper.getPropertyId("WidgetInfo", "metrics");
   public static final String WIDGET_VALUES_PROPERTY_ID                 = 
PropertyHelper.getPropertyId("WidgetInfo", "values");
   public static final String WIDGET_PROPERTIES_PROPERTY_ID                 = 
PropertyHelper.getPropertyId("WidgetInfo", "properties");
+  public static final String WIDGET_TAG_PROPERTY_ID                 = 
PropertyHelper.getPropertyId("WidgetInfo", "tag");
   public enum SCOPE {
     CLUSTER,
     USER
@@ -100,6 +101,7 @@ public class WidgetResourceProvider extends 
AbstractControllerResourceProvider {
       add(WIDGET_METRICS_PROPERTY_ID);
       add(WIDGET_VALUES_PROPERTY_ID);
       add(WIDGET_PROPERTIES_PROPERTY_ID);
+      add(WIDGET_TAG_PROPERTY_ID);
     }
   };
 
@@ -189,6 +191,10 @@ public class WidgetResourceProvider extends 
AbstractControllerResourceProvider {
                   null : gson.toJson(widgetPropertiesMap);
           entity.setProperties(widgetProperties);
 
+          if (properties.containsKey(WIDGET_TAG_PROPERTY_ID)){
+            entity.setTag(properties.get(WIDGET_TAG_PROPERTY_ID).toString());
+          }
+
           widgetDAO.create(entity);
           notifyCreate(Type.Widget, request);
           return entity;
@@ -246,6 +252,7 @@ public class WidgetResourceProvider extends 
AbstractControllerResourceProvider {
       resource.setProperty(WIDGET_SCOPE_PROPERTY_ID, entity.getScope());
       setResourceProperty(resource, WIDGET_VALUES_PROPERTY_ID, 
entity.getWidgetValues(), requestedIds);
       setResourceProperty(resource, WIDGET_PROPERTIES_PROPERTY_ID, 
entity.getProperties(), requestedIds);
+      setResourceProperty(resource, WIDGET_TAG_PROPERTY_ID, entity.getTag(), 
requestedIds);
 
       String clusterName = null;
       try {
@@ -324,6 +331,10 @@ public class WidgetResourceProvider extends 
AbstractControllerResourceProvider {
             entity.setProperties(gson.toJson(widgetPropertiesMap));
           }
 
+          if 
(StringUtils.isNotBlank(ObjectUtils.toString(propertyMap.get(WIDGET_TAG_PROPERTY_ID))))
 {
+            entity.setTag(propertyMap.get(WIDGET_TAG_PROPERTY_ID).toString());
+          }
+
           widgetDAO.merge(entity);
         }
         return null;
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetEntity.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetEntity.java
index bf85567..2762f14 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetEntity.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetEntity.java
@@ -113,6 +113,9 @@ public class WidgetEntity {
   @Column(name = "cluster_id", nullable = false)
   private Long clusterId;
 
+  @Column(name = "tag", length = 255)
+  private String tag;
+
   @ManyToOne
   @JoinColumn(name = "cluster_id", referencedColumnName = "cluster_id", 
nullable = false, updatable = false, insertable = false)
   private ClusterEntity clusterEntity;
@@ -224,6 +227,20 @@ public class WidgetEntity {
     this.clusterId = clusterId;
   }
 
+  /**
+   * Gets the Tag used by the ui to store additional info e.g.:Name Service
+   */
+  public String getTag() {
+    return tag;
+  }
+
+  /**
+   * Sets the Tag used by the ui to store additional info e.g.:Name Service
+   */
+  public void setTag(String tag) {
+    this.tag = tag;
+  }
+
   public List<WidgetLayoutUserWidgetEntity> 
getListWidgetLayoutUserWidgetEntity() {
     return listWidgetLayoutUserWidgetEntity;
   }
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
index b8406c4..4d7bbf0 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog270.java
@@ -218,6 +218,9 @@ public class UpgradeCatalog270 extends 
AbstractUpgradeCatalog {
   protected static final String REPO_VERSION_REPO_VERSION_ID_COLUMN = 
"repo_version_id";
   protected static final String REPO_VERSION_REPOSITORIES_COLUMN = 
"repositories";
 
+  protected static final String WIDGET_TABLE = "widget";
+  protected static final String WIDGET_TAG_COLUMN = "tag";
+
   protected static final String CLUSTER_ID_COLUMN = "cluster_id";
   public static final String[] 
COMPONENT_NAME_SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS = {COMPONENT_NAME_COLUMN, 
SERVICE_NAME_COLUMN, CLUSTER_ID_COLUMN};
   public static final String[] SERVICE_NAME_CLUSTER_ID_KEY_COLUMNS = 
{SERVICE_NAME_COLUMN, CLUSTER_ID_COLUMN};
@@ -281,6 +284,7 @@ public class UpgradeCatalog270 extends 
AbstractUpgradeCatalog {
     upgradeUserTables();
     upgradeKerberosTables();
     upgradeRepoTables();
+    upgradeWidgetTable();
   }
 
   /**
@@ -842,6 +846,10 @@ public class UpgradeCatalog270 extends 
AbstractUpgradeCatalog {
     dbAccessor.addColumn(REQUEST_TABLE, new 
DBAccessor.DBColumnInfo(REQUEST_USER_NAME_COLUMN, String.class, 255));
   }
 
+  protected void upgradeWidgetTable() throws SQLException {
+    dbAccessor.addColumn(WIDGET_TABLE, new 
DBAccessor.DBColumnInfo(WIDGET_TAG_COLUMN, String.class, 255));
+  }
+
   protected void addAmbariConfigurationTable() throws SQLException {
     List<DBAccessor.DBColumnInfo> columns = new ArrayList<>();
     columns.add(new 
DBAccessor.DBColumnInfo(AMBARI_CONFIGURATION_CATEGORY_NAME_COLUMN, 
String.class, 100, null, false));
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 c1b324f..1576076 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@ -726,6 +726,7 @@ CREATE TABLE widget (
   widget_values VARCHAR(3000),
   properties VARCHAR(3000),
   cluster_id BIGINT NOT NULL,
+  tag VARCHAR(255),
   CONSTRAINT PK_widget PRIMARY KEY (id)
 );
 
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 48f4311..751a83d 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -744,6 +744,7 @@ CREATE TABLE widget (
   widget_values LONGTEXT,
   properties LONGTEXT,
   cluster_id BIGINT NOT NULL,
+  tag VARCHAR(255),
   CONSTRAINT PK_widget PRIMARY KEY (id)
 );
 
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 ee7230b..0954828 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -723,6 +723,7 @@ CREATE TABLE widget (
   widget_values CLOB,
   properties CLOB,
   cluster_id NUMBER(19) NOT NULL,
+  tag VARCHAR2(255),
   CONSTRAINT PK_widget PRIMARY KEY (id)
 );
 
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 80510ff..b27a02a 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -728,6 +728,7 @@ CREATE TABLE widget (
   widget_values TEXT,
   properties TEXT,
   cluster_id BIGINT NOT NULL,
+  tag VARCHAR(255),
   CONSTRAINT PK_widget PRIMARY KEY (id)
 );
 
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 9bbaa46..9fa7b46 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
@@ -722,6 +722,7 @@ CREATE TABLE widget (
   widget_values TEXT,
   properties TEXT,
   cluster_id NUMERIC(19) NOT NULL,
+  tag VARCHAR(255),
   CONSTRAINT PK_widget PRIMARY KEY (id)
 );
 
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 7565436..93f1603 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -750,6 +750,7 @@ CREATE TABLE widget (
   widget_values VARCHAR(4000),
   properties VARCHAR(4000),
   cluster_id BIGINT NOT NULL,
+  tag VARCHAR(255),
   CONSTRAINT PK_widget PRIMARY KEY CLUSTERED (id)
 );
 
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java
index f3ff39e..940d39d 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java
@@ -111,6 +111,7 @@ import static 
org.apache.ambari.server.upgrade.UpgradeCatalog270.USER_AUTHENTICA
 import static 
org.apache.ambari.server.upgrade.UpgradeCatalog270.USER_AUTHENTICATION_USER_AUTHENTICATION_ID_COLUMN;
 import static 
org.apache.ambari.server.upgrade.UpgradeCatalog270.USER_AUTHENTICATION_USER_AUTHENTICATION_USERS_FOREIGN_KEY;
 import static 
org.apache.ambari.server.upgrade.UpgradeCatalog270.USER_AUTHENTICATION_USER_ID_COLUMN;
+import static org.apache.ambari.server.upgrade.UpgradeCatalog270.WIDGET_TABLE;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.anyString;
 import static org.easymock.EasyMock.capture;
@@ -385,6 +386,11 @@ public class UpgradeCatalog270Test {
     dbAccessor.addColumn(eq(REQUEST_TABLE), 
capture(updateRequestTableCapture));
     expectLastCall().once();
 
+    // updateWidgetTable
+    Capture<DBAccessor.DBColumnInfo> updateWidgetTableCapture = 
newCapture(CaptureType.ALL);
+    dbAccessor.addColumn(eq(WIDGET_TABLE), capture(updateWidgetTableCapture));
+    expectLastCall().once();
+
     // addOpsDisplayNameColumnToHostRoleCommand
     Capture<DBAccessor.DBColumnInfo> hrcOpsDisplayNameColumn = newCapture();
     dbAccessor.addColumn(eq(UpgradeCatalog270.HOST_ROLE_COMMAND_TABLE), 
capture(hrcOpsDisplayNameColumn));

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to