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].