Return-Path: X-Original-To: apmail-ambari-commits-archive@www.apache.org Delivered-To: apmail-ambari-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E14A610261 for ; Mon, 23 Jun 2014 13:05:00 +0000 (UTC) Received: (qmail 75588 invoked by uid 500); 23 Jun 2014 13:05:00 -0000 Delivered-To: apmail-ambari-commits-archive@ambari.apache.org Received: (qmail 75559 invoked by uid 500); 23 Jun 2014 13:05:00 -0000 Mailing-List: contact commits-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@ambari.apache.org Delivered-To: mailing list commits@ambari.apache.org Received: (qmail 75548 invoked by uid 99); 23 Jun 2014 13:05:00 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Jun 2014 13:05:00 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 8EB36887666; Mon, 23 Jun 2014 13:05:00 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: tbeerbower@apache.org To: commits@ambari.apache.org Message-Id: <918642ed772441e3a3d5fff6323b7137@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: git commit: AMBARI-6218 - favorite view example clean-up + doc (Jeff Sposetti via tbeerbower) Date: Mon, 23 Jun 2014 13:05:00 +0000 (UTC) Repository: ambari Updated Branches: refs/heads/branch-1.6.1 8da3c7cbd -> 4b7d557f5 AMBARI-6218 - favorite view example clean-up + doc (Jeff Sposetti via tbeerbower) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4b7d557f Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4b7d557f Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4b7d557f Branch: refs/heads/branch-1.6.1 Commit: 4b7d557f50384a7d2708472f80fb08d2eed2fa81 Parents: 8da3c7c Author: tbeerbower Authored: Mon Jun 23 09:04:03 2014 -0400 Committer: tbeerbower Committed: Mon Jun 23 09:04:44 2014 -0400 ---------------------------------------------------------------------- ambari-views/docs/index.md | 22 +++--- .../examples/favorite-view/docs/index.md | 76 ++++++++++++++++++++ .../favorite-view/src/main/resources/view.xml | 7 +- 3 files changed, 92 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/4b7d557f/ambari-views/docs/index.md ---------------------------------------------------------------------- diff --git a/ambari-views/docs/index.md b/ambari-views/docs/index.md index 4963b4c..479bc86 100644 --- a/ambari-views/docs/index.md +++ b/ambari-views/docs/index.md @@ -313,9 +313,12 @@ For example … } ###Persistence -#####Application Data -The application data map is a simple method for view application code to store key/value pairs for a view instance. The application data map is different than the view instance properties that are specified to instantiate the view. The application data map may contain any arbitrary string values that the view needs to persist and may be updated or queried at any point during the life of the view instance by the application logic. The view context contains methods to put and get values from the application data map. - /** + +The application data map is different than the view instance properties that are specified to instantiate the view. The application data map may contain any arbitrary string values that the view needs to persist and may be updated or queried at any point during the life of the view instance by the application logic. + +The view context contains methods to put and get values from the application data map. + + /** * Save an instance data value for the given key. * * @param key the key @@ -344,17 +347,20 @@ The application data map is a simple method for view application code to store k * * @param key the key */ - public void removeInstanceData(String key); + #####DataStore -The data store allows view instances to save JavaBean entities in the Ambari database. The view components may acquire a data store instance through the injected view context. The view context exposes a data store object … - /** +The data store allows view instances to save JavaBean entities in the Ambari database. + +The view components may acquire a data store instance through the injected view context. The view context exposes a data store object … + + /** * Get a data store for view persistence entities. * * @return a data store */ public DataStore getDataStore(); -The DataStore object exposes a simple interface for persisting view entities. The basic CRUD operations are supported … +The DataStore object exposes a simple interface for persisting view entities. The basic CRUD operations are supported … /** * Save the given entity to persistent storage. The entity must be declared as an @@ -822,4 +828,4 @@ So, to access the UI of the above Files view the user would browse to … -![image](ui.png) \ No newline at end of file +![image](ui.png) http://git-wip-us.apache.org/repos/asf/ambari/blob/4b7d557f/ambari-views/examples/favorite-view/docs/index.md ---------------------------------------------------------------------- diff --git a/ambari-views/examples/favorite-view/docs/index.md b/ambari-views/examples/favorite-view/docs/index.md index a3990d7..bc8b627 100644 --- a/ambari-views/examples/favorite-view/docs/index.md +++ b/ambari-views/examples/favorite-view/docs/index.md @@ -25,3 +25,79 @@ Package ----- All views are packaged as a view archive. The view archive contains the configuration file and various optional components of the view. + +#####view.xml + +The view.xml file is the only required file for a view archive. The view.xml is the configuration that describes the view and view instances for Ambari. +The view.xml for this example defines two required parameters for configuring a view instance: what.is.the.question and i.do.not.know. The view also +defines a single resource that exposes a REST service at the /favorite end point. + + + FAVORITE + + 1.0.0 + + what.is.the.question + Ask a question + true + + + i.do.not.know + If you do not know + true + + + favorite + org.apache.ambari.view.favorite.FavoriteService + + + +Build +----- + +The view can be built as a maven project. + + cd ambari-views/examples/favorite-view + mvn clean package + +The build will produce the view archive. + + ambari-views/examples/favorite-view/target/favorite-view-1.0.0.jar + +Place the view archive on the Ambari Server and restart to deploy. + + cp favorite-view-1.0.0.jar /var/lib/ambari-server/resources/views/ + ambari-server restart + +Create View Instance +----- + +With the view deployed, create an instance of the view to be used by Ambari users. + + POST + /api/v1/views/FAVORITE/versions/1.0.0/instances/FAVCOLOR + + [ { + "ViewInstanceInfo" : { + "label" : "Colors", + "description" : "Choose your favorite color", + "properties" : { + "what.is.the.question" : "What is your favorite color?", + "i.do.not.know" : "green" + } + } + } ] + +Access the view service end point: + + /api/v1/views/FAVORITE/versions/1.0.0/instances/FAVCOLOR/resources/favorite + +To get the favorite color: + + GET + /api/v1/views/FAVORITE/versions/1.0.0/instances/FAVCOLOR/resources/favorite/item + +To set the favorite color: + + POST + /api/v1/views/FAVORITE/versions/1.0.0/instances/FAVCOLOR/resources/favorite/item/blue http://git-wip-us.apache.org/repos/asf/ambari/blob/4b7d557f/ambari-views/examples/favorite-view/src/main/resources/view.xml ---------------------------------------------------------------------- diff --git a/ambari-views/examples/favorite-view/src/main/resources/view.xml b/ambari-views/examples/favorite-view/src/main/resources/view.xml index f289536..abd09dd 100644 --- a/ambari-views/examples/favorite-view/src/main/resources/view.xml +++ b/ambari-views/examples/favorite-view/src/main/resources/view.xml @@ -17,8 +17,7 @@ FAVORITE - 0.1.0 - + 1.0.0 what.is.the.question Ask a question @@ -29,10 +28,8 @@ If you do not know true - favorite - org.apache.ambari.view.examples.FavoriteService + org.apache.ambari.view.favorite.FavoriteService -