You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/02/16 21:45:40 UTC

[1/2] incubator-nifi git commit: NIFI-353: - Renaming data-viewer to content-viewer.

Repository: incubator-nifi
Updated Branches:
  refs/heads/NIFI-353 b50953d9d -> 48b1572f1


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/resources/META-INF/NOTICE b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/resources/META-INF/NOTICE
deleted file mode 100644
index d91a952..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/resources/META-INF/NOTICE
+++ /dev/null
@@ -1,19 +0,0 @@
-nifi-web-docs
-Copyright 2014-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-===========================================
-Apache Software License v2
-===========================================
-
-The following binary components are provided under the Apache Software License v2
-
-  (ASLv2) Apache Commons Lang
-    The following NOTICE information applies:
-      Apache Commons Lang
-      Copyright 2001-2014 The Apache Software Foundation
-
-      This product includes software from the Spring Framework,
-      under the Apache License 2.0 (see: StringUtils.containsWhitespace())

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/META-INF/nifi-data-viewer
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/META-INF/nifi-data-viewer b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/META-INF/nifi-data-viewer
deleted file mode 100644
index 29fed60..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/META-INF/nifi-data-viewer
+++ /dev/null
@@ -1,2 +0,0 @@
-application/xml
-application/json
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/jsp/content.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/jsp/content.jsp b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/jsp/content.jsp
deleted file mode 100644
index adabebd..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/jsp/content.jsp
+++ /dev/null
@@ -1,18 +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.
---%>
-<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
-<p>This is the content rendered...</p>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/web.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 7eb4ee2..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
-    <display-name>nifi-docs</display-name>
-    <error-page>
-        <error-code>404</error-code>
-        <location>/WEB-INF/jsp/no-documentation-found.jsp</location>
-    </error-page>
-    <servlet>
-        <servlet-name>documentation-controller</servlet-name>
-        <servlet-class>org.apache.nifi.standard.data.viewer.StandardDataViewerController</servlet-class>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>documentation-controller</servlet-name>
-        <url-pattern>/documentation</url-pattern>
-    </servlet-mapping>
-    <welcome-file-list>
-        <welcome-file>documentation</welcome-file>
-    </welcome-file-list>
-</web-app>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/css/main.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/css/main.css b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/css/main.css
deleted file mode 100644
index 918eb7a..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/css/main.css
+++ /dev/null
@@ -1,214 +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.
- */
-* {
-    margin: 0;
-    padding: 0;
-}
-
-#documentation-body {
-    width: 100%;
-    position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-}
-
-/* banners */
-
-div.main-banner-header {
-    display: none;
-    z-index: 100;
-    font-weight: bold;
-    font-size: 1em;
-    text-align: center;
-    line-height: 15px;
-    color: #7e7e7e;
-    margin: 0px auto;
-    width: 900px;
-    height: 17px;
-    background-color: #fff;
-    z-index: 100;
-    background-image: url(../images/bgHeader.png);
-}
-
-div.main-banner-footer {
-    display: none;
-    position: absolute;
-    left: 0px;
-    right: 0px;
-    bottom: 0px;
-    height: 15px;
-    color: #fff;
-    text-align: center;
-    font-weight: bold;
-    font-size: 1em;
-    line-height: 15px;
-    overflow: visible;
-    background-color: #9eb9c7;
-    background-image: url(../images/bgBannerFoot.png);
-    background-repeat: repeat-x;
-    background-position: left top;
-}
-
-/* documentation */
-
-div.documentation-header {
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    height: 45px;
-    border-bottom: 1px solid #d1dee5;
-    color: #365c6a;
-    font-size: 13px;
-}
-
-#nf-title {
-    float: left;
-    height: 50px;
-    padding: 5px;
-    font-size: 20px;
-    margin-top: 10px;
-}
-
-#nf-version {
-    float: left;
-    font-size: 14px;
-    margin-left: 10px;
-    margin-top: 21px;
-    font-style: italic;
-    color: #aaa;
-}
-
-#selected-component {
-    float: right;
-    height: 50px;
-    padding: 5px;
-    margin-top: 10px;
-    font-size: 20px;
-}
-
-/* component listing */
-
-div.component-listing {
-    width: 300px;
-    position: absolute;
-    top: 46px;
-    left: 0;
-    bottom: 40px;
-    overflow: auto;
-    font-size: 16px;
-    padding: 4px;
-}
-
-div.component-listing div.section {
-    margin-bottom: 15px;
-}
-
-div.component-listing div.header {
-    font-weight: bold;
-    color: #264c58;
-}
-
-div.component-links ul {
-    list-style: none;
-}
-
-li.component-item {
-    padding: 2px;
-    padding-left: 4px;
-    border-left: 8px solid transparent;
-    font-family: "Open Sans","DejaVu Sans",sans-serif;
-    font-size: 15px;
-}
-
-li.component-item a {
-    color: #1e373f;
-}
-
-li.component-item:hover {
-    border-left: 8px solid #d1dee5;
-}
-
-li.component-item:hover a {
-    color: #264c58;
-}
-
-li.component-item.selected {
-    border-left: 8px solid #7098ad;
-}
-
-div.component-links span.no-components {
-    font-style: italic;
-    color: #777;
-}
-
-/* component filter control */
-
-#component-filter-controls {
-    width: 308px;
-    height: 40px;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-}
-
-#component-filter-container {
-    height: 24px;
-    margin-left: 2px;
-    margin-top: 1px;
-}
-
-#component-filter {
-    padding: 1px;
-    font-size: 12px;
-    height: 18px;
-    line-height: 20px;
-    width: 299px;
-    float: left;
-}
-
-input.component-filter-list {
-    color: #888;
-    font-style: italic;
-}
-
-#component-filter-stats {
-    font-size: 9px;
-    font-weight: bold;
-    color: #9f6000;
-    clear: left; 
-    line-height: normal;
-    margin-left: 7px;
-    margin-top: 2px;
-}
-
-/* component usage */
-
-#component-usage-container {
-    position: absolute;
-    top: 46px;
-    right: 0px;
-    bottom: 0px;
-    left: 312px;
-    overflow: hidden;
-}
-
-#component-usage {
-    overflow: auto;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/js/application.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/js/application.js b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/js/application.js
deleted file mode 100644
index 3efdbcc..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/webapp/js/application.js
+++ /dev/null
@@ -1,282 +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.
- */
-$(document).ready(function () {
-
-    var isUndefined = function (obj) {
-        return typeof obj === 'undefined';
-    };
-
-    var isNull = function (obj) {
-        return obj === null;
-    };
-
-    var isDefinedAndNotNull = function (obj) {
-        return !isUndefined(obj) && !isNull(obj);
-    };
-
-    /**
-     * Get the filter text.
-     * 
-     * @returns {unresolved}
-     */
-    var getFilterText = function () {
-        var filter = '';
-        var ruleFilter = $('#component-filter');
-        if (!ruleFilter.hasClass('component-filter-list')) {
-            filter = ruleFilter.val();
-        }
-        return filter;
-    };
-
-    var applyComponentFilter = function (componentContainer) {
-        var matchingComponents = 0;
-        var componentLinks = $(componentContainer).find('a.component-link');
-
-        if (componentLinks.length === 0) {
-            return matchingComponents;
-        }
-
-        // get the filter text
-        var filter = getFilterText();
-        if (filter !== '') {
-            var filterExp = new RegExp(filter, 'i');
-
-            // update the displayed rule count
-            $.each(componentLinks, function (_, componentLink) {
-                var a = $(componentLink);
-                var li = a.closest('li.component-item');
-
-                // get the rule text for matching
-                var componentName = a.text();
-
-                // see if any of the text from this rule matches
-                var componentMatches = componentName.search(filterExp) >= 0;
-
-                // handle whether the rule matches
-                if (componentMatches === true) {
-                    li.show();
-                    matchingComponents++;
-                } else {
-                    // hide the rule
-                    li.hide();
-                }
-            });
-        } else {
-            // ensure every rule is visible
-            componentLinks.closest('li.component-item').show();
-
-            // set the number of displayed rules
-            matchingComponents = componentLinks.length;
-        }
-
-        // show whether there are status if appropriate
-        var noMatching = componentContainer.find('span.no-matching');
-        if (matchingComponents === 0) {
-            noMatching.show();
-        } else {
-            noMatching.hide();
-        }
-
-        return matchingComponents;
-    };
-
-    var applyFilter = function () {
-        var matchingGeneral = applyComponentFilter($('#general-links'));
-        var matchingProcessors = applyComponentFilter($('#processor-links'));
-        var matchingControllerServices = applyComponentFilter($('#controller-service-links'));
-        var matchingReportingTasks = applyComponentFilter($('#reporting-task-links'));
-        var matchingDeveloper = applyComponentFilter($('#developer-links'));
-
-        // update the rule count
-        $('#displayed-components').text(matchingGeneral + matchingProcessors + matchingControllerServices + matchingReportingTasks + matchingDeveloper);
-    };
-
-    var selectComponent = function (componentName) {
-        var componentLinks = $('a.component-link');
-
-        // consider each link
-        $.each(componentLinks, function () {
-            var componentLink = $(this);
-            if (componentName === componentLink.text()) {
-                // remove all selected styles
-                $('li.component-item').removeClass('selected');
-
-                // select this links item
-                componentLink.closest('li.component-item').addClass('selected');
-
-                // set the header
-                $('#selected-component').text(componentLink.text());
-
-                // stop iteration
-                return false;
-            }
-        });
-    };
-
-    // get the banners if we're not in the shell
-    var banners = $.Deferred(function (deferred) {
-        if (top === window) {
-            $.ajax({
-                type: 'GET',
-                url: '../nifi-api/controller/banners',
-                dataType: 'json'
-            }).then(function (response) {
-                // ensure the banners response is specified
-                if (isDefinedAndNotNull(response.banners)) {
-                    if (isDefinedAndNotNull(response.banners.headerText) && response.banners.headerText !== '') {
-                        // update the header text
-                        var bannerHeader = $('#banner-header').html(response.banners.headerText).show();
-
-                        // show the banner
-                        var updateTop = function (elementId) {
-                            var element = $('#' + elementId);
-                            element.css('top', (parseInt(bannerHeader.css('height')) + parseInt(element.css('top'))) + 'px');
-                        };
-
-                        // update the position of elements affected by top banners
-                        updateTop('documentation-header');
-                        updateTop('component-listing');
-                        updateTop('component-usage-container');
-                    }
-
-                    if (isDefinedAndNotNull(response.banners.footerText) && response.banners.footerText !== '') {
-                        // update the footer text and show it
-                        var bannerFooter = $('#banner-footer').html(response.banners.footerText).show();
-
-                        var updateBottom = function (elementId) {
-                            var element = $('#' + elementId);
-                            element.css('bottom', parseInt(bannerFooter.css('height')) + parseInt(element.css('bottom')) + 'px');
-                        };
-
-                        // update the position of elements affected by bottom banners
-                        updateBottom('component-filter-controls');
-                        updateBottom('component-listing');
-                        updateBottom('component-usage-container');
-                    }
-                }
-
-                deferred.resolve();
-            }, function () {
-                deferred.reject();
-            });
-        } else {
-            deferred.resolve();
-        }
-    }).promise();
-
-    // get the about details
-    var about = $.ajax({
-        type: 'GET',
-        url: '../nifi-api/controller/about',
-        dataType: 'json'
-    }).done(function (response) {
-        var aboutDetails = response.about;
-
-        // set the document title and the about title
-        $('#nf-version').text(aboutDetails.version);
-    });
-
-    // once the banners have loaded, function with remainder of the page
-    $.when(banners, about).always(function () {
-        // define the function for filtering the list
-        $('#component-filter').keyup(function () {
-            applyFilter();
-        }).focus(function () {
-            if ($(this).hasClass('component-filter-list')) {
-                $(this).removeClass('component-filter-list').val('');
-            }
-        }).blur(function () {
-            if ($(this).val() === '') {
-                $(this).addClass('component-filter-list').val('Filter');
-            }
-        }).addClass('component-filter-list').val('Filter');
-
-        // get the component usage container to install the window listener
-        var componentUsageContainer = $('#component-usage-container');
-
-        // size the iframe accordingly
-        var componentUsage = $('#component-usage').css({
-            width: componentUsageContainer.width(),
-            height: componentUsageContainer.height()
-        });
-
-        // add a window resize listener
-        $(window).resize(function () {
-            componentUsage.css({
-                width: componentUsageContainer.width(),
-                height: componentUsageContainer.height()
-            });
-        });
-
-        // listen for loading of the iframe to update the title
-        $('#component-usage').on('load', function () {
-            var componentName = '';
-            var href = $(this).contents().get(0).location.href;
-
-            // see if the href ends in index.htm[l]
-            var indexOfIndexHtml = href.indexOf('index.htm');
-            if (indexOfIndexHtml >= 0) {
-                href = href.substring(0, indexOfIndexHtml);
-            }
-
-            // remove the trailing separator
-            if (href.length > 0) {
-                var indexOfSeparator = href.lastIndexOf('/');
-                if (indexOfSeparator === href.length - 1) {
-                    href = href.substring(0, indexOfSeparator);
-                }
-            }
-
-            // extract the simple name
-            if (href.length > 0) {
-                var indexOfLastDot = href.lastIndexOf('.');
-                if (indexOfLastDot >= 0) {
-                    var indexAfterStrToFind = indexOfLastDot + 1;
-                    if (indexAfterStrToFind < href.length) {
-                        componentName = href.substr(indexAfterStrToFind);
-                    }
-                }
-            }
-
-            // if we could figure out the name
-            if (componentName !== '') {
-                selectComponent(componentName);
-            }
-        });
-        
-        // listen for on the rest api and user guide and developer guide and admin guide and overview
-        $('a.rest-api, a.user-guide, a.developer-guide, a.admin-guide, a.overview, a.expression-language-guide').on('click', function() {
-            selectComponent($(this).text());
-        });
-
-        // get the initial selection
-        var initialComponentLink = $('a.component-link:first');
-        var initialSelection = $('#initial-selection').text();
-        if (initialSelection !== '') {
-            $('a.component-link').each(function () {
-                var componentLink = $(this);
-                if (componentLink.text() === initialSelection) {
-                    initialComponentLink = componentLink;
-                    return false;
-                }
-            });
-        }
-
-        // click the first link
-        initialComponentLink[0].click();
-    });
-});

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
index 23e481b..2c5e199 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/pom.xml
@@ -43,7 +43,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-standard-data-viewer</artifactId>
+            <artifactId>nifi-standard-content-viewer</artifactId>
             <type>war</type>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
index fafd81e..69546a4 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/pom.xml
@@ -28,7 +28,7 @@
         <module>nifi-standard-processors</module>
         <module>nifi-standard-prioritizers</module>
         <module>nifi-standard-reporting-tasks</module>
-        <module>nifi-standard-data-viewer</module>
+        <module>nifi-standard-content-viewer</module>
         <module>nifi-standard-nar</module>
   </modules>
     <dependencyManagement>
@@ -50,7 +50,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
-                <artifactId>nifi-standard-data-viewer</artifactId>
+                <artifactId>nifi-standard-content-viewer</artifactId>
                 <type>war</type>
                 <version>0.0.2-incubating-SNAPSHOT</version>
             </dependency>


[2/2] incubator-nifi git commit: NIFI-353: - Renaming data-viewer to content-viewer.

Posted by mc...@apache.org.
NIFI-353:
- Renaming data-viewer to content-viewer.

Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/48b1572f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/48b1572f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/48b1572f

Branch: refs/heads/NIFI-353
Commit: 48b1572f177e2292ddbacc92a3a5838cc45c7a42
Parents: b50953d
Author: Matt Gilman <ma...@gmail.com>
Authored: Mon Feb 16 15:45:15 2015 -0500
Committer: Matt Gilman <ma...@gmail.com>
Committed: Mon Feb 16 15:45:15 2015 -0500

----------------------------------------------------------------------
 .../nifi-framework/nifi-web/nifi-jetty/pom.xml  |   2 +-
 .../org/apache/nifi/web/server/JettyServer.java |  36 +--
 .../nifi-web/nifi-web-content-viewer/.gitignore |   1 +
 .../nifi-web/nifi-web-content-viewer/pom.xml    |  51 ++++
 .../web/data/viewer/DataViewerController.java   |  63 +++++
 .../src/main/resources/META-INF/NOTICE          |  19 ++
 .../src/main/webapp/WEB-INF/jsp/footer.jsp      |  19 ++
 .../src/main/webapp/WEB-INF/jsp/header.jsp      |  27 ++
 .../src/main/webapp/WEB-INF/web.xml             |  27 ++
 .../src/main/webapp/css/main.css                | 214 ++++++++++++++
 .../src/main/webapp/js/application.js           |  20 ++
 .../nifi-web/nifi-web-data-viewer/.gitignore    |   1 -
 .../nifi-web/nifi-web-data-viewer/pom.xml       |  51 ----
 .../web/data/viewer/DataViewerController.java   |  68 -----
 .../src/main/resources/META-INF/NOTICE          |  19 --
 .../src/main/webapp/WEB-INF/jsp/footer.jsp      |  19 --
 .../src/main/webapp/WEB-INF/jsp/header.jsp      |  27 --
 .../src/main/webapp/WEB-INF/web.xml             |  29 --
 .../src/main/webapp/css/main.css                | 214 --------------
 .../src/main/webapp/js/application.js           |  20 --
 .../nifi-framework/nifi-web/pom.xml             |   4 +-
 .../nifi-standard-content-viewer/pom.xml        |  51 ++++
 .../viewer/StandardDataViewerController.java    |  50 ++++
 .../src/main/resources/META-INF/NOTICE          |  19 ++
 .../main/webapp/META-INF/nifi-content-viewer    |   2 +
 .../src/main/webapp/WEB-INF/jsp/content.jsp     |  18 ++
 .../src/main/webapp/WEB-INF/web.xml             |  26 ++
 .../src/main/webapp/css/main.css                | 214 ++++++++++++++
 .../src/main/webapp/js/application.js           | 282 +++++++++++++++++++
 .../nifi-standard-data-viewer/pom.xml           |  51 ----
 .../viewer/StandardDataViewerController.java    |  59 ----
 .../src/main/resources/META-INF/NOTICE          |  19 --
 .../src/main/webapp/META-INF/nifi-data-viewer   |   2 -
 .../src/main/webapp/WEB-INF/jsp/content.jsp     |  18 --
 .../src/main/webapp/WEB-INF/web.xml             |  33 ---
 .../src/main/webapp/css/main.css                | 214 --------------
 .../src/main/webapp/js/application.js           | 282 -------------------
 .../nifi-standard-nar/pom.xml                   |   2 +-
 .../nifi-standard-bundle/pom.xml                |   4 +-
 39 files changed, 1128 insertions(+), 1149 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
index 6538c3b..0a2f8a4 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/pom.xml
@@ -155,7 +155,7 @@
         </dependency> 
         <dependency>
             <groupId>org.apache.nifi</groupId>
-            <artifactId>nifi-web-data-viewer</artifactId>
+            <artifactId>nifi-web-content-viewer</artifactId>
             <type>war</type>
         </dependency>   
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
index 5fc99ac..6fdd6d1 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
@@ -100,7 +100,7 @@ public class JettyServer implements NiFiServer {
     private WebAppContext webApiContext;
     private WebAppContext webDocsContext;
     private Collection<WebAppContext> customUiWebContexts;
-    private Collection<WebAppContext> dataViewerWebContexts;
+    private Collection<WebAppContext> contentViewerWebContexts;
     private final NiFiProperties props;
 
     /**
@@ -165,7 +165,7 @@ public class JettyServer implements NiFiServer {
         File webApiWar = null;
         File webErrorWar = null;
         File webDocsWar = null;
-        File webDataViewerWar = null;
+        File webContentViewerWar = null;
         List<File> otherWars = new ArrayList<>();
         for (File war : warToNarWorkingDirectoryLookup.keySet()) {
             if (war.getName().toLowerCase().startsWith("nifi-web-api")) {
@@ -174,8 +174,8 @@ public class JettyServer implements NiFiServer {
                 webErrorWar = war;
             } else if (war.getName().toLowerCase().startsWith("nifi-web-docs")) {
                 webDocsWar = war;
-            } else if (war.getName().toLowerCase().startsWith("nifi-web-data-viewer")) {
-                webDataViewerWar = war;
+            } else if (war.getName().toLowerCase().startsWith("nifi-web-content-viewer")) {
+                webContentViewerWar = war;
             } else if (war.getName().toLowerCase().startsWith("nifi-web")) {
                 webUiWar = war;
             } else {
@@ -192,8 +192,8 @@ public class JettyServer implements NiFiServer {
             throw new RuntimeException("Unable to load nifi-web-docs WAR");
         } else if (webErrorWar == null) {
             throw new RuntimeException("Unable to load nifi-web-error WAR");
-        } else if (webDataViewerWar == null) {
-            throw new RuntimeException("Unable to load nifi-web-data-viewer WAR");
+        } else if (webContentViewerWar == null) {
+            throw new RuntimeException("Unable to load nifi-web-content-viewer WAR");
         }
 
         // handlers for each war and init params for the web api
@@ -206,13 +206,15 @@ public class JettyServer implements NiFiServer {
         // deploy the other wars
         if (CollectionUtils.isNotEmpty(otherWars)) {
             customUiWebContexts = new ArrayList<>();
+            contentViewerWebContexts = new ArrayList<>();
+            
             for (File war : otherWars) {
                 // see if this war is a custom processor ui
                 List<String> customUiProcessorTypes = getWarExtensions(war, "META-INF/nifi-processor");
-                List<String> dataViewerMimeTypes = getWarExtensions(war, "META-INF/nifi-data-viewer");
+                List<String> contentViewerMimeTypes = getWarExtensions(war, "META-INF/nifi-content-viewer");
 
                 // only include wars that are for extensions
-                if (!customUiProcessorTypes.isEmpty() || !dataViewerMimeTypes.isEmpty()) {
+                if (!customUiProcessorTypes.isEmpty() || !contentViewerMimeTypes.isEmpty()) {
                     String warName = StringUtils.substringBeforeLast(war.getName(), ".");
                     String warContextPath = String.format("/%s", warName);
 
@@ -232,7 +234,7 @@ public class JettyServer implements NiFiServer {
                         customUiWebContexts.add(extensionUiContext);
                     } else {
                         // record the mime type to web app mapping (need to handle type collision)
-                        dataViewerWebContexts.add(extensionUiContext);
+                        contentViewerWebContexts.add(extensionUiContext);
                     }
 
                     // include custom ui web context in the handlers
@@ -243,8 +245,8 @@ public class JettyServer implements NiFiServer {
                         // map the processor type to the custom ui path
                         customUiMappings.put(customUiProcessorType, warContextPath);
                     }
-                    for (final String dataViewerMimeType : dataViewerMimeTypes) {
-                        mimeTypeMappings.put(dataViewerMimeType, warContextPath);
+                    for (final String contentViewerMimeType : contentViewerMimeTypes) {
+                        mimeTypeMappings.put(contentViewerMimeType, warContextPath);
                     }
                 }
             }
@@ -258,10 +260,10 @@ public class JettyServer implements NiFiServer {
         webApiContext.getInitParams().putAll(customUiMappings);
         handlers.addHandler(webApiContext);
 
-        // load the data viewer app
-        final WebAppContext webDataViewerContext = loadWar(webDataViewerWar, "/nifi-data-viewer", frameworkClassLoader);
-        webDataViewerContext.getInitParams().putAll(mimeTypeMappings);
-        handlers.addHandler(webDataViewerContext);
+        // load the content viewer app
+        final WebAppContext webContentViewerContext = loadWar(webContentViewerWar, "/nifi-content-viewer", frameworkClassLoader);
+        webContentViewerContext.getInitParams().putAll(mimeTypeMappings);
+        handlers.addHandler(webContentViewerContext);
         
         // create a web app for the docs
         final String docsContextPath = "/nifi-docs";
@@ -574,13 +576,13 @@ public class JettyServer implements NiFiServer {
                     }
                 }
                 
-                for (final WebAppContext dataViewerContext : dataViewerWebContexts) {
+                for (final WebAppContext contentViewerContext : contentViewerWebContexts) {
                     
                     
                     // add the security filter to any custom ui wars
                     final FilterHolder securityFilter = webApiContext.getServletHandler().getFilter("springSecurityFilterChain");
                     if (securityFilter != null) {
-                        dataViewerContext.addFilter(securityFilter, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.INCLUDE));
+                        contentViewerContext.addFilter(securityFilter, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.INCLUDE));
                     }
                 }
             }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/.gitignore
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/.gitignore b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/.gitignore
new file mode 100755
index 0000000..ea8c4bf
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/.gitignore
@@ -0,0 +1 @@
+/target

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
new file mode 100644
index 0000000..47c6b08
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/pom.xml
@@ -0,0 +1,51 @@
+<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">
+    <!--
+      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.
+    -->
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-web</artifactId>
+        <version>0.0.2-incubating-SNAPSHOT</version>
+    </parent>
+    <groupId>org.apache.nifi</groupId>
+    <artifactId>nifi-web-content-viewer</artifactId>
+    <packaging>war</packaging>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet.jsp</groupId>
+            <artifactId>javax.servlet.jsp-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.el</groupId>
+            <artifactId>javax.el-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet.jsp.jstl</groupId>
+            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java
new file mode 100644
index 0000000..504ada2
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java
@@ -0,0 +1,63 @@
+/*
+ * 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.nifi.web.data.viewer;
+
+import java.io.IOException;
+import java.util.Map;
+import javax.servlet.RequestDispatcher;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ */
+@WebServlet(name = "DataViewerController", urlPatterns = {"/*"})
+public class DataViewerController extends HttpServlet {
+
+    /**
+     *
+     * @param request servlet request
+     * @param response servlet response
+     * @throws ServletException if a servlet-specific error occurs
+     * @throws IOException if an I/O error occurs
+     */
+    @Override
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        final ServletContext servletContext = request.getServletContext();
+        final String dataViewerUri = servletContext.getInitParameter("application/xml");
+        
+        // header
+//        final RequestDispatcher header = request.getRequestDispatcher("/WEB-INF/jsp/header.jsp");
+//        header.include(request, response);
+        
+        // content
+        final ServletContext viewerContext = servletContext.getContext(dataViewerUri);
+        final RequestDispatcher content = viewerContext.getRequestDispatcher("/content");
+        content.include(request, response);
+        
+        // footer
+//        final RequestDispatcher footer = request.getRequestDispatcher("/WEB-INF/jsp/footer.jsp");
+//        footer.include(request, response);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/resources/META-INF/NOTICE b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..d91a952
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,19 @@
+nifi-web-docs
+Copyright 2014-2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+===========================================
+Apache Software License v2
+===========================================
+
+The following binary components are provided under the Apache Software License v2
+
+  (ASLv2) Apache Commons Lang
+    The following NOTICE information applies:
+      Apache Commons Lang
+      Copyright 2001-2014 The Apache Software Foundation
+
+      This product includes software from the Spring Framework,
+      under the Apache License 2.0 (see: StringUtils.containsWhitespace())

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp
new file mode 100644
index 0000000..195c9e8
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp
@@ -0,0 +1,19 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+    </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/header.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/header.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/header.jsp
new file mode 100644
index 0000000..9079e71
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/jsp/header.jsp
@@ -0,0 +1,27 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>NiFi</title>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
+        <link rel="shortcut icon" href="../nifi/images/nifi16.ico"/>
+        <link href="../../css/component-usage.css" rel="stylesheet" type="text/css" />
+    </head>
+    <body>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/web.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..7cab224
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+    <display-name>nifi-content-viewer</display-name>
+   
+    <servlet>
+        <servlet-name>DataViewerController</servlet-name>
+        <servlet-class>org.apache.nifi.web.data.viewer.DataViewerController</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>DataViewerController</servlet-name>
+        <url-pattern>/*</url-pattern>
+    </servlet-mapping>
+</web-app>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/css/main.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/css/main.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/css/main.css
new file mode 100644
index 0000000..918eb7a
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/css/main.css
@@ -0,0 +1,214 @@
+/*
+ * 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.
+ */
+* {
+    margin: 0;
+    padding: 0;
+}
+
+#documentation-body {
+    width: 100%;
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+}
+
+/* banners */
+
+div.main-banner-header {
+    display: none;
+    z-index: 100;
+    font-weight: bold;
+    font-size: 1em;
+    text-align: center;
+    line-height: 15px;
+    color: #7e7e7e;
+    margin: 0px auto;
+    width: 900px;
+    height: 17px;
+    background-color: #fff;
+    z-index: 100;
+    background-image: url(../images/bgHeader.png);
+}
+
+div.main-banner-footer {
+    display: none;
+    position: absolute;
+    left: 0px;
+    right: 0px;
+    bottom: 0px;
+    height: 15px;
+    color: #fff;
+    text-align: center;
+    font-weight: bold;
+    font-size: 1em;
+    line-height: 15px;
+    overflow: visible;
+    background-color: #9eb9c7;
+    background-image: url(../images/bgBannerFoot.png);
+    background-repeat: repeat-x;
+    background-position: left top;
+}
+
+/* documentation */
+
+div.documentation-header {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    height: 45px;
+    border-bottom: 1px solid #d1dee5;
+    color: #365c6a;
+    font-size: 13px;
+}
+
+#nf-title {
+    float: left;
+    height: 50px;
+    padding: 5px;
+    font-size: 20px;
+    margin-top: 10px;
+}
+
+#nf-version {
+    float: left;
+    font-size: 14px;
+    margin-left: 10px;
+    margin-top: 21px;
+    font-style: italic;
+    color: #aaa;
+}
+
+#selected-component {
+    float: right;
+    height: 50px;
+    padding: 5px;
+    margin-top: 10px;
+    font-size: 20px;
+}
+
+/* component listing */
+
+div.component-listing {
+    width: 300px;
+    position: absolute;
+    top: 46px;
+    left: 0;
+    bottom: 40px;
+    overflow: auto;
+    font-size: 16px;
+    padding: 4px;
+}
+
+div.component-listing div.section {
+    margin-bottom: 15px;
+}
+
+div.component-listing div.header {
+    font-weight: bold;
+    color: #264c58;
+}
+
+div.component-links ul {
+    list-style: none;
+}
+
+li.component-item {
+    padding: 2px;
+    padding-left: 4px;
+    border-left: 8px solid transparent;
+    font-family: "Open Sans","DejaVu Sans",sans-serif;
+    font-size: 15px;
+}
+
+li.component-item a {
+    color: #1e373f;
+}
+
+li.component-item:hover {
+    border-left: 8px solid #d1dee5;
+}
+
+li.component-item:hover a {
+    color: #264c58;
+}
+
+li.component-item.selected {
+    border-left: 8px solid #7098ad;
+}
+
+div.component-links span.no-components {
+    font-style: italic;
+    color: #777;
+}
+
+/* component filter control */
+
+#component-filter-controls {
+    width: 308px;
+    height: 40px;
+    position: absolute;
+    bottom: 0;
+    left: 0;
+}
+
+#component-filter-container {
+    height: 24px;
+    margin-left: 2px;
+    margin-top: 1px;
+}
+
+#component-filter {
+    padding: 1px;
+    font-size: 12px;
+    height: 18px;
+    line-height: 20px;
+    width: 299px;
+    float: left;
+}
+
+input.component-filter-list {
+    color: #888;
+    font-style: italic;
+}
+
+#component-filter-stats {
+    font-size: 9px;
+    font-weight: bold;
+    color: #9f6000;
+    clear: left; 
+    line-height: normal;
+    margin-left: 7px;
+    margin-top: 2px;
+}
+
+/* component usage */
+
+#component-usage-container {
+    position: absolute;
+    top: 46px;
+    right: 0px;
+    bottom: 0px;
+    left: 312px;
+    overflow: hidden;
+}
+
+#component-usage {
+    overflow: auto;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/js/application.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/js/application.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/js/application.js
new file mode 100644
index 0000000..cea8078
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-content-viewer/src/main/webapp/js/application.js
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+$(document).ready(function () {
+
+    
+});

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/.gitignore
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/.gitignore b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/.gitignore
deleted file mode 100755
index ea8c4bf..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/pom.xml
deleted file mode 100644
index 0ff1696..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<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">
-    <!--
-      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.
-    -->
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.nifi</groupId>
-        <artifactId>nifi-web</artifactId>
-        <version>0.0.2-incubating-SNAPSHOT</version>
-    </parent>
-    <groupId>org.apache.nifi</groupId>
-    <artifactId>nifi-web-data-viewer</artifactId>
-    <packaging>war</packaging>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet.jsp</groupId>
-            <artifactId>javax.servlet.jsp-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.el</groupId>
-            <artifactId>javax.el-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet.jsp.jstl</groupId>
-            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java
deleted file mode 100644
index 734568d..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/java/org/apache/nifi/web/data/viewer/DataViewerController.java
+++ /dev/null
@@ -1,68 +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.nifi.web.data.viewer;
-
-import java.io.IOException;
-import java.util.Map;
-import javax.servlet.RequestDispatcher;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- *
- */
-@WebServlet(name = "DataViewerController", urlPatterns = {"/*"})
-public class DataViewerController extends HttpServlet {
-
-    // context for accessing the extension mapping
-    private ServletContext servletContext;
-
-    @Override
-    public void init(final ServletConfig config) throws ServletException {
-        super.init(config);
-        servletContext = config.getServletContext();
-    }
-
-    /**
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        // header
-        final RequestDispatcher header = request.getRequestDispatcher("/WEB-INF/jsp/header.jsp");
-        header.include(request, response);
-        
-        // content
-        final RequestDispatcher content = servletContext.getContext(getServletConfig().getInitParameter("application/xml")).getRequestDispatcher("/WEB-INF/jsp/content.jsp");
-        content.include(request, response);
-        
-        // footer
-        final RequestDispatcher footer = request.getRequestDispatcher("/WEB-INF/jsp/footer.jsp");
-        footer.include(request, response);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/resources/META-INF/NOTICE b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/resources/META-INF/NOTICE
deleted file mode 100644
index d91a952..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/resources/META-INF/NOTICE
+++ /dev/null
@@ -1,19 +0,0 @@
-nifi-web-docs
-Copyright 2014-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-===========================================
-Apache Software License v2
-===========================================
-
-The following binary components are provided under the Apache Software License v2
-
-  (ASLv2) Apache Commons Lang
-    The following NOTICE information applies:
-      Apache Commons Lang
-      Copyright 2001-2014 The Apache Software Foundation
-
-      This product includes software from the Spring Framework,
-      under the Apache License 2.0 (see: StringUtils.containsWhitespace())

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp
deleted file mode 100644
index 195c9e8..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/footer.jsp
+++ /dev/null
@@ -1,19 +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.
---%>
-<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
-    </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/header.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/header.jsp b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/header.jsp
deleted file mode 100644
index 9079e71..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/jsp/header.jsp
+++ /dev/null
@@ -1,27 +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.
---%>
-<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
-<!DOCTYPE html>
-<html>
-    <head>
-        <title>NiFi</title>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
-        <link rel="shortcut icon" href="../nifi/images/nifi16.ico"/>
-        <link href="../../css/component-usage.css" rel="stylesheet" type="text/css" />
-    </head>
-    <body>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/web.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 64a9a48..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
-    <display-name>nifi-data-viewer</display-name>
-    <servlet>
-        <servlet-name>DataViewerController</servlet-name>
-        <servlet-class>org.apache.nifi.web.data.viewer.DataViewerController</servlet-class>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>DataViewerController</servlet-name>
-        <url-pattern>/data-viewer</url-pattern>
-    </servlet-mapping>
-    <welcome-file-list>
-        <welcome-file>data-viewer</welcome-file>
-    </welcome-file-list>
-</web-app>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/css/main.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/css/main.css b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/css/main.css
deleted file mode 100644
index 918eb7a..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/css/main.css
+++ /dev/null
@@ -1,214 +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.
- */
-* {
-    margin: 0;
-    padding: 0;
-}
-
-#documentation-body {
-    width: 100%;
-    position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-}
-
-/* banners */
-
-div.main-banner-header {
-    display: none;
-    z-index: 100;
-    font-weight: bold;
-    font-size: 1em;
-    text-align: center;
-    line-height: 15px;
-    color: #7e7e7e;
-    margin: 0px auto;
-    width: 900px;
-    height: 17px;
-    background-color: #fff;
-    z-index: 100;
-    background-image: url(../images/bgHeader.png);
-}
-
-div.main-banner-footer {
-    display: none;
-    position: absolute;
-    left: 0px;
-    right: 0px;
-    bottom: 0px;
-    height: 15px;
-    color: #fff;
-    text-align: center;
-    font-weight: bold;
-    font-size: 1em;
-    line-height: 15px;
-    overflow: visible;
-    background-color: #9eb9c7;
-    background-image: url(../images/bgBannerFoot.png);
-    background-repeat: repeat-x;
-    background-position: left top;
-}
-
-/* documentation */
-
-div.documentation-header {
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    height: 45px;
-    border-bottom: 1px solid #d1dee5;
-    color: #365c6a;
-    font-size: 13px;
-}
-
-#nf-title {
-    float: left;
-    height: 50px;
-    padding: 5px;
-    font-size: 20px;
-    margin-top: 10px;
-}
-
-#nf-version {
-    float: left;
-    font-size: 14px;
-    margin-left: 10px;
-    margin-top: 21px;
-    font-style: italic;
-    color: #aaa;
-}
-
-#selected-component {
-    float: right;
-    height: 50px;
-    padding: 5px;
-    margin-top: 10px;
-    font-size: 20px;
-}
-
-/* component listing */
-
-div.component-listing {
-    width: 300px;
-    position: absolute;
-    top: 46px;
-    left: 0;
-    bottom: 40px;
-    overflow: auto;
-    font-size: 16px;
-    padding: 4px;
-}
-
-div.component-listing div.section {
-    margin-bottom: 15px;
-}
-
-div.component-listing div.header {
-    font-weight: bold;
-    color: #264c58;
-}
-
-div.component-links ul {
-    list-style: none;
-}
-
-li.component-item {
-    padding: 2px;
-    padding-left: 4px;
-    border-left: 8px solid transparent;
-    font-family: "Open Sans","DejaVu Sans",sans-serif;
-    font-size: 15px;
-}
-
-li.component-item a {
-    color: #1e373f;
-}
-
-li.component-item:hover {
-    border-left: 8px solid #d1dee5;
-}
-
-li.component-item:hover a {
-    color: #264c58;
-}
-
-li.component-item.selected {
-    border-left: 8px solid #7098ad;
-}
-
-div.component-links span.no-components {
-    font-style: italic;
-    color: #777;
-}
-
-/* component filter control */
-
-#component-filter-controls {
-    width: 308px;
-    height: 40px;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-}
-
-#component-filter-container {
-    height: 24px;
-    margin-left: 2px;
-    margin-top: 1px;
-}
-
-#component-filter {
-    padding: 1px;
-    font-size: 12px;
-    height: 18px;
-    line-height: 20px;
-    width: 299px;
-    float: left;
-}
-
-input.component-filter-list {
-    color: #888;
-    font-style: italic;
-}
-
-#component-filter-stats {
-    font-size: 9px;
-    font-weight: bold;
-    color: #9f6000;
-    clear: left; 
-    line-height: normal;
-    margin-left: 7px;
-    margin-top: 2px;
-}
-
-/* component usage */
-
-#component-usage-container {
-    position: absolute;
-    top: 46px;
-    right: 0px;
-    bottom: 0px;
-    left: 312px;
-    overflow: hidden;
-}
-
-#component-usage {
-    overflow: auto;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/js/application.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/js/application.js b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/js/application.js
deleted file mode 100644
index cea8078..0000000
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-data-viewer/src/main/webapp/js/application.js
+++ /dev/null
@@ -1,20 +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.
- */
-$(document).ready(function () {
-
-    
-});

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
index 5e0a2bb..18b365a 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/pom.xml
@@ -29,7 +29,7 @@
         <module>nifi-web-api</module>
         <module>nifi-web-error</module>
         <module>nifi-web-docs</module>
-        <module>nifi-web-data-viewer</module>
+        <module>nifi-web-content-viewer</module>
         <module>nifi-web-ui</module>
         <module>nifi-jetty</module>
     </modules>
@@ -55,7 +55,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.nifi</groupId>
-                <artifactId>nifi-web-data-viewer</artifactId>
+                <artifactId>nifi-web-content-viewer</artifactId>
                 <type>war</type>
                 <version>0.0.2-incubating-SNAPSHOT</version>
             </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
new file mode 100644
index 0000000..2cd9c34
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/pom.xml
@@ -0,0 +1,51 @@
+<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">
+    <!--
+      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.
+    -->
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.nifi</groupId>
+        <artifactId>nifi-standard-bundle</artifactId>
+        <version>0.0.2-incubating-SNAPSHOT</version>
+    </parent>
+    <groupId>org.apache.nifi</groupId>
+    <artifactId>nifi-standard-content-viewer</artifactId>
+    <packaging>war</packaging>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet.jsp</groupId>
+            <artifactId>javax.servlet.jsp-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.el</groupId>
+            <artifactId>javax.el-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet.jsp.jstl</groupId>
+            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java
new file mode 100644
index 0000000..a5a2374
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java
@@ -0,0 +1,50 @@
+/*
+ * 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.nifi.standard.data.viewer;
+
+import java.io.IOException;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ */
+@WebServlet(name = "StandardDataViewer", urlPatterns = {"/content"})
+public class StandardDataViewerController extends HttpServlet {
+
+    /**
+     *
+     * @param request servlet request
+     * @param response servlet response
+     * @throws ServletException if a servlet-specific error occurs
+     * @throws IOException if an I/O error occurs
+     */
+    @Override
+    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+//        final ExtensionMapping extensionMappings = (ExtensionMapping) servletContext.getAttribute("nifi-extension-mapping");
+
+        // forward appropriately
+        request.getRequestDispatcher("/WEB-INF/jsp/content.jsp").forward(request, response);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/resources/META-INF/NOTICE b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..d91a952
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,19 @@
+nifi-web-docs
+Copyright 2014-2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+===========================================
+Apache Software License v2
+===========================================
+
+The following binary components are provided under the Apache Software License v2
+
+  (ASLv2) Apache Commons Lang
+    The following NOTICE information applies:
+      Apache Commons Lang
+      Copyright 2001-2014 The Apache Software Foundation
+
+      This product includes software from the Spring Framework,
+      under the Apache License 2.0 (see: StringUtils.containsWhitespace())

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/META-INF/nifi-content-viewer
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/META-INF/nifi-content-viewer b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/META-INF/nifi-content-viewer
new file mode 100644
index 0000000..29fed60
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/META-INF/nifi-content-viewer
@@ -0,0 +1,2 @@
+application/xml
+application/json
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/jsp/content.jsp
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/jsp/content.jsp b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/jsp/content.jsp
new file mode 100644
index 0000000..adabebd
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/jsp/content.jsp
@@ -0,0 +1,18 @@
+<%--
+ 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.
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<p>This is the content rendered...</p>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/web.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..0a565df
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+    <display-name>nifi-standard-content-viewer</display-name>
+    <servlet>
+        <servlet-name>StandardDataViewer</servlet-name>
+        <servlet-class>org.apache.nifi.standard.data.viewer.StandardDataViewerController</servlet-class>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>StandardDataViewer</servlet-name>
+        <url-pattern>/content</url-pattern>
+    </servlet-mapping>
+</web-app>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/css/main.css
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/css/main.css b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/css/main.css
new file mode 100644
index 0000000..918eb7a
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/css/main.css
@@ -0,0 +1,214 @@
+/*
+ * 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.
+ */
+* {
+    margin: 0;
+    padding: 0;
+}
+
+#documentation-body {
+    width: 100%;
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+}
+
+/* banners */
+
+div.main-banner-header {
+    display: none;
+    z-index: 100;
+    font-weight: bold;
+    font-size: 1em;
+    text-align: center;
+    line-height: 15px;
+    color: #7e7e7e;
+    margin: 0px auto;
+    width: 900px;
+    height: 17px;
+    background-color: #fff;
+    z-index: 100;
+    background-image: url(../images/bgHeader.png);
+}
+
+div.main-banner-footer {
+    display: none;
+    position: absolute;
+    left: 0px;
+    right: 0px;
+    bottom: 0px;
+    height: 15px;
+    color: #fff;
+    text-align: center;
+    font-weight: bold;
+    font-size: 1em;
+    line-height: 15px;
+    overflow: visible;
+    background-color: #9eb9c7;
+    background-image: url(../images/bgBannerFoot.png);
+    background-repeat: repeat-x;
+    background-position: left top;
+}
+
+/* documentation */
+
+div.documentation-header {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    height: 45px;
+    border-bottom: 1px solid #d1dee5;
+    color: #365c6a;
+    font-size: 13px;
+}
+
+#nf-title {
+    float: left;
+    height: 50px;
+    padding: 5px;
+    font-size: 20px;
+    margin-top: 10px;
+}
+
+#nf-version {
+    float: left;
+    font-size: 14px;
+    margin-left: 10px;
+    margin-top: 21px;
+    font-style: italic;
+    color: #aaa;
+}
+
+#selected-component {
+    float: right;
+    height: 50px;
+    padding: 5px;
+    margin-top: 10px;
+    font-size: 20px;
+}
+
+/* component listing */
+
+div.component-listing {
+    width: 300px;
+    position: absolute;
+    top: 46px;
+    left: 0;
+    bottom: 40px;
+    overflow: auto;
+    font-size: 16px;
+    padding: 4px;
+}
+
+div.component-listing div.section {
+    margin-bottom: 15px;
+}
+
+div.component-listing div.header {
+    font-weight: bold;
+    color: #264c58;
+}
+
+div.component-links ul {
+    list-style: none;
+}
+
+li.component-item {
+    padding: 2px;
+    padding-left: 4px;
+    border-left: 8px solid transparent;
+    font-family: "Open Sans","DejaVu Sans",sans-serif;
+    font-size: 15px;
+}
+
+li.component-item a {
+    color: #1e373f;
+}
+
+li.component-item:hover {
+    border-left: 8px solid #d1dee5;
+}
+
+li.component-item:hover a {
+    color: #264c58;
+}
+
+li.component-item.selected {
+    border-left: 8px solid #7098ad;
+}
+
+div.component-links span.no-components {
+    font-style: italic;
+    color: #777;
+}
+
+/* component filter control */
+
+#component-filter-controls {
+    width: 308px;
+    height: 40px;
+    position: absolute;
+    bottom: 0;
+    left: 0;
+}
+
+#component-filter-container {
+    height: 24px;
+    margin-left: 2px;
+    margin-top: 1px;
+}
+
+#component-filter {
+    padding: 1px;
+    font-size: 12px;
+    height: 18px;
+    line-height: 20px;
+    width: 299px;
+    float: left;
+}
+
+input.component-filter-list {
+    color: #888;
+    font-style: italic;
+}
+
+#component-filter-stats {
+    font-size: 9px;
+    font-weight: bold;
+    color: #9f6000;
+    clear: left; 
+    line-height: normal;
+    margin-left: 7px;
+    margin-top: 2px;
+}
+
+/* component usage */
+
+#component-usage-container {
+    position: absolute;
+    top: 46px;
+    right: 0px;
+    bottom: 0px;
+    left: 312px;
+    overflow: hidden;
+}
+
+#component-usage {
+    overflow: auto;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/js/application.js
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/js/application.js b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/js/application.js
new file mode 100644
index 0000000..3efdbcc
--- /dev/null
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-content-viewer/src/main/webapp/js/application.js
@@ -0,0 +1,282 @@
+/*
+ * 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.
+ */
+$(document).ready(function () {
+
+    var isUndefined = function (obj) {
+        return typeof obj === 'undefined';
+    };
+
+    var isNull = function (obj) {
+        return obj === null;
+    };
+
+    var isDefinedAndNotNull = function (obj) {
+        return !isUndefined(obj) && !isNull(obj);
+    };
+
+    /**
+     * Get the filter text.
+     * 
+     * @returns {unresolved}
+     */
+    var getFilterText = function () {
+        var filter = '';
+        var ruleFilter = $('#component-filter');
+        if (!ruleFilter.hasClass('component-filter-list')) {
+            filter = ruleFilter.val();
+        }
+        return filter;
+    };
+
+    var applyComponentFilter = function (componentContainer) {
+        var matchingComponents = 0;
+        var componentLinks = $(componentContainer).find('a.component-link');
+
+        if (componentLinks.length === 0) {
+            return matchingComponents;
+        }
+
+        // get the filter text
+        var filter = getFilterText();
+        if (filter !== '') {
+            var filterExp = new RegExp(filter, 'i');
+
+            // update the displayed rule count
+            $.each(componentLinks, function (_, componentLink) {
+                var a = $(componentLink);
+                var li = a.closest('li.component-item');
+
+                // get the rule text for matching
+                var componentName = a.text();
+
+                // see if any of the text from this rule matches
+                var componentMatches = componentName.search(filterExp) >= 0;
+
+                // handle whether the rule matches
+                if (componentMatches === true) {
+                    li.show();
+                    matchingComponents++;
+                } else {
+                    // hide the rule
+                    li.hide();
+                }
+            });
+        } else {
+            // ensure every rule is visible
+            componentLinks.closest('li.component-item').show();
+
+            // set the number of displayed rules
+            matchingComponents = componentLinks.length;
+        }
+
+        // show whether there are status if appropriate
+        var noMatching = componentContainer.find('span.no-matching');
+        if (matchingComponents === 0) {
+            noMatching.show();
+        } else {
+            noMatching.hide();
+        }
+
+        return matchingComponents;
+    };
+
+    var applyFilter = function () {
+        var matchingGeneral = applyComponentFilter($('#general-links'));
+        var matchingProcessors = applyComponentFilter($('#processor-links'));
+        var matchingControllerServices = applyComponentFilter($('#controller-service-links'));
+        var matchingReportingTasks = applyComponentFilter($('#reporting-task-links'));
+        var matchingDeveloper = applyComponentFilter($('#developer-links'));
+
+        // update the rule count
+        $('#displayed-components').text(matchingGeneral + matchingProcessors + matchingControllerServices + matchingReportingTasks + matchingDeveloper);
+    };
+
+    var selectComponent = function (componentName) {
+        var componentLinks = $('a.component-link');
+
+        // consider each link
+        $.each(componentLinks, function () {
+            var componentLink = $(this);
+            if (componentName === componentLink.text()) {
+                // remove all selected styles
+                $('li.component-item').removeClass('selected');
+
+                // select this links item
+                componentLink.closest('li.component-item').addClass('selected');
+
+                // set the header
+                $('#selected-component').text(componentLink.text());
+
+                // stop iteration
+                return false;
+            }
+        });
+    };
+
+    // get the banners if we're not in the shell
+    var banners = $.Deferred(function (deferred) {
+        if (top === window) {
+            $.ajax({
+                type: 'GET',
+                url: '../nifi-api/controller/banners',
+                dataType: 'json'
+            }).then(function (response) {
+                // ensure the banners response is specified
+                if (isDefinedAndNotNull(response.banners)) {
+                    if (isDefinedAndNotNull(response.banners.headerText) && response.banners.headerText !== '') {
+                        // update the header text
+                        var bannerHeader = $('#banner-header').html(response.banners.headerText).show();
+
+                        // show the banner
+                        var updateTop = function (elementId) {
+                            var element = $('#' + elementId);
+                            element.css('top', (parseInt(bannerHeader.css('height')) + parseInt(element.css('top'))) + 'px');
+                        };
+
+                        // update the position of elements affected by top banners
+                        updateTop('documentation-header');
+                        updateTop('component-listing');
+                        updateTop('component-usage-container');
+                    }
+
+                    if (isDefinedAndNotNull(response.banners.footerText) && response.banners.footerText !== '') {
+                        // update the footer text and show it
+                        var bannerFooter = $('#banner-footer').html(response.banners.footerText).show();
+
+                        var updateBottom = function (elementId) {
+                            var element = $('#' + elementId);
+                            element.css('bottom', parseInt(bannerFooter.css('height')) + parseInt(element.css('bottom')) + 'px');
+                        };
+
+                        // update the position of elements affected by bottom banners
+                        updateBottom('component-filter-controls');
+                        updateBottom('component-listing');
+                        updateBottom('component-usage-container');
+                    }
+                }
+
+                deferred.resolve();
+            }, function () {
+                deferred.reject();
+            });
+        } else {
+            deferred.resolve();
+        }
+    }).promise();
+
+    // get the about details
+    var about = $.ajax({
+        type: 'GET',
+        url: '../nifi-api/controller/about',
+        dataType: 'json'
+    }).done(function (response) {
+        var aboutDetails = response.about;
+
+        // set the document title and the about title
+        $('#nf-version').text(aboutDetails.version);
+    });
+
+    // once the banners have loaded, function with remainder of the page
+    $.when(banners, about).always(function () {
+        // define the function for filtering the list
+        $('#component-filter').keyup(function () {
+            applyFilter();
+        }).focus(function () {
+            if ($(this).hasClass('component-filter-list')) {
+                $(this).removeClass('component-filter-list').val('');
+            }
+        }).blur(function () {
+            if ($(this).val() === '') {
+                $(this).addClass('component-filter-list').val('Filter');
+            }
+        }).addClass('component-filter-list').val('Filter');
+
+        // get the component usage container to install the window listener
+        var componentUsageContainer = $('#component-usage-container');
+
+        // size the iframe accordingly
+        var componentUsage = $('#component-usage').css({
+            width: componentUsageContainer.width(),
+            height: componentUsageContainer.height()
+        });
+
+        // add a window resize listener
+        $(window).resize(function () {
+            componentUsage.css({
+                width: componentUsageContainer.width(),
+                height: componentUsageContainer.height()
+            });
+        });
+
+        // listen for loading of the iframe to update the title
+        $('#component-usage').on('load', function () {
+            var componentName = '';
+            var href = $(this).contents().get(0).location.href;
+
+            // see if the href ends in index.htm[l]
+            var indexOfIndexHtml = href.indexOf('index.htm');
+            if (indexOfIndexHtml >= 0) {
+                href = href.substring(0, indexOfIndexHtml);
+            }
+
+            // remove the trailing separator
+            if (href.length > 0) {
+                var indexOfSeparator = href.lastIndexOf('/');
+                if (indexOfSeparator === href.length - 1) {
+                    href = href.substring(0, indexOfSeparator);
+                }
+            }
+
+            // extract the simple name
+            if (href.length > 0) {
+                var indexOfLastDot = href.lastIndexOf('.');
+                if (indexOfLastDot >= 0) {
+                    var indexAfterStrToFind = indexOfLastDot + 1;
+                    if (indexAfterStrToFind < href.length) {
+                        componentName = href.substr(indexAfterStrToFind);
+                    }
+                }
+            }
+
+            // if we could figure out the name
+            if (componentName !== '') {
+                selectComponent(componentName);
+            }
+        });
+        
+        // listen for on the rest api and user guide and developer guide and admin guide and overview
+        $('a.rest-api, a.user-guide, a.developer-guide, a.admin-guide, a.overview, a.expression-language-guide').on('click', function() {
+            selectComponent($(this).text());
+        });
+
+        // get the initial selection
+        var initialComponentLink = $('a.component-link:first');
+        var initialSelection = $('#initial-selection').text();
+        if (initialSelection !== '') {
+            $('a.component-link').each(function () {
+                var componentLink = $(this);
+                if (componentLink.text() === initialSelection) {
+                    initialComponentLink = componentLink;
+                    return false;
+                }
+            });
+        }
+
+        // click the first link
+        initialComponentLink[0].click();
+    });
+});

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/pom.xml b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/pom.xml
deleted file mode 100644
index 839ce43..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<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">
-    <!--
-      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.
-    -->
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.nifi</groupId>
-        <artifactId>nifi-standard-bundle</artifactId>
-        <version>0.0.2-incubating-SNAPSHOT</version>
-    </parent>
-    <groupId>org.apache.nifi</groupId>
-    <artifactId>nifi-standard-data-viewer</artifactId>
-    <packaging>war</packaging>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet.jsp</groupId>
-            <artifactId>javax.servlet.jsp-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.el</groupId>
-            <artifactId>javax.el-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet.jsp.jstl</groupId>
-            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/48b1572f/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java
deleted file mode 100644
index 410270d..0000000
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-data-viewer/src/main/java/org/apache/nifi/standard/data/viewer/StandardDataViewerController.java
+++ /dev/null
@@ -1,59 +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.nifi.standard.data.viewer;
-
-import java.io.IOException;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- *
- */
-@WebServlet(name = "StandardDataViewer", urlPatterns = {"/content"})
-public class StandardDataViewerController extends HttpServlet {
-
-    // context for accessing the extension mapping
-    private ServletContext servletContext;
-
-    @Override
-    public void init(final ServletConfig config) throws ServletException {
-        super.init(config);
-        servletContext = config.getServletContext();
-    }
-
-    /**
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-//        final ExtensionMapping extensionMappings = (ExtensionMapping) servletContext.getAttribute("nifi-extension-mapping");
-
-        // forward appropriately
-        request.getRequestDispatcher("/WEB-INF/jsp/content.jsp").forward(request, response);
-    }
-
-}