AMBARI-7003. Views : Add description property to view version.
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2fd25004 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2fd25004 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2fd25004 Branch: refs/heads/branch-alerts-dev Commit: 2fd25004b0c783b4838539b1a39862830b282b02 Parents: fefc129 Author: Siddharth Wagle <swa...@hortonworks.com> Authored: Mon Aug 25 10:27:25 2014 -0700 Committer: Siddharth Wagle <swa...@hortonworks.com> Committed: Mon Aug 25 11:02:15 2014 -0700 ---------------------------------------------------------------------- .../stackadvisor/StackAdvisorHelper.java.orig | 116 ------------------- .../internal/ViewVersionResourceProvider.java | 3 + .../ambari/server/orm/entities/ViewEntity.java | 39 +++++-- .../server/upgrade/UpgradeCatalog170.java | 3 + .../server/view/configuration/ViewConfig.java | 14 +++ .../main/resources/Ambari-DDL-MySQL-CREATE.sql | 2 +- .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 2 +- .../resources/Ambari-DDL-Postgres-CREATE.sql | 2 +- .../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql | 2 +- .../view/configuration/ViewConfigTest.java | 7 ++ .../org/apache/ambari/view/ViewDefinition.java | 7 ++ 11 files changed, 69 insertions(+), 128 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java.orig ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java.orig b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java.orig deleted file mode 100644 index 213b0f0..0000000 --- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorHelper.java.orig +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ambari.server.api.services.stackadvisor; - -import java.io.File; -import java.io.IOException; - -import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest.StackAdvisorRequestType; -import org.apache.ambari.server.api.services.stackadvisor.commands.GetComponentLayoutRecommnedationCommand; -import org.apache.ambari.server.api.services.stackadvisor.commands.GetComponentLayoutValidationCommand; -import org.apache.ambari.server.api.services.stackadvisor.commands.StackAdvisorCommand; -import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse; -import org.apache.ambari.server.api.services.stackadvisor.validations.ValidationResponse; -import org.apache.ambari.server.configuration.Configuration; - -import com.google.inject.Inject; -import com.google.inject.Singleton; - -@Singleton -public class StackAdvisorHelper { - - private File recommendationsDir; - private String stackAdvisorScript; - - /* Monotonically increasing requestid */ - private int requestId = 0; - private StackAdvisorRunner saRunner; - - @Inject - public StackAdvisorHelper(Configuration conf, StackAdvisorRunner saRunner) throws IOException { - this.recommendationsDir = conf.getRecommendationsDir(); - this.stackAdvisorScript = conf.getStackAdvisorScript(); - this.saRunner = saRunner; - } - - /** - * Returns validation (component-layout or configurations) result for the - * request. - * - * @param validationRequest the validation request - * @return {@link ValidationResponse} instance - * @throws StackAdvisorException in case of stack advisor script errors - */ - public synchronized ValidationResponse validate(StackAdvisorRequest request) - throws StackAdvisorException { - requestId += 1; - - StackAdvisorCommand<ValidationResponse> command = createValidationCommand(request - .getRequestType()); - - return command.invoke(request); - } - - StackAdvisorCommand<ValidationResponse> createValidationCommand( - StackAdvisorRequestType requestType) throws StackAdvisorException { - StackAdvisorCommand<ValidationResponse> command; - if (requestType == StackAdvisorRequestType.HOST_GROUPS) { - command = new GetComponentLayoutValidationCommand(recommendationsDir, stackAdvisorScript, - requestId, saRunner); - } else { - throw new StackAdvisorException(String.format("Unsupported request type, type=%s", - requestType)); - } - - return command; - } - - /** - * Returns recommendation (component-layout or configurations) based on the - * request. - * - * @param request the recommendation request - * @return {@link RecommendationResponse} instance - * @throws StackAdvisorException in case of stack advisor script errors - */ - public synchronized RecommendationResponse recommend(StackAdvisorRequest request) - throws StackAdvisorException { - requestId += 1; - - StackAdvisorCommand<RecommendationResponse> command = createRecommendationCommand(request - .getRequestType()); - - return command.invoke(request); - } - - StackAdvisorCommand<RecommendationResponse> createRecommendationCommand( - StackAdvisorRequestType requestType) throws StackAdvisorException { - StackAdvisorCommand<RecommendationResponse> command; - if (requestType == StackAdvisorRequestType.HOST_GROUPS) { - command = new GetComponentLayoutRecommnedationCommand(recommendationsDir, stackAdvisorScript, - requestId, saRunner); - } else { - throw new StackAdvisorException(String.format("Unsupported request type, type=%s", - requestType)); - } - - return command; - } - -} http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 5793a1b..d13785f 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 @@ -47,6 +47,7 @@ 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 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 PARAMETERS_PROPERTY_ID = "ViewVersionInfo/parameters"; public static final String ARCHIVE_PROPERTY_ID = "ViewVersionInfo/archive"; @@ -69,6 +70,7 @@ public class ViewVersionResourceProvider extends AbstractResourceProvider { propertyIds.add(VIEW_NAME_PROPERTY_ID); propertyIds.add(VIEW_VERSION_PROPERTY_ID); propertyIds.add(LABEL_PROPERTY_ID); + propertyIds.add(DESCRIPTION_PROPERTY_ID); propertyIds.add(VERSION_PROPERTY_ID); propertyIds.add(PARAMETERS_PROPERTY_ID); propertyIds.add(ARCHIVE_PROPERTY_ID); @@ -121,6 +123,7 @@ 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, LABEL_PROPERTY_ID, viewDefinition.getLabel(), requestedIds); + setResourceProperty(resource, DESCRIPTION_PROPERTY_ID, viewDefinition.getDescription(), requestedIds); setResourceProperty(resource, VERSION_PROPERTY_ID, viewDefinition.getVersion(), requestedIds); setResourceProperty(resource, PARAMETERS_PROPERTY_ID, viewDefinition.getConfiguration().getParameters(), requestedIds); http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 da6e2d2..998d2c1 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 @@ -39,6 +39,7 @@ import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Transient; + import java.util.Collection; import java.util.HashMap; import java.util.HashSet; @@ -69,6 +70,13 @@ public class ViewEntity implements ViewDefinition { private String label; /** + * The view description. + */ + @Column + @Basic + private String description; + + /** * The icon path. */ @Column @@ -226,13 +234,14 @@ public class ViewEntity implements ViewDefinition { String version = configuration.getVersion(); - this.name = getViewName(configuration.getName(), version); - this.label = configuration.getLabel(); - this.version = version; + this.name = getViewName(configuration.getName(), version); + this.label = configuration.getLabel(); + this.description = configuration.getDescription(); + this.version = version; - this.mask = configuration.getMasker(); - this.icon = configuration.getIcon(); - this.icon64 = configuration.getIcon64(); + this.mask = configuration.getMasker(); + this.icon = configuration.getIcon(); + this.icon64 = configuration.getIcon64(); this.externalResourceType = new Resource.Type(getQualifiedResourceTypeName(ResourceConfig.EXTERNAL_RESOURCE_PLURAL_NAME)); @@ -252,6 +261,11 @@ public class ViewEntity implements ViewDefinition { } @Override + public String getDescription() { + return description; + } + + @Override public String getVersion() { return version; } @@ -294,16 +308,25 @@ public class ViewEntity implements ViewDefinition { /** * Set the view label (display name). * - * @param label the view label + * @param label the view label */ public void setLabel(String label) { this.label = label; } /** + * Set the view description. + * + * @param description the view description + */ + public void setDescription(String description) { + this.description = description; + } + + /** * Set the view version. * - * @param version the version + * @param version the version */ public void setVersion(String version) { this.version = version; http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java index 9f61c3d..eeba932 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java @@ -252,6 +252,9 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog { dbAccessor.addColumn("host_role_command", new DBColumnInfo("error_log", String.class, 255, null, true)); + dbAccessor.addColumn("viewmain", new DBColumnInfo("description", + String.class, 255, null, true)); + addAlertingFrameworkDDL(); //service config versions changes http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 ddca446..816c178 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 @@ -48,6 +48,11 @@ public class ViewConfig { private String label; /** + * The view description. + */ + private String description; + + /** * The view version. */ private String version; @@ -133,6 +138,15 @@ public class ViewConfig { } /** + * Get the view description. + * + * @return the view description + */ + public String getDescription() { + return description; + } + + /** * Get the view version. * * @return the version http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 0a372b5..29fa041 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql @@ -65,7 +65,7 @@ CREATE TABLE hostgroup (blueprint_name VARCHAR(255) NOT NULL, name VARCHAR(255) CREATE TABLE hostgroup_component (blueprint_name VARCHAR(255) NOT NULL, hostgroup_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(blueprint_name, hostgroup_name, name)); CREATE TABLE blueprint_configuration (blueprint_name VARCHAR(255) NOT NULL, type_name VARCHAR(255) NOT NULL, config_data VARCHAR(32000) NOT NULL, config_attributes VARCHAR(32000), PRIMARY KEY(blueprint_name, type_name)); CREATE TABLE hostgroup_configuration (blueprint_name VARCHAR(255) NOT NULL, hostgroup_name VARCHAR(255) NOT NULL, type_name VARCHAR(255) NOT NULL, config_data TEXT NOT NULL, config_attributes TEXT, PRIMARY KEY(blueprint_name, hostgroup_name, type_name)); -CREATE TABLE viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), version VARCHAR(255), resource_type_id INTEGER NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); +CREATE TABLE viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), version VARCHAR(255), resource_type_id INTEGER NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); CREATE TABLE viewinstancedata (view_instance_id BIGINT, view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, user_name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(VIEW_INSTANCE_ID, NAME, USER_NAME)); CREATE TABLE viewinstance (view_instance_id BIGINT, resource_id BIGINT NOT NULL, view_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), visible CHAR(1), icon VARCHAR(255), icon64 VARCHAR(255), xml_driven CHAR(1), PRIMARY KEY(view_instance_id)); CREATE TABLE viewinstanceproperty (view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(view_name, view_instance_name, name)); http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 817d1e9..457404d 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql @@ -56,7 +56,7 @@ CREATE TABLE hostgroup (blueprint_name VARCHAR2(255) NOT NULL, name VARCHAR2(255 CREATE TABLE hostgroup_component (blueprint_name VARCHAR2(255) NOT NULL, hostgroup_name VARCHAR2(255) NOT NULL, name VARCHAR2(255) NOT NULL, PRIMARY KEY(blueprint_name, hostgroup_name, name)); CREATE TABLE blueprint_configuration (blueprint_name VARCHAR2(255) NOT NULL, type_name VARCHAR2(255) NOT NULL, config_data CLOB NOT NULL, config_attributes CLOB, PRIMARY KEY(blueprint_name, type_name)); CREATE TABLE hostgroup_configuration (blueprint_name VARCHAR2(255) NOT NULL, hostgroup_name VARCHAR2(255) NOT NULL, type_name VARCHAR2(255) NOT NULL, config_data CLOB NOT NULL, config_attributes CLOB, PRIMARY KEY(blueprint_name, hostgroup_name, type_name)); -CREATE TABLE viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), version VARCHAR(255), resource_type_id NUMBER(10) NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); +CREATE TABLE viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), version VARCHAR(255), resource_type_id NUMBER(10) NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); CREATE TABLE viewinstancedata (view_instance_id NUMBER(19), view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, user_name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(view_instance_id, name, user_name)); CREATE TABLE viewinstance (view_instance_id NUMBER(19), resource_id NUMBER(19) NOT NULL, view_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), visible CHAR(1), icon VARCHAR(255), icon64 VARCHAR(255), xml_driven CHAR(1), PRIMARY KEY(view_instance_id)); CREATE TABLE viewinstanceproperty (view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(view_name, view_instance_name, name)); http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 1ea4a55..b58fd21 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql @@ -91,7 +91,7 @@ CREATE TABLE hostgroup_component (blueprint_name VARCHAR(255) NOT NULL, hostgrou CREATE TABLE blueprint_configuration (blueprint_name varchar(255) NOT NULL, type_name varchar(255) NOT NULL, config_data varchar(32000) NOT NULL , config_attributes varchar(32000), PRIMARY KEY(blueprint_name, type_name)); CREATE TABLE hostgroup_configuration (blueprint_name VARCHAR(255) NOT NULL, hostgroup_name VARCHAR(255) NOT NULL, type_name VARCHAR(255) NOT NULL, config_data TEXT NOT NULL, config_attributes varchar(32000), PRIMARY KEY(blueprint_name, hostgroup_name, type_name)); -CREATE TABLE viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), version VARCHAR(255), resource_type_id INTEGER NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); +CREATE TABLE viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), version VARCHAR(255), resource_type_id INTEGER NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); CREATE TABLE viewinstancedata (view_instance_id BIGINT, view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, user_name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(view_instance_id, name, user_name)); CREATE TABLE viewinstance (view_instance_id BIGINT, resource_id BIGINT NOT NULL, view_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), visible CHAR(1), icon VARCHAR(255), icon64 VARCHAR(255), xml_driven CHAR(1), PRIMARY KEY(view_instance_id)); CREATE TABLE viewinstanceproperty (view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(view_name, view_instance_name, name)); http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 ef8a24d..664bbe9 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 @@ -141,7 +141,7 @@ GRANT ALL PRIVILEGES ON TABLE ambari.hostgroup_component TO :username; GRANT ALL PRIVILEGES ON TABLE ambari.blueprint_configuration TO :username; GRANT ALL PRIVILEGES ON TABLE ambari.hostgroup_configuration TO :username; -CREATE TABLE ambari.viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), version VARCHAR(255), resource_type_id INTEGER NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); +CREATE TABLE ambari.viewmain (view_name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), version VARCHAR(255), resource_type_id INTEGER NOT NULL, icon VARCHAR(255), icon64 VARCHAR(255), archive VARCHAR(255), mask VARCHAR(255), PRIMARY KEY(view_name)); CREATE TABLE ambari.viewinstancedata (view_instance_id BIGINT, view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, user_name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(view_instance_id, name, user_name)); CREATE TABLE ambari.viewinstance (view_instance_id BIGINT, resource_id BIGINT NOT NULL, view_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, label VARCHAR(255), description VARCHAR(255), visible CHAR(1), icon VARCHAR(255), icon64 VARCHAR(255), xml_driven CHAR(1), PRIMARY KEY(view_instance_id)); CREATE TABLE ambari.viewinstanceproperty (view_name VARCHAR(255) NOT NULL, view_instance_name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, value VARCHAR(2000) NOT NULL, PRIMARY KEY(view_name, view_instance_name, name)); http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 ba40027..2ed365e 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 @@ -45,6 +45,7 @@ public class ViewConfigTest { private static String xml = "<view>\n" + " <name>MY_VIEW</name>\n" + " <label>My View!</label>\n" + + " <description>Description</description>" + " <version>1.0.0</version>\n" + " <icon64>/this/is/the/icon/url/icon64.png</icon64>\n" + " <icon>/this/is/the/icon/url/icon.png</icon>\n" + @@ -129,6 +130,12 @@ public class ViewConfigTest { } @Test + public void testGetDescription() throws Exception { + ViewConfig config = getConfig(); + Assert.assertEquals("Description", config.getDescription()); + } + + @Test public void testGetVersion() throws Exception { ViewConfig config = getConfig(); Assert.assertEquals("1.0.0", config.getVersion()); http://git-wip-us.apache.org/repos/asf/ambari/blob/2fd25004/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 e519526..b8e7444 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 @@ -38,6 +38,13 @@ public interface ViewDefinition { public String getLabel(); /** + * Get the view description. + * + * @return the description + */ + public String getDescription(); + + /** * Get the view version. * * @return the version