You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by tb...@apache.org on 2015/06/09 18:09:05 UTC
ambari git commit: AMBARI-11814 - Views : Update view.xml xsd to
allow for optional build-number (tbeerbower)
Repository: ambari
Updated Branches:
refs/heads/trunk 97bf29a35 -> 5240ca45e
AMBARI-11814 - Views : Update view.xml xsd to allow for optional build-number (tbeerbower)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5240ca45
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5240ca45
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5240ca45
Branch: refs/heads/trunk
Commit: 5240ca45e65a01f4006226aee9a4f6b4e95f9e8d
Parents: 97bf29a
Author: tbeerbower <tb...@hortonworks.com>
Authored: Tue Jun 9 12:08:26 2015 -0400
Committer: tbeerbower <tb...@hortonworks.com>
Committed: Tue Jun 9 12:08:44 2015 -0400
----------------------------------------------------------------------
.../internal/ViewVersionResourceProvider.java | 6 +++---
.../ambari/server/orm/entities/ViewEntity.java | 22 ++++++++++++++++++++
.../server/upgrade/UpgradeCatalog210.java | 3 +++
.../server/view/configuration/ViewConfig.java | 14 +++++++++++++
.../main/resources/Ambari-DDL-MySQL-CREATE.sql | 1 +
.../main/resources/Ambari-DDL-Oracle-CREATE.sql | 1 +
.../resources/Ambari-DDL-Postgres-CREATE.sql | 1 +
.../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql | 1 +
.../resources/Ambari-DDL-SQLServer-CREATE.sql | 1 +
.../server/orm/entities/ViewEntityTest.java | 6 ++++++
.../server/upgrade/UpgradeCatalog210Test.java | 11 ++++++++++
.../view/configuration/ViewConfigTest.java | 7 +++++++
.../phone-list-view/src/main/resources/view.xml | 1 +
.../org/apache/ambari/view/ViewDefinition.java | 7 +++++++
ambari-views/src/main/resources/view.xsd | 5 +++++
15 files changed, 84 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
index 6352817..570766d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
@@ -46,9 +46,9 @@ public class ViewVersionResourceProvider extends AbstractResourceProvider {
*/
public static final String VIEW_NAME_PROPERTY_ID = "ViewVersionInfo/view_name";
public static final String VIEW_VERSION_PROPERTY_ID = "ViewVersionInfo/version";
+ public static final String VIEW_BUILD_PROPERTY_ID = "ViewVersionInfo/build_number";
public static final String LABEL_PROPERTY_ID = "ViewVersionInfo/label";
public static final String DESCRIPTION_PROPERTY_ID = "ViewVersionInfo/description";
- public static final String VERSION_PROPERTY_ID = "ViewVersionInfo/version";
public static final String MIN_AMBARI_VERSION_PROPERTY_ID = "ViewVersionInfo/min_ambari_version";
public static final String MAX_AMBARI_VERSION_PROPERTY_ID = "ViewVersionInfo/max_ambari_version";
public static final String PARAMETERS_PROPERTY_ID = "ViewVersionInfo/parameters";
@@ -75,9 +75,9 @@ public class ViewVersionResourceProvider extends AbstractResourceProvider {
static {
propertyIds.add(VIEW_NAME_PROPERTY_ID);
propertyIds.add(VIEW_VERSION_PROPERTY_ID);
+ propertyIds.add(VIEW_BUILD_PROPERTY_ID);
propertyIds.add(LABEL_PROPERTY_ID);
propertyIds.add(DESCRIPTION_PROPERTY_ID);
- propertyIds.add(VERSION_PROPERTY_ID);
propertyIds.add(MIN_AMBARI_VERSION_PROPERTY_ID);
propertyIds.add(MAX_AMBARI_VERSION_PROPERTY_ID);
propertyIds.add(PARAMETERS_PROPERTY_ID);
@@ -134,9 +134,9 @@ public class ViewVersionResourceProvider extends AbstractResourceProvider {
setResourceProperty(resource, VIEW_NAME_PROPERTY_ID, viewDefinition.getCommonName(), requestedIds);
setResourceProperty(resource, VIEW_VERSION_PROPERTY_ID, viewDefinition.getVersion(), requestedIds);
+ setResourceProperty(resource, VIEW_BUILD_PROPERTY_ID, viewDefinition.getBuild(), requestedIds);
setResourceProperty(resource, LABEL_PROPERTY_ID, viewDefinition.getLabel(), requestedIds);
setResourceProperty(resource, DESCRIPTION_PROPERTY_ID, viewDefinition.getDescription(), requestedIds);
- setResourceProperty(resource, VERSION_PROPERTY_ID, viewDefinition.getVersion(), requestedIds);
setResourceProperty(resource, MIN_AMBARI_VERSION_PROPERTY_ID,
viewDefinition.getConfiguration().getMinAmbariVersion(), requestedIds);
setResourceProperty(resource, MAX_AMBARI_VERSION_PROPERTY_ID,
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntity.java
index 6039fb6..f3ddaff 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ViewEntity.java
@@ -100,6 +100,13 @@ public class ViewEntity implements ViewDefinition {
private String version;
/**
+ * The view build number.
+ */
+ @Column
+ @Basic
+ private String build;
+
+ /**
* The view archive.
*/
@Column
@@ -271,6 +278,7 @@ public class ViewEntity implements ViewDefinition {
this.label = configuration.getLabel();
this.description = configuration.getDescription();
this.version = version;
+ this.build = configuration.getBuild();
this.mask = configuration.getMasker();
this.icon = configuration.getIcon();
@@ -305,6 +313,11 @@ public class ViewEntity implements ViewDefinition {
}
@Override
+ public String getBuild() {
+ return build;
+ }
+
+ @Override
public ViewStatus getStatus() {
return status;
}
@@ -377,6 +390,15 @@ public class ViewEntity implements ViewDefinition {
}
/**
+ * Set the view build number.
+ *
+ * @param build the build
+ */
+ public void setBuild(String build) {
+ this.build = build;
+ }
+
+ /**
* Get the icon path.
*
* @return the icon path
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
index e32e3aa..98d84e7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
@@ -90,6 +90,7 @@ public class UpgradeCatalog210 extends AbstractUpgradeCatalog {
private static final String WIDGET_TABLE = "widget";
private static final String WIDGET_LAYOUT_TABLE = "widget_layout";
private static final String WIDGET_LAYOUT_USER_WIDGET_TABLE = "widget_layout_user_widget";
+ private static final String VIEW_TABLE = "viewmain";
private static final String VIEW_INSTANCE_TABLE = "viewinstance";
private static final String VIEW_PARAMETER_TABLE = "viewparameter";
private static final String STACK_TABLE = "stack";
@@ -284,6 +285,8 @@ public class UpgradeCatalog210 extends AbstractUpgradeCatalog {
dbAccessor.addColumn(VIEW_INSTANCE_TABLE, new DBColumnInfo("alter_names", Integer.class, null, 0, false));
// cluster configuration
dbAccessor.addColumn(VIEW_PARAMETER_TABLE, new DBColumnInfo("cluster_config", String.class, 255, null, true));
+ // view build number
+ dbAccessor.addColumn(VIEW_TABLE, new DBColumnInfo("build", String.class, 128, null, true));
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/main/java/org/apache/ambari/server/view/configuration/ViewConfig.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/configuration/ViewConfig.java b/ambari-server/src/main/java/org/apache/ambari/server/view/configuration/ViewConfig.java
index f9b898d..728f620 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/configuration/ViewConfig.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/configuration/ViewConfig.java
@@ -60,6 +60,11 @@ public class ViewConfig {
private String version;
/**
+ * The view version.
+ */
+ private String build;
+
+ /**
* The minimum Ambari version.
*/
@XmlElement(name="min-ambari-version")
@@ -199,6 +204,15 @@ public class ViewConfig {
}
/**
+ * Get the view build number.
+ *
+ * @return the build number
+ */
+ public String getBuild() {
+ return build;
+ }
+
+ /**
* Get the minimum version of Ambari required to run this view.
*
* @return the minimum Ambari version
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/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 0484cfc..3c46ea9 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -428,6 +428,7 @@ CREATE TABLE viewmain (
label VARCHAR(255),
description VARCHAR(2048),
version VARCHAR(255),
+ build VARCHAR(128),
resource_type_id INTEGER NOT NULL,
icon VARCHAR(255),
icon64 VARCHAR(255),
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/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 ac32eb6..c196ec4 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -418,6 +418,7 @@ CREATE TABLE viewmain (view_name VARCHAR(255) NOT NULL,
label VARCHAR(255),
description VARCHAR(2048),
version VARCHAR(255),
+ build VARCHAR(128),
resource_type_id NUMBER(10) NOT NULL,
icon VARCHAR(255),
icon64 VARCHAR(255),
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/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 28a6f1a..69705d3 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -425,6 +425,7 @@ CREATE TABLE viewmain (
label VARCHAR(255),
description VARCHAR(2048),
version VARCHAR(255),
+ build VARCHAR(128),
resource_type_id INTEGER NOT NULL,
icon VARCHAR(255),
icon64 VARCHAR(255),
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
index d2f17c1..967c941 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
@@ -479,6 +479,7 @@ CREATE TABLE ambari.viewmain (
label VARCHAR(255),
description VARCHAR(2048),
version VARCHAR(255),
+ build VARCHAR(128),
resource_type_id INTEGER NOT NULL,
icon VARCHAR(255),
icon64 VARCHAR(255),
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/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 1d24d72..f71a4ed 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -493,6 +493,7 @@ CREATE TABLE viewmain (
label VARCHAR(255),
description VARCHAR(2048),
version VARCHAR(255),
+ build VARCHAR(128),
resource_type_id INTEGER NOT NULL,
icon VARCHAR(255),
icon64 VARCHAR(255),
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ViewEntityTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ViewEntityTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ViewEntityTest.java
index ac2715c..1022e7c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ViewEntityTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ViewEntityTest.java
@@ -111,6 +111,12 @@ public class ViewEntityTest {
}
@Test
+ public void testGetBuild() throws Exception {
+ ViewEntity viewDefinition = getViewEntity();
+ Assert.assertEquals("99", viewDefinition.getBuild());
+ }
+
+ @Test
public void testGetIcon() throws Exception {
ViewEntity viewDefinition = getViewEntity();
Assert.assertEquals("/this/is/the/icon/url/icon.png", viewDefinition.getIcon());
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
index c4d4876..acc6bed 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog210Test.java
@@ -559,10 +559,12 @@ public class UpgradeCatalog210Test {
Capture<DBAccessor.DBColumnInfo> viewInstanceColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
Capture<DBAccessor.DBColumnInfo> viewInstanceAlterNamesColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
Capture<DBAccessor.DBColumnInfo> viewParamColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
+ Capture<DBAccessor.DBColumnInfo> viewBuildColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
captures.put("viewinstance", viewInstanceColumnCapture);
captures.put("viewinstance_alter_names", viewInstanceAlterNamesColumnCapture);
captures.put("viewparameter", viewParamColumnCapture);
+ captures.put("viewmain", viewBuildColumnCapture);
}
/**
@@ -573,10 +575,12 @@ public class UpgradeCatalog210Test {
Capture<DBColumnInfo> viewInstanceColumnCapture = captures.get("viewinstance");
Capture<DBColumnInfo> viewInstanceAlterNamesColumnCapture = captures.get("viewinstance_alter_names");
Capture<DBColumnInfo> viewParamColumnCapture = captures.get("viewparameter");
+ Capture<DBColumnInfo> viewBuildColumnCapture = captures.get("viewmain");
dbAccessor.addColumn(eq("viewinstance"), capture(viewInstanceColumnCapture));
dbAccessor.addColumn(eq("viewinstance"), capture(viewInstanceAlterNamesColumnCapture));
dbAccessor.addColumn(eq("viewparameter"), capture(viewParamColumnCapture));
+ dbAccessor.addColumn(eq("viewmain"), capture(viewBuildColumnCapture));
}
/**
@@ -587,6 +591,7 @@ public class UpgradeCatalog210Test {
verifyViewInstance(captures.get("viewinstance"));
verifyViewInstanceAlterNames(captures.get("viewinstance_alter_names"));
verifyViewParameter(captures.get("viewparameter"));
+ verifyViewBuild(captures.get("viewmain"));
}
private void verifyViewInstance(Capture<DBAccessor.DBColumnInfo> viewInstanceColumnCapture) {
@@ -606,6 +611,12 @@ public class UpgradeCatalog210Test {
Assert.assertEquals(String.class, clusterConfigColumn.getType());
Assert.assertEquals("cluster_config", clusterConfigColumn.getName());
}
+
+ private void verifyViewBuild(Capture<DBAccessor.DBColumnInfo> viewBuildColumnCapture) {
+ DBColumnInfo clusterConfigColumn = viewBuildColumnCapture.getValue();
+ Assert.assertEquals(String.class, clusterConfigColumn.getType());
+ Assert.assertEquals("build", clusterConfigColumn.getName());
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-server/src/test/java/org/apache/ambari/server/view/configuration/ViewConfigTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/view/configuration/ViewConfigTest.java b/ambari-server/src/test/java/org/apache/ambari/server/view/configuration/ViewConfigTest.java
index 2391ad6..14e5d3c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/view/configuration/ViewConfigTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/view/configuration/ViewConfigTest.java
@@ -50,6 +50,7 @@ public class ViewConfigTest {
" <label>My View!</label>\n" +
" <description>Description</description>" +
" <version>1.0.0</version>\n" +
+ " <build>99</build>\n" +
" <system>true</system>\n" +
" <icon64>/this/is/the/icon/url/icon64.png</icon64>\n" +
" <icon>/this/is/the/icon/url/icon.png</icon>\n" +
@@ -200,6 +201,12 @@ public class ViewConfigTest {
}
@Test
+ public void testGetBuild() throws Exception {
+ ViewConfig config = getConfig();
+ Assert.assertEquals("99", config.getBuild());
+ }
+
+ @Test
public void testGetIcon() throws Exception {
ViewConfig config = getConfig();
Assert.assertEquals("/this/is/the/icon/url/icon.png", config.getIcon());
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-views/examples/phone-list-view/src/main/resources/view.xml
----------------------------------------------------------------------
diff --git a/ambari-views/examples/phone-list-view/src/main/resources/view.xml b/ambari-views/examples/phone-list-view/src/main/resources/view.xml
index bd927ca..ce5f29e 100644
--- a/ambari-views/examples/phone-list-view/src/main/resources/view.xml
+++ b/ambari-views/examples/phone-list-view/src/main/resources/view.xml
@@ -18,6 +18,7 @@ limitations under the License. Kerberos, LDAP, Custom. Binary/Htt
<name>PHONE_LIST</name>
<label>The Phone List View</label>
<version>1.0.0</version>
+ <build>001</build>
<parameter>
<name>data.store.enabled</name>
<description>
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-views/src/main/java/org/apache/ambari/view/ViewDefinition.java
----------------------------------------------------------------------
diff --git a/ambari-views/src/main/java/org/apache/ambari/view/ViewDefinition.java b/ambari-views/src/main/java/org/apache/ambari/view/ViewDefinition.java
index f378dde..b9efd74 100644
--- a/ambari-views/src/main/java/org/apache/ambari/view/ViewDefinition.java
+++ b/ambari-views/src/main/java/org/apache/ambari/view/ViewDefinition.java
@@ -52,6 +52,13 @@ public interface ViewDefinition {
public String getVersion();
/**
+ * Get the view build number.
+ *
+ * @return the build number
+ */
+ public String getBuild();
+
+ /**
* Get the mask class name.
*
* @return the mask class name.
http://git-wip-us.apache.org/repos/asf/ambari/blob/5240ca45/ambari-views/src/main/resources/view.xsd
----------------------------------------------------------------------
diff --git a/ambari-views/src/main/resources/view.xsd b/ambari-views/src/main/resources/view.xsd
index 46adf27..c3ad711 100644
--- a/ambari-views/src/main/resources/view.xsd
+++ b/ambari-views/src/main/resources/view.xsd
@@ -283,6 +283,11 @@
<xs:documentation>The version of the view.</xs:documentation>
</xs:annotation>
</xs:element>
+ <xs:element type="xs:string" name="build" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>The build number of the view.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
<xs:element type="xs:string" name="min-ambari-version" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>The minimum version of Ambari server required to run this view.</xs:documentation>