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>