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 2014/06/23 14:59:46 UTC
git commit: AMBARI-6218 - favorite view example clean-up + doc (Jeff
Sposetti via tbeerbower)
Repository: ambari
Updated Branches:
refs/heads/trunk 8769ba8cb -> 98c9e94d3
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/98c9e94d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/98c9e94d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/98c9e94d
Branch: refs/heads/trunk
Commit: 98c9e94d3a626a1aa3f6d4d44625c4b3c1bc2cd2
Parents: 8769ba8
Author: tbeerbower <tb...@hortonworks.com>
Authored: Mon Jun 23 08:57:44 2014 -0400
Committer: tbeerbower <tb...@hortonworks.com>
Committed: Mon Jun 23 08:58:33 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/98c9e94d/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 …
-
\ No newline at end of file
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/98c9e94d/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.
+
+ <view>
+ <name>FAVORITE</name>
+ <label>Favorite</label>
+ <version>1.0.0</version>
+ <parameter>
+ <name>what.is.the.question</name>
+ <description>Ask a question</description>
+ <required>true</required>
+ </parameter>
+ <parameter>
+ <name>i.do.not.know</name>
+ <description>If you do not know</description>
+ <required>true</required>
+ </parameter>
+ <resource>
+ <name>favorite</name>
+ <service-class>org.apache.ambari.view.favorite.FavoriteService</service-class>
+ </resource>
+ </view>
+
+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/98c9e94d/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 @@
<view>
<name>FAVORITE</name>
<label>Favorite</label>
- <version>0.1.0</version>
-
+ <version>1.0.0</version>
<parameter>
<name>what.is.the.question</name>
<description>Ask a question</description>
@@ -29,10 +28,8 @@
<description>If you do not know</description>
<required>true</required>
</parameter>
-
<resource>
<name>favorite</name>
- <service-class>org.apache.ambari.view.examples.FavoriteService</service-class>
+ <service-class>org.apache.ambari.view.favorite.FavoriteService</service-class>
</resource>
-
</view>