You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ad...@apache.org on 2018/05/01 18:36:02 UTC

[ambari] branch trunk updated: AMBARI-23465. Remove weather view example, no longer works (#893)

This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 491a3a0  AMBARI-23465. Remove weather view example, no longer works (#893)
491a3a0 is described below

commit 491a3a07257c97457ed5c05ddbe99bb3788ffcf8
Author: Jay Kumar SenSharma <ja...@users.noreply.github.com>
AuthorDate: Wed May 2 04:35:59 2018 +1000

    AMBARI-23465. Remove weather view example, no longer works (#893)
    
    since openweathermap.org API requires valid APPID & API KEY
---
 ambari-views/examples/README.md                    |   1 -
 ambari-views/examples/pom.xml                      |   1 -
 ambari-views/examples/weather-view/docs/index.md   | 566 ---------------------
 .../examples/weather-view/docs/paloalto.png        | Bin 39530 -> 0 bytes
 .../examples/weather-view/docs/weather.png         | Bin 29121 -> 0 bytes
 ambari-views/examples/weather-view/pom.xml         | 114 -----
 .../apache/ambari/view/weather/CityResource.java   |  99 ----
 .../ambari/view/weather/CityResourceProvider.java  | 183 -------
 .../apache/ambari/view/weather/CityService.java    |  75 ---
 .../apache/ambari/view/weather/WeatherServlet.java | 131 -----
 .../src/main/resources/WEB-INF/web.xml             |  37 --
 .../weather-view/src/main/resources/view.xml       |  94 ----
 12 files changed, 1301 deletions(-)

diff --git a/ambari-views/examples/README.md b/ambari-views/examples/README.md
index 12da7eb..5a74eed 100644
--- a/ambari-views/examples/README.md
+++ b/ambari-views/examples/README.md
@@ -30,7 +30,6 @@ See the documentation pages for the view examples.
 * [Phone List Upgrade View](phone-list-upgrade-view/docs/index.md) : Demonstrates view data migration from Phone List View.
 * [Property View](property-view/docs/index.md) : Demonstrates view configuration property options.
 * [Property Validator View](property-validator-view/docs/index.md) : Demonstrates configuration property validator.
-* [Weather view](weather-view/docs/index.md) : Demonstrates the the use of instance parameters, a servlet for a dynamic UI and a managed resource.
 * [Auto Cluster view](auto-cluster-view/docs/index.md) : Example view that can be auto-created and configured to leverage the Ambari REST APIs to access a cluster being managed by Ambari.
 
 Please also visit the [Apache Ambari Project](http://ambari.apache.org/) page for more information.
diff --git a/ambari-views/examples/pom.xml b/ambari-views/examples/pom.xml
index 57ec8ad..ab52ee0 100644
--- a/ambari-views/examples/pom.xml
+++ b/ambari-views/examples/pom.xml
@@ -37,7 +37,6 @@
     <module>phone-list-upgrade-view</module>
     <module>calculator-view</module>
     <module>cluster-view</module>
-    <module>weather-view</module>
     <module>restricted-view</module>
     <module>simple-view</module>
     <module>property-view</module>
diff --git a/ambari-views/examples/weather-view/docs/index.md b/ambari-views/examples/weather-view/docs/index.md
deleted file mode 100644
index 432971e..0000000
--- a/ambari-views/examples/weather-view/docs/index.md
+++ /dev/null
@@ -1,566 +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](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.
--->
-
-Weather View Example
-========
-Description
------
-The Weather view demonstrates the the use of instance parameters, a servlet for a dynamic UI and a managed resource.  The Weather view displays the weather for various cites around the world.  Unlike the calculator resource in the example [Calculator View](calculator-view/docs/index.md), the Weather view's city resources are managed by Ambari.  This means that they are accessed through a user defined resource provider and plugged into Ambari's REST API as subresources of the view instance.
-
-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.
-
-      <view>
-        <name>WEATHER</name>
-        <label>Weather</label>
-        <version>1.0.0</version>
-        <parameter>
-          <name>cities</name>
-          <description>The list of cities.</description>
-          <required>true</required>
-        </parameter>
-        <parameter>
-          <name>units</name>
-          <description>The units (metric or imperial).</description>
-          <required>false</required>
-        </parameter>
-        <resource>
-          <name>city</name>
-          <plural-name>cities</plural-name>
-          <id-property>id</id-property>
-          <resource-class>org.apache.ambari.view.weather.CityResource</resource-class>
-          <provider-class>org.apache.ambari.view.weather.CityResourceProvider</provider-class>
-          <service-class>org.apache.ambari.view.weather.CityService</service-class>
-        </resource>
-        <instance>
-          <name>US_WEST</name>
-          <property>
-            <key>cities</key>
-            <value>Palo Alto, US;Los Angeles, US;Portland, US;Seattle, US</value>
-          </property>
-          <property>
-            <key>units</key>
-            <value>imperial</value>
-          </property>
-        </instance>
-        <instance>
-          <name>US_EAST</name>
-          <property>
-            <key>cities</key>
-            <value>New York, US;Boston, US;Philadelphia, US;Atlanta, US</value>
-          </property>
-          <property>
-            <key>units</key>
-            <value>imperial</value>
-          </property>
-        </instance>
-        <instance>
-          <name>US_CENTRAL</name>
-          <property>
-            <key>cities</key>
-            <value>Chicago, US;Dallas, US</value>
-          </property>
-          <property>
-            <key>units</key>
-            <value>imperial</value>
-          </property>
-        </instance>
-        <instance>
-          <name>US_MOUNTAIN</name>
-          <property>
-            <key>cities</key>
-            <value>Denver, US;Phoenix, US</value>
-          </property>
-          <property>
-            <key>units</key>
-            <value>imperial</value>
-          </property>
-        </instance>
-        <instance>
-          <name>EUROPE</name>
-          <property>
-            <key>cities</key>
-            <value>London, UK;Paris;Munich</value>
-          </property>
-          <property>
-            <key>units</key>
-            <value>imperial</value>
-          </property>
-        </instance>
-      </view>
-
-The configuration in this case defines a view named WEATHER that has a multiple instances.  You can see that the view includes a required parameter called **'cities'** and an optional parameter called **'units'**.  The view also contains an entry for a managed resource named **'city'**.  Because the resource is managed by Ambari, it is accessible as a sub-resource of the view instance through the Ambari REST API.
-
-
-#####WEB-INF/web.xml
-The web.xml is the deployment descriptor used to deploy the view as a web app.  The Java EE standards apply for the descriptor.  We can see that for this example a single servlet named **WeatherServlet** is mapped to the context path **'/ui'**.
-
-      <servlet>
-        <servlet-name>WeatherServlet</servlet-name>
-        <servlet-class>org.apache.ambari.view.weather.WeatherServlet</servlet-class>
-      </servlet>
-      <servlet-mapping>
-        <servlet-name>WeatherServlet</servlet-name>
-        <url-pattern>/ui</url-pattern>
-      </servlet-mapping>
-
-#####WeatherServlet.java
-
-The servlet WeatherServlet will be deployed as part of the view and mapped as described in the web.xml.
-
-Notice that we can access the view context in the servlet by obtaining it as a servlet context attribute in the init() method.
-
-      private ViewContext viewContext;
-
-      @Override
-      public void init(ServletConfig config) throws ServletException {
-        super.init(config);
-
-        ServletContext context = config.getServletContext();
-        viewContext = (ViewContext) context.getAttribute(ViewContext.CONTEXT_ATTRIBUTE);
-      }
-
-
-The doGet() method of the servlet accesses the view context and the CityResourceProvider to display the list of cities available through the current view instance and detailed weather information for any select city.
-
-      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException
-      {
-        ...
-
-        String targetCity = request.getParameter("city");
-
-        if (targetCity == null) {
-          Map<String, String> properties = viewContext.getProperties();
-
-          String   cityStr = properties.get("cities");
-          String[] cities  = cityStr.split(";");
-          
-          // list the cities for this view instance
-          for (String city : cities) {
-            // write city info ...
-          }
-        } else {
-          // Use the view's resource provider to get the specified city resource...
-          ResourceProvider resourceProvider = viewContext.getResourceProvider("city");
-          CityResource resource = 
-              (CityResource) resourceProvider.getResource(targetCity, Collections.singleton("weather"));
-          // write the specific city weather details ...
-        }
-      }
-
-#####CityResource.java
-
- The CityResource class is a JavaBean that contains the attributes of a city resource for the Weather view.
-
-      public class CityResource {
-
-        private String id;
-
-        private Map<String, Object> weather;
-
-        private String units;
-
-        public String getId() {
-          return id;
-        }
-
-        public void setId(String id) {
-          this.id = id;
-        }
-        ...
-      }
-
-#####CityResourceProvider.java
-
-The CityResourceProvider class is an implementation of the ResourceProvider interface that provides access to city resources for the Ambari API framework.
-
-      public class CityResourceProvider implements ResourceProvider<CityResource> {
-        @Inject
-        ViewContext viewContext;
-
-
-        @Override
-        public CityResource getResource(String resourceId, Set<String> propertyIds) throws
-            SystemException, NoSuchResourceException, UnsupportedPropertyException {
-
-          Map<String, String> properties = viewContext.getProperties();
-
-          String units = properties.get("units");
-
-          try {
-            return getResource(resourceId, units, propertyIds);
-          } catch (IOException e) {
-            throw new SystemException("Can't get city resource " + resourceId + ".", e);
-          }
-        }
-        ...
-      }
-
-#####CityService.java
-
-The CityService uses JAX-RS annotations to define the actions to get the city resources.  Note that the injected ViewResourceHandler is used to pass control to the API framework.
-
-      @Inject
-      ViewResourceHandler resourceHandler;
-
-      @GET
-      @Path("{cityName}")
-      @Produces({"text/plain", "application/json"})
-      public Response getCity(@Context HttpHeaders headers, @Context UriInfo ui,
-                              @PathParam("cityName") String cityName) {
-        return resourceHandler.handleRequest(headers, ui, cityName);
-      }
-
-      @GET
-      @Produces({"text/plain", "application/json"})
-      public Response getCities(@Context HttpHeaders headers, @Context UriInfo ui) {
-        return resourceHandler.handleRequest(headers, ui, null);
-      }
-
-Build
------
-
-The view can be built as a maven project.
-
-    cd ambari-views/examples/weather-view
-    mvn clean package
-
-The build will produce the view archive.
-
-    ambari-views/examples/weather-view/target/weather-view-1.0.0.jar
-
-
-Deploy
------
-To deploy a view we simply place the view archive in the views folder of the ambari-server machine.  By default the views folder is located at ...
-
-    /var/lib/ambari-server/resources/views
-
-To deploy the Weather view simply copy the weather-view jar to the ambari-server views folder and restart the ambari server.
-
-Use
------
-
-After deploying a view you should see it as a view resource in the Ambari REST API.  If we request all views, we should see the WEATHER view.
-
-      http://<server>:8080/api/v1/views
-
-      {
-        "href" : "http://<server>:8080/api/v1/views",
-        "items" : [
-          {
-            "href" : "http://<server>:8080/api/v1/views/CALCULATOR",
-            "ViewInfo" : {
-              "view_name" : "CALCULATOR"
-            }
-          },
-          {
-            "href" : "http://<server>:8080/api/v1/views/HELLO_SERVLET",
-            "ViewInfo" : {
-              "view_name" : "HELLO_SERVLET"
-            }
-          },
-          {
-            "href" : "http://<server>:8080/api/v1/views/HELLO_WORLD",
-            "ViewInfo" : {
-              "view_name" : "HELLO_WORLD"
-            }
-          },
-          {
-            "href" : "http://<server>:8080/api/v1/views/WEATHER",
-            "ViewInfo" : {
-              "view_name" : "WEATHER"
-            }
-          }
-        ]
-      }
-
-If we want to see the details about a specific view, we can ask for it by name.  This shows us that the WEATHER view has multiple parameters and multiple instances.
-
-    http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0
-    
-    {
-      "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0",
-      "ViewVersionInfo" : {
-        "archive" : "/var/lib/ambari-server/resources/views/work/WEATHER{1.0.0}",
-        "label" : "Weather",
-        "parameters" : [
-          {
-            "name" : "cities",
-            "description" : "The list of cities.",
-            "required" : true
-          },
-          {
-            "name" : "units",
-            "description" : "The units (metric or imperial).",
-            "required" : false
-          }
-        ],
-        "version" : "1.0.0",
-        "view_name" : "WEATHER"
-      },
-      "instances" : [
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/EUROPE",
-          "ViewInstanceInfo" : {
-            "instance_name" : "EUROPE",
-            "version" : "1.0.0",
-            "view_name" : "WEATHER"
-          }
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_CENTRAL",
-          "ViewInstanceInfo" : {
-            "instance_name" : "US_CENTRAL",
-            "version" : "1.0.0",
-            "view_name" : "WEATHER"
-          }
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_EAST",
-          "ViewInstanceInfo" : {
-            "instance_name" : "US_EAST",
-            "version" : "1.0.0",
-            "view_name" : "WEATHER"
-          }
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_MOUNTAIN",
-          "ViewInstanceInfo" : {
-            "instance_name" : "US_MOUNTAIN",
-            "version" : "1.0.0",
-            "view_name" : "WEATHER"
-          }
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST",
-          "ViewInstanceInfo" : {
-            "instance_name" : "US_WEST",
-            "version" : "1.0.0",
-            "view_name" : "WEATHER"
-          }
-        }
-      ]
-    }
-    
-To see a specific instance of a view, we can ask for it by name.  Here we can see the attributes of the view including its name and root context path.  We can also see that this view instance defines a value for the name property.
-
-    http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST
-
-    {
-      "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST",
-      "ViewInstanceInfo" : {
-        "context_path" : "/views/WEATHER/1.0.0/US_WEST",
-        "instance_name" : "US_WEST",
-        "version" : "1.0.0",
-        "view_name" : "WEATHER",
-        "instance_data" : { },
-        "properties" : {
-          "cities" : "Palo Alto, US;Los Angeles, US;Portland, US;Seattle, US",
-          "units" : "imperial"
-        }
-      },
-      "resources" : [ ],
-      "cities" : [
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST/cities/Los Angeles, US",
-          "id" : "Los Angeles, US",
-          "instance_name" : "US_WEST",
-          "version" : "1.0.0",
-          "view_name" : "WEATHER"
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST/cities/Palo Alto, US",
-          "id" : "Palo Alto, US",
-          "instance_name" : "US_WEST",
-          "version" : "1.0.0",
-          "view_name" : "WEATHER"
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST/cities/Portland, US",
-          "id" : "Portland, US",
-          "instance_name" : "US_WEST",
-          "version" : "1.0.0",
-          "view_name" : "WEATHER"
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST/cities/Seattle, US",
-          "id" : "Seattle, US",
-          "instance_name" : "US_WEST",
-          "version" : "1.0.0",
-          "view_name" : "WEATHER"
-        }
-      ]
-    }
-    
-To see a specific city sub-resource we can ask for it by name.  Here we can see the city resource for Palo Alto.
-
-      http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST/cities/Palo%20Alto,%20US
-
-      {
-      "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_WEST/cities/Palo Alto, US",
-      "id" : "Palo Alto, US",
-      "instance_name" : "US_WEST",
-      "units" : "imperial",
-      "version" : "1.0.0",
-      "view_name" : "WEATHER",
-      "weather" : {
-        "base" : "cmc stations",
-        "cod" : 200.0,
-        "dt" : 1.400170204E9,
-        "icon_src" : "http://openweathermap.org/img/w/01d",
-        "id" : 5567220.0,
-        "name" : "Palo Alto",
-        "clouds" : {
-          "all" : 0.0
-        },
-        "coord" : {
-          "lat" : 37.44,
-          "lon" : -122.16
-        },
-        "main" : {
-          "grnd_level" : 1021.91,
-          "humidity" : 87.0,
-          "pressure" : 1021.91,
-          "sea_level" : 1033.86,
-          "temp" : 56.98,
-          "temp_max" : 56.98,
-          "temp_min" : 56.98
-        },
-        "sys" : {
-          "country" : "United States of America",
-          "message" : 0.3532,
-          "sunrise" : 1.400158725E9,
-          "sunset" : 1.400209875E9
-        },
-        "weather" : {
-          "description" : "Sky is Clear",
-          "icon" : "01d",
-          "id" : 800.0,
-          "main" : "Clear"
-        },
-        "wind" : {
-          "deg" : 333.5,
-          "speed" : 3.43
-        }
-      }
-    }
-
-Because the city resource is managed by Ambari and exposed through the REST API, it may be queried through the API like any other Ambari resource.  All of the features of the API are available including partial response and query parameters.  For example, we can request select weather attributes for the cities where the temperature is greater than 50 degrees...
-
-
-      http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/?fields=cities/weather/main&cities/weather/main/temp%3E50
-
-          {
-      "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/?fields=cities/weather/main&cities/weather/main/temp>50",
-      "items" : [
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/EUROPE",
-          "ViewInstanceInfo" : {
-            "instance_name" : "EUROPE",
-            "version" : "1.0.0",
-            "view_name" : "WEATHER"
-          },
-          "cities" : [
-            {
-              "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/EUROPE/cities/London, UK",
-              "id" : "London, UK",
-              "instance_name" : "EUROPE",
-              "version" : "1.0.0",
-              "view_name" : "WEATHER",
-              "weather" : {
-                "main" : {
-                  "grnd_level" : 1039.75,
-                  "humidity" : 69.0,
-                  "pressure" : 1039.75,
-                  "sea_level" : 1049.87,
-                  "temp" : 66.34,
-                  "temp_max" : 66.34,
-                  "temp_min" : 66.34
-                }
-              }
-            },
-            {
-              "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/EUROPE/cities/Paris",
-              "id" : "Paris",
-              "instance_name" : "EUROPE",
-              "version" : "1.0.0",
-              "view_name" : "WEATHER",
-              "weather" : {
-                "main" : {
-                  "grnd_level" : 1019.4,
-                  "humidity" : 74.0,
-                  "pressure" : 1019.4,
-                  "sea_level" : 1036.29,
-                  "temp" : 61.84,
-                  "temp_max" : 61.84,
-                  "temp_min" : 61.84
-                }
-              }
-            }
-          ]
-        },
-        {
-          "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_CENTRAL",
-          "ViewInstanceInfo" : {
-            "instance_name" : "US_CENTRAL",
-            "version" : "1.0.0",
-            "view_name" : "WEATHER"
-          },
-          "cities" : [
-            {
-              "href" : "http://<server>:8080/api/v1/views/WEATHER/versions/1.0.0/instances/US_CENTRAL/cities/Dallas, US",
-              "id" : "Dallas, US",
-              "instance_name" : "US_CENTRAL",
-              "version" : "1.0.0",
-              "view_name" : "WEATHER",
-              "weather" : {
-                "main" : {
-                  "grnd_level" : 1020.13,
-                  "humidity" : 60.0,
-                  "pressure" : 1020.13,
-                  "sea_level" : 1037.18,
-                  "temp" : 64.81,
-                  "temp_max" : 64.81,
-                  "temp_min" : 64.81
-                }
-              }
-            }
-          ]
-        },
-        ...
-      ]
-    }
-
-If the view contains any web content, we can access it at the view's root context path.  In this case its the WeatherServlet which displays a the weather for a set of cities based on the properties of the view instance.
-
-    http://<server>:8080/views/WEATHER/1.0.0/US_WEST/ui
-
-![image](weather.png)
-
-Selecting a specific city will show details about the weather in that city.
-
-    http://<server>:8080/views/WEATHER/1.0.0/US_WEST/ui?city=Palo+Alto%2C+US
-
-
-![image](paloalto.png)
-
-
diff --git a/ambari-views/examples/weather-view/docs/paloalto.png b/ambari-views/examples/weather-view/docs/paloalto.png
deleted file mode 100644
index d983cef..0000000
Binary files a/ambari-views/examples/weather-view/docs/paloalto.png and /dev/null differ
diff --git a/ambari-views/examples/weather-view/docs/weather.png b/ambari-views/examples/weather-view/docs/weather.png
deleted file mode 100644
index 2339f42..0000000
Binary files a/ambari-views/examples/weather-view/docs/weather.png and /dev/null differ
diff --git a/ambari-views/examples/weather-view/pom.xml b/ambari-views/examples/weather-view/pom.xml
deleted file mode 100644
index d339fbb..0000000
--- a/ambari-views/examples/weather-view/pom.xml
+++ /dev/null
@@ -1,114 +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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.apache.ambari</groupId>
-    <artifactId>ambari-view-examples</artifactId>
-    <version>2.0.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>weather-view</artifactId>
-  <packaging>jar</packaging>
-  <name>Ambari Weather View</name>
-  <url>http://maven.apache.org</url>
-  <properties>
-    <ambari.dir>${project.parent.parent.parent.basedir}</ambari.dir>
-  </properties>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>3.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.ambari</groupId>
-      <artifactId>ambari-views</artifactId>
-      <version>[1.7.0.0,)</version>
-    </dependency>
-    <dependency>
-      <groupId>com.sun.jersey</groupId>
-      <artifactId>jersey-server</artifactId>
-      <version>1.8</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.inject</groupId>
-      <artifactId>javax.inject</artifactId>
-      <version>1</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <version>2.5</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.gson</groupId>
-      <artifactId>gson</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>1.3.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-      <version>4.2.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.7.20</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rpm-maven-plugin</artifactId>
-        <version>2.0.1</version>
-        <executions>
-          <execution>
-            <phase>none</phase>
-            <goals>
-              <goal>rpm</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResource.java b/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResource.java
deleted file mode 100644
index a8f91f4..0000000
--- a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResource.java
+++ /dev/null
@@ -1,99 +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.view.weather;
-
-
-import java.util.Map;
-
-/**
- * City resource bean.
- * Represents city for the weather view.
- */
-public class CityResource {
-
-  /**
-   * The city id.
-   */
-  private String id;
-
-  /**
-   * The city weather properties.
-   */
-  private Map<String, Object> weather;
-
-  /**
-   * The weather units (imperial or metric).
-   */
-  private String units;
-
-
-  /**
-   * Get the city id.
-   *
-   * @return the id
-   */
-  public String getId() {
-    return id;
-  }
-
-  /**
-   * Set the city id.
-   *
-   * @param id  the id
-   */
-  public void setId(String id) {
-    this.id = id;
-  }
-
-  /**
-   * Get the weather properties.
-   *
-   * @return the weather properties
-   */
-  public Map<String, Object> getWeather() {
-    return weather;
-  }
-
-  /**
-   * Set the weather properties.
-   *
-   * @param weather  the weather properties
-   */
-  public void setWeather(Map<String, Object> weather) {
-    this.weather = weather;
-  }
-
-  /**
-   * Get the weather units (imperial or metric).
-   *
-   * @return the weather units
-   */
-  public String getUnits() {
-    return units;
-  }
-
-  /**
-   * Set the weather units (imperial or metric).
-   *
-   * @param units  the weather units
-   */
-  public void setUnits(String units) {
-    this.units = units;
-  }
-}
diff --git a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResourceProvider.java b/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResourceProvider.java
deleted file mode 100644
index 1cda7e9..0000000
--- a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityResourceProvider.java
+++ /dev/null
@@ -1,183 +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.view.weather;
-
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-import org.apache.ambari.view.NoSuchResourceException;
-import org.apache.ambari.view.ReadRequest;
-import org.apache.ambari.view.ResourceAlreadyExistsException;
-import org.apache.ambari.view.ResourceProvider;
-import org.apache.ambari.view.SystemException;
-import org.apache.ambari.view.UnsupportedPropertyException;
-import org.apache.ambari.view.ViewContext;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.client.utils.URIBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.inject.Inject;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Type;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Resource provider for city resource of the weather view.
- */
-public class CityResourceProvider implements ResourceProvider<CityResource> {
-
-  /**
-   * The logger.
-   */
-  protected final static Logger LOG =
-      LoggerFactory.getLogger(CityResourceProvider.class);
-
-  /**
-   * The view context.
-   */
-  @Inject
-  ViewContext viewContext;
-
-
-  // ----- ResourceProvider --------------------------------------------------
-
-  @Override
-  public CityResource getResource(String resourceId, Set<String> propertyIds) throws
-      SystemException, NoSuchResourceException, UnsupportedPropertyException {
-
-    Map<String, String> properties = viewContext.getProperties();
-
-    String units = properties.get("units");
-
-    try {
-      return getResource(resourceId, units, propertyIds);
-    } catch (IOException e) {
-      throw new SystemException("Can't get city resource " + resourceId + ".", e);
-    }
-  }
-
-  @Override
-  public Set<CityResource> getResources(ReadRequest request) throws
-      SystemException, NoSuchResourceException, UnsupportedPropertyException {
-
-    Set<CityResource> resources = new HashSet<CityResource>();
-
-    Map<String, String> properties = viewContext.getProperties();
-
-    String   units   = properties.get("units");
-    String   cityStr = properties.get("cities");
-    String[] cities  = cityStr.split(";");
-
-    for (String city : cities) {
-      try {
-        resources.add(getResource(city, units, request.getPropertyIds()));
-      } catch (IOException e) {
-        throw new SystemException("Can't get city resource " + city + ".", e);
-      }
-    }
-    return resources;
-  }
-
-  @Override
-  public void createResource(String resourceId, Map<String, Object> stringObjectMap) throws
-      SystemException, ResourceAlreadyExistsException, NoSuchResourceException, UnsupportedPropertyException {
-    throw new UnsupportedOperationException("Creating city resources is not currently supported");
-  }
-
-  @Override
-  public boolean updateResource(String resourceId, Map<String, Object> stringObjectMap) throws
-      SystemException, NoSuchResourceException, UnsupportedPropertyException {
-    throw new UnsupportedOperationException("Updating city resources is not currently supported");
-  }
-
-  @Override
-  public boolean deleteResource(String resourceId) throws
-      SystemException, NoSuchResourceException, UnsupportedPropertyException {
-    throw new UnsupportedOperationException("Deleting city resources is not currently supported");
-  }
-
-
-  // ----- helper methods ----------------------------------------------------
-
-  // Get a city resource from the given id.
-  private CityResource getResource(String resourceId, String units, Set<String> propertyIds) throws IOException {
-    CityResource resource = new CityResource();
-
-    resource.setId(resourceId);
-    resource.setUnits(units);
-    if (isWeatherRequested(propertyIds)) {
-      resource.setWeather(getWeatherProperty(resourceId, units));
-    }
-    return resource;
-  }
-
-  // Determine whether the weather property has been requested.
-  private boolean isWeatherRequested(Set<String> propertyIds) {
-
-    for (String propertyId : propertyIds) {
-      if (propertyId.startsWith("weather")) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  // Populate the weather property.
-  private Map<String, Object> getWeatherProperty(String city, String units) throws IOException {
-    URIBuilder uriBuilder = new URIBuilder();
-    uriBuilder.setScheme("http");
-    uriBuilder.setHost("api.openweathermap.org");
-    uriBuilder.setPath("/data/2.5/weather");
-    uriBuilder.setParameter("q", city);
-    uriBuilder.setParameter("units", units);
-
-    String url = uriBuilder.toString();
-
-    InputStream in = readFrom(url);
-    try {
-      Type mapType = new TypeToken<Map<String, Object>>(){}.getType();
-      Map<String, Object> results =  new Gson().fromJson(IOUtils.toString(in, "UTF-8"), mapType);
-
-      ArrayList list = (ArrayList) results.get("weather");
-      if (list != null) {
-        Map weather = (Map) list.get(0);
-        results.put("weather", weather);
-        results.put("icon_src", "http://openweathermap.org/img/w/" + weather.get("icon"));
-      }
-      return results;
-    } finally {
-      in.close();
-    }
-  }
-
-  // Get an input stream from the given URL spec.
-  private static InputStream readFrom(String spec) throws IOException {
-    URLConnection connection = new URL(spec).openConnection();
-
-    connection.setConnectTimeout(5000);
-    connection.setDoOutput(true);
-    return connection.getInputStream();
-  }
-}
diff --git a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityService.java b/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityService.java
deleted file mode 100644
index e5a8696..0000000
--- a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/CityService.java
+++ /dev/null
@@ -1,75 +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.view.weather;
-
-import org.apache.ambari.view.ViewResourceHandler;
-
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
-/**
- * Service for the city resource of the weather view.
- */
-public class CityService {
-  /**
-   * The resource request handler.
-   */
-  @Inject
-  ViewResourceHandler resourceHandler;
-
-  /**
-   * Handles: GET /cities/{cityName} Get a specific city.
-   *
-   * @param headers   http headers
-   * @param ui        uri info
-   * @param cityName  city name
-   *
-   * @return city instance representation
-   */
-  @GET
-  @Path("{cityName}")
-  @Produces({"application/json"})
-  public Response getCity(@Context HttpHeaders headers, @Context UriInfo ui,
-                          @PathParam("cityName") String cityName) {
-    return resourceHandler.handleRequest(headers, ui, ViewResourceHandler.RequestType.GET,
-        ViewResourceHandler.MediaType.APPLICATION_JSON, cityName);
-  }
-
-  /**
-   * Handles: GET /cities Get all cities.
-   *
-   * @param headers
-   *          http headers
-   * @param ui
-   *          uri info
-   * @return city collection resource representation
-   */
-  @GET
-  @Produces({"text/plain", "application/json"})
-  public Response getCities(@Context HttpHeaders headers, @Context UriInfo ui) {
-    return resourceHandler.handleRequest(headers, ui, null);
-  }
-}
diff --git a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/WeatherServlet.java b/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/WeatherServlet.java
deleted file mode 100644
index 1752ebe..0000000
--- a/ambari-views/examples/weather-view/src/main/java/org/apache/ambari/view/weather/WeatherServlet.java
+++ /dev/null
@@ -1,131 +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.view.weather;
-
-import org.apache.ambari.view.ResourceProvider;
-import org.apache.ambari.view.ViewContext;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.URLEncoder;
-import java.util.Collections;
-import java.util.Map;
-
-/**
- * Servlet class for Weather view UI.
- */
-public class WeatherServlet extends HttpServlet {
-  /**
-   * The view context.
-   */
-  private ViewContext viewContext;
-
-  @Override
-  public void init(ServletConfig config) throws ServletException {
-    super.init(config);
-
-    ServletContext context = config.getServletContext();
-    viewContext = (ViewContext) context.getAttribute(ViewContext.CONTEXT_ATTRIBUTE);
-  }
-
-  @Override
-  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException
-  {
-    response.setContentType("text/html");
-    response.setStatus(HttpServletResponse.SC_OK);
-
-    PrintWriter writer = response.getWriter();
-    writer.println("<h1>" + viewContext.getInstanceName() + " Weather</h1>");
-
-    String targetCity = request.getParameter("city");
-
-    if (targetCity == null) {
-      Map<String, String> properties = viewContext.getProperties();
-
-      String   cityStr = properties.get("cities");
-      String[] cities  = cityStr.split(";");
-
-      writer.println("<ul>");
-      for (String city : cities) {
-        writer.println("<li><A href=" + request.getRequestURI() + "?city=" + URLEncoder.encode(city, "UTF-8") + ">" + city + "</A></li>");
-      }
-      writer.println("</ul>");
-    } else {
-      // Use the view's resource provider...
-      ResourceProvider resourceProvider = viewContext.getResourceProvider("city");
-
-      if (resourceProvider != null) {
-        writer.println("<b>" + targetCity + "</b><br><br>");
-
-        CityResource resource;
-        try {
-          resource = (CityResource) resourceProvider.getResource(targetCity, Collections.singleton("weather"));
-        } catch (Exception e) {
-          throw new IOException(e);
-        }
-
-        String icon_src = (String) resource.getWeather().get("icon_src");
-
-        Map<String, Object> weather = (Map<String, Object>) resource.getWeather().get("weather");
-        Map<String, Object> main    = (Map<String, Object>) resource.getWeather().get("main");
-
-        writer.println("<b>" +
-            weather.get("main") + ":" +
-            weather.get("description") +
-            "</b><br><IMG SRC=\"" +
-            icon_src +
-            "\" ALT=\"Weather\">");
-
-        writer.println("<table border=\"1\">");
-
-        writer.println("<tr><td>");
-        writer.println("Temp");
-        writer.println("</td><td>");
-        writer.println(main.get("temp"));
-        writer.println("</td></tr>");
-
-        writer.println("<tr><td>");
-        writer.println("High");
-        writer.println("</td><td>");
-        writer.println(main.get("temp_max"));
-        writer.println("</td></tr>");
-
-        writer.println("<tr><td>");
-        writer.println("Low");
-        writer.println("</td><td>");
-        writer.println(main.get("temp_min"));
-        writer.println("</td></tr>");
-
-        writer.println("<tr><td>");
-        writer.println("Humidity");
-        writer.println("</td><td>");
-        writer.println(main.get("humidity"));
-        writer.println("</td></tr>");
-
-        writer.println("</table>");
-      }
-    }
-  }
-}
diff --git a/ambari-views/examples/weather-view/src/main/resources/WEB-INF/web.xml b/ambari-views/examples/weather-view/src/main/resources/WEB-INF/web.xml
deleted file mode 100644
index 3624faa..0000000
--- a/ambari-views/examples/weather-view/src/main/resources/WEB-INF/web.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!--
-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. Kerberos, LDAP, Custom. Binary/Htt
--->
-
-<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
-         version="2.4">
-
-  <display-name>Weather Application</display-name>
-  <description>
-    This is the weather view application.
-  </description>
-  <servlet>
-    <servlet-name>WeatherServlet</servlet-name>
-    <servlet-class>org.apache.ambari.view.weather.WeatherServlet</servlet-class>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>WeatherServlet</servlet-name>
-    <url-pattern>/ui</url-pattern>
-  </servlet-mapping>
-</web-app>
\ No newline at end of file
diff --git a/ambari-views/examples/weather-view/src/main/resources/view.xml b/ambari-views/examples/weather-view/src/main/resources/view.xml
deleted file mode 100644
index ef6687c..0000000
--- a/ambari-views/examples/weather-view/src/main/resources/view.xml
+++ /dev/null
@@ -1,94 +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.
--->
-<view>
-  <name>WEATHER</name>
-  <label>Weather</label>
-  <version>1.0.0</version>
-  <parameter>
-    <name>cities</name>
-    <description>The list of cities.</description>
-    <required>true</required>
-  </parameter>
-  <parameter>
-    <name>units</name>
-    <description>The units (metric or imperial).</description>
-    <required>false</required>
-  </parameter>
-  <resource>
-    <name>city</name>
-    <plural-name>cities</plural-name>
-    <id-property>id</id-property>
-    <resource-class>org.apache.ambari.view.weather.CityResource</resource-class>
-    <provider-class>org.apache.ambari.view.weather.CityResourceProvider</provider-class>
-    <service-class>org.apache.ambari.view.weather.CityService</service-class>
-  </resource>
-  <instance>
-    <name>US_WEST</name>
-    <property>
-      <key>cities</key>
-      <value>Palo Alto, US;Los Angeles, US;Portland, US;Seattle, US</value>
-    </property>
-    <property>
-      <key>units</key>
-      <value>imperial</value>
-    </property>
-  </instance>
-  <instance>
-    <name>US_EAST</name>
-    <property>
-      <key>cities</key>
-      <value>New York, US;Boston, US;Philadelphia, US;Atlanta, US</value>
-    </property>
-    <property>
-      <key>units</key>
-      <value>imperial</value>
-    </property>
-  </instance>
-  <instance>
-    <name>US_CENTRAL</name>
-    <property>
-      <key>cities</key>
-      <value>Chicago, US;Dallas, US</value>
-    </property>
-    <property>
-      <key>units</key>
-      <value>imperial</value>
-    </property>
-  </instance>
-  <instance>
-    <name>US_MOUNTAIN</name>
-    <property>
-      <key>cities</key>
-      <value>Denver, US;Phoenix, US</value>
-    </property>
-    <property>
-      <key>units</key>
-      <value>imperial</value>
-    </property>
-  </instance>
-  <instance>
-    <name>EUROPE</name>
-    <property>
-      <key>cities</key>
-      <value>London, UK;Paris;Munich</value>
-    </property>
-    <property>
-      <key>units</key>
-      <value>imperial</value>
-    </property>
-  </instance>
-</view>
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
adoroszlai@apache.org.