incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cr...@apache.org
Subject [48/50] [abbrv] Moved the UI directory and starting to get the server side working... still broken
Date Sun, 18 May 2014 21:42:23 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/Gruntfile.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/Gruntfile.js b/contrib/blur-console/ui/Gruntfile.js
deleted file mode 100644
index 65677b2..0000000
--- a/contrib/blur-console/ui/Gruntfile.js
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
-
-Licensed 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.
-*/
-
-// Generated on 2014-01-21 using generator-webapp 0.4.7
-'use strict';
-
-// # Globbing
-// for performance reasons we're only matching one level down:
-// 'test/spec/{,*/}*.js'
-// use this if you want to recursively match all subfolders:
-// 'test/spec/**/*.js'
-
-module.exports = function (grunt) {
-
-    // Load grunt tasks automatically
-    require('load-grunt-tasks')(grunt);
-
-    // Time how long tasks take. Can help when optimizing build times
-    require('time-grunt')(grunt);
-
-    // Define the configuration for all the tasks
-    grunt.initConfig({
-
-        // Project settings
-        yeoman: {
-            // Configurable paths
-            app: 'app',
-            dist: 'dist'
-        },
-
-        // Watches files for changes and runs tasks based on the changed files
-        watch: {
-            js: {
-                files: ['<%= yeoman.app %>/scripts/{,*/}*.js'],
-                tasks: ['jshint'],
-                options: {
-                    livereload: true
-                }
-            },
-            jstest: {
-                files: ['test/spec/{,*/}*.js'],
-                tasks: ['test:watch']
-            },
-            gruntfile: {
-                files: ['Gruntfile.js']
-            },
-            compass: {
-                files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'],
-                tasks: ['compass:server', 'autoprefixer']
-            },
-            styles: {
-                files: ['<%= yeoman.app %>/styles/{,*/}*.css'],
-                tasks: ['newer:copy:styles', 'autoprefixer']
-            },
-            livereload: {
-                options: {
-                    livereload: '<%= connect.options.livereload %>'
-                },
-                files: [
-                    '<%= yeoman.app %>/{,*/}*.html',
-                    '.tmp/styles/{,*/}*.css',
-                    '<%= yeoman.app %>/images/{,*/}*.{gif,jpeg,jpg,png,svg,webp}'
-                ]
-            }
-        },
-
-        // The actual grunt server settings
-        connect: {
-            options: {
-                port: 3000,
-                livereload: 4000,
-                // Change this to '0.0.0.0' to access the server from outside
-                hostname: '0.0.0.0'
-            },
-            livereload: {
-                options: {
-                    open: true, //true,
-                    base: [
-                        '.tmp',
-                        '<%= yeoman.app %>'
-                    ]
-                }
-            },
-            test: {
-                options: {
-                    port: 4001,
-                    base: [
-                        '.tmp',
-                        'test',
-                        '<%= yeoman.app %>'
-                    ]
-                }
-            },
-            dist: {
-                options: {
-                    open: true,
-                    base: '<%= yeoman.dist %>',
-                    livereload: false
-                }
-            }
-        },
-
-        // Empties folders to start fresh
-        clean: {
-            dist: {
-                files: [{
-                    dot: true,
-                    src: [
-                        '.tmp',
-                        '<%= yeoman.dist %>/*',
-                        '!<%= yeoman.dist %>/.git*'
-                    ]
-                }]
-            },
-            server: '.tmp'
-        },
-
-        // Make sure code styles are up to par and there are no obvious mistakes
-        jshint: {
-            options: {
-                jshintrc: '.jshintrc',
-                reporter: require('jshint-stylish')
-            },
-            all: [
-                'Gruntfile.js',
-                '<%= yeoman.app %>/scripts/{,*/}*.js',
-                '!<%= yeoman.app %>/scripts/vendor/*',
-                'test/spec/{,*/}*.js'
-            ]
-        },
-
-
-        // Mocha testing framework configuration options
-        mocha: {
-            all: {
-                options: {
-                    run: true,
-                    urls: ['http://<%= connect.test.options.hostname %>:<%= connect.test.options.port %>/index.html']
-                }
-            }
-        },
-
-        // Code coverage options
-        blanket_mocha: {
-            test: {
-                src: ['test/index.html'],
-                options : {
-                    threshold : 60,
-                    log : true,
-                    logErrors: true
-                }
-            }
-        },
-
-        // Compiles Sass to CSS and generates necessary files if requested
-        compass: {
-            options: {
-                sassDir: '<%= yeoman.app %>/styles',
-                cssDir: '.tmp/styles',
-                generatedImagesDir: '.tmp/images/generated',
-                imagesDir: '<%= yeoman.app %>/images',
-                javascriptsDir: '<%= yeoman.app %>/scripts',
-                fontsDir: '<%= yeoman.app %>/styles/fonts',
-                importPath: '<%= yeoman.app %>/bower_components',
-                httpImagesPath: '/images',
-                httpGeneratedImagesPath: '/images/generated',
-                httpFontsPath: '/styles/fonts',
-                relativeAssets: false,
-                assetCacheBuster: false
-            },
-            dist: {
-                options: {
-                    generatedImagesDir: '<%= yeoman.dist %>/images/generated'
-                }
-            },
-            server: {
-                options: {
-                    debugInfo: true
-                }
-            }
-        },
-
-        // Add vendor prefixed styles
-        autoprefixer: {
-            options: {
-                browsers: ['last 1 version']
-            },
-            dist: {
-                files: [{
-                    expand: true,
-                    cwd: '.tmp/styles/',
-                    src: '{,*/}*.css',
-                    dest: '.tmp/styles/'
-                }]
-            }
-        },
-
-        // Automatically inject Bower components into the HTML file
-        'bower-install': {
-            app: {
-                html: '<%= yeoman.app %>/index.html',
-                ignorePath: '<%= yeoman.app %>/'
-            }
-        },
-
-        // Renames files for browser caching purposes
-        rev: {
-            dist: {
-                files: {
-                    src: [
-                        '<%= yeoman.dist %>/scripts/{,*/}*.js',
-                        '<%= yeoman.dist %>/styles/{,*/}*.css',
-                        '<%= yeoman.dist %>/images/{,*/}*.{gif,jpeg,jpg,png,webp}',
-                        '<%= yeoman.dist %>/styles/fonts/{,*/}*.*'
-                    ]
-                }
-            }
-        },
-
-        // Reads HTML for usemin blocks to enable smart builds that automatically
-        // concat, minify and revision files. Creates configurations in memory so
-        // additional tasks can operate on them
-        useminPrepare: {
-            options: {
-                dest: '<%= yeoman.dist %>'
-            },
-            html: '<%= yeoman.app %>/index.html'
-        },
-
-        // Performs rewrites based on rev and the useminPrepare configuration
-        usemin: {
-            options: {
-                assetsDirs: ['<%= yeoman.dist %>']
-            },
-            html: ['<%= yeoman.dist %>/{,*/}*.html'],
-            css: ['<%= yeoman.dist %>/styles/{,*/}*.css']
-        },
-
-        // The following *-min tasks produce minified files in the dist folder
-        imagemin: {
-            dist: {
-                files: [{
-                    expand: true,
-                    cwd: '<%= yeoman.app %>/images',
-                    src: '{,*/}*.{gif,jpeg,jpg,png}',
-                    dest: '<%= yeoman.dist %>/images'
-                }]
-            }
-        },
-        svgmin: {
-            dist: {
-                files: [{
-                    expand: true,
-                    cwd: '<%= yeoman.app %>/images',
-                    src: '{,*/}*.svg',
-                    dest: '<%= yeoman.dist %>/images'
-                }]
-            }
-        },
-        htmlmin: {
-            dist: {
-                options: {
-                    collapseBooleanAttributes: true,
-                    collapseWhitespace: true,
-                    removeAttributeQuotes: true,
-                    removeCommentsFromCDATA: true,
-                    removeEmptyAttributes: true,
-                    removeOptionalTags: true,
-                    removeRedundantAttributes: true,
-                    useShortDoctype: true
-                },
-                files: [{
-                    expand: true,
-                    cwd: '<%= yeoman.dist %>',
-                    src: '{,*/}*.html',
-                    dest: '<%= yeoman.dist %>'
-                }]
-            }
-        },
-
-        // By default, your `index.html`'s <!-- Usemin block --> will take care of
-        // minification. These next options are pre-configured if you do not wish
-        // to use the Usemin blocks.
-        // cssmin: {
-        //     dist: {
-        //         files: {
-        //             '<%= yeoman.dist %>/styles/main.css': [
-        //                 '.tmp/styles/{,*/}*.css',
-        //                 '<%= yeoman.app %>/styles/{,*/}*.css'
-        //             ]
-        //         }
-        //     }
-        // },
-        // uglify: {
-        //     dist: {
-        //         files: {
-        //             '<%= yeoman.dist %>/scripts/scripts.js': [
-        //                 '<%= yeoman.dist %>/scripts/scripts.js'
-        //             ]
-        //         }
-        //     }
-        // },
-        // concat: {
-        //     dist: {}
-        // },
-
-        // Copies remaining files to places other tasks can use
-        copy: {
-            dist: {
-                files: [{
-                    expand: true,
-                    dot: true,
-                    cwd: '<%= yeoman.app %>',
-                    dest: '<%= yeoman.dist %>',
-                    src: [
-                        '*.{ico,png,txt}',
-                        '.htaccess',
-                        'images/{,*/}*.webp',
-                        '{,*/}*.html',
-                        'styles/fonts/{,*/}*.*',
-                        'bower_components/' + (this.includeCompass ? 'sass-' : '') + 'bootstrap/' + (this.includeCompass ? 'fonts/' : 'dist/fonts/') +'*.*'
-                    ]
-                }]
-            },
-            styles: {
-                expand: true,
-                dot: true,
-                cwd: '<%= yeoman.app %>/styles',
-                dest: '.tmp/styles/',
-                src: '{,*/}*.css'
-            }
-        },
-
-
-        // Generates a custom Modernizr build that includes only the tests you
-        // reference in your app
-        modernizr: {
-            devFile: '<%= yeoman.app %>/bower_components/modernizr/modernizr.js',
-            outputFile: '<%= yeoman.dist %>/bower_components/modernizr/modernizr.js',
-            files: [
-                '<%= yeoman.dist %>/scripts/{,*/}*.js',
-                '<%= yeoman.dist %>/styles/{,*/}*.css',
-                '!<%= yeoman.dist %>/scripts/vendor/*'
-            ],
-            uglify: true
-        },
-
-        // Run some tasks in parallel to speed up build process
-        concurrent: {
-            server: [
-                'compass:server',
-                'copy:styles'
-            ],
-            test: [
-                'copy:styles'
-            ],
-            dist: [
-                'compass',
-                'copy:styles',
-                'imagemin',
-                'svgmin'
-            ]
-        }
-    });
-
-
-    grunt.registerTask('serve', function (target) {
-        if (target === 'dist') {
-            return grunt.task.run(['build', 'connect:dist:keepalive']);
-        }
-
-        grunt.task.run([
-            'clean:server',
-            'concurrent:server',
-            'autoprefixer',
-            'connect:livereload',
-            'watch'
-        ]);
-    });
-
-    grunt.registerTask('server', function () {
-        grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
-        grunt.task.run(['serve']);
-    });
-
-    grunt.registerTask('test', function(target) {
-        if (target !== 'watch') {
-            grunt.task.run([
-                'clean:server',
-                'concurrent:test',
-                'autoprefixer',
-            ]);
-        }
-
-        grunt.task.run([
-            'connect:test',
-            'mocha',
-            'blanket_mocha'
-        ]);
-    });
-
-    grunt.registerTask('build', [
-        'clean:dist',
-        'useminPrepare',
-        'concurrent:dist',
-        'autoprefixer',
-        'concat',
-        'cssmin',
-        'uglify',
-        'copy:dist',
-        'modernizr',
-        'rev',
-        'usemin',
-        'htmlmin'
-    ]);
-
-    grunt.registerTask('default', [
-        'newer:jshint',
-        'test',
-        'build'
-    ]);
-};

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/favicon.ico
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/favicon.ico b/contrib/blur-console/ui/app/favicon.ico
deleted file mode 100644
index 6527905..0000000
Binary files a/contrib/blur-console/ui/app/favicon.ico and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/images/ajax-loader.gif
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/images/ajax-loader.gif b/contrib/blur-console/ui/app/images/ajax-loader.gif
deleted file mode 100644
index c8c22f2..0000000
Binary files a/contrib/blur-console/ui/app/images/ajax-loader.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/images/loading.gif
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/images/loading.gif b/contrib/blur-console/ui/app/images/loading.gif
deleted file mode 100644
index 26c67fd..0000000
Binary files a/contrib/blur-console/ui/app/images/loading.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/index.html
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/index.html b/contrib/blur-console/ui/app/index.html
deleted file mode 100644
index 0a79460..0000000
--- a/contrib/blur-console/ui/app/index.html
+++ /dev/null
@@ -1,120 +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.
- -->
-
-<!doctype html>
-<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
-<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
-<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
-    <head>
-        <meta charset="utf-8">
-        <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>Blur Console</title>
-        <meta name="description" content="System Monitor and Console for Blur">
-        <meta name="viewport" content="width=device-width">
-        <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-        <!-- build:css styles/vendor.css -->
-        <!-- bower:css -->
-
-        <!-- endbower -->
-        <!-- endbuild -->
-        <!-- build:css(.tmp) styles/main.css -->
-        <link rel="stylesheet" href="styles/blurconsole.css">
-        <link rel="stylesheet" href="styles/blurconsole.dashboard.css">
-        <link rel="stylesheet" href="styles/blurconsole.schema.css">
-        <link rel="stylesheet" href="styles/blurconsole.queries.css">
-        <link rel="stylesheet" href="styles/blurconsole.search.css">
-        <!-- endbuild -->
-        <script src="bower_components/modernizr/modernizr.js"></script>
-
-    </head>
-    <body>
-        <nav class="navbar navbar-inverse navbar-fixed-top">
-            <a class="navbar-brand" href="#">Blur Console</a>
-
-        </nav>
-        <nav class="side-nav">
-            <ul>
-                <li title="Dashboard" data-toggle="tooltip" data-placement="right" data-container="body">
-                    <a href="#/dashboard"><i class="glyphicon glyphicon-dashboard"></i></a>
-                </li>
-                <li title="Tables" data-toggle="tooltip" data-placement="right" data-container="body">
-                    <a href="#/tables"><i class="glyphicon glyphicon-list"></i></a>
-                </li>
-                <li title="Queries" data-toggle="tooltip" data-placement="right" data-container="body">
-                    <a href="#/queries"><i class="glyphicon glyphicon-tasks"></i></a>
-                </li>
-                <li title="Search" data-toggle="tooltip" data-placement="right" data-container="body">
-                    <a href="#/search"><i class="glyphicon glyphicon-search"></i></a>
-                </li>
-            </ul>
-        </nav>
-        <!--[if lt IE 10]>
-            <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
-        <![endif]-->
-
-        <div id="blurconsole"></div>
-
-        <!-- build:js scripts/vendor.js -->
-        <!-- bower:js -->
-        <script src="bower_components/jquery/dist/jquery.js"></script>
-        <script src="lib/jquery.uriAnchor.js"></script>
-        <script src="lib/jquery.event.gevent.js"></script>
-        <!-- endbower -->
-        <!-- endbuild -->
-
-        <!-- build:js scripts/plugins.js -->
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/affix.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/alert.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/dropdown.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/tooltip.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/modal.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/transition.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/button.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/popover.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/carousel.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/scrollspy.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/collapse.js"></script>
-        <script src="bower_components/twbs-bootstrap-sass/vendor/assets/javascripts/bootstrap/tab.js"></script>
-        <script src="bower_components/flot/jquery.flot.js"></script>
-        <script src="bower_components/flot/jquery.flot.pie.js"></script>
-        <script src="bower_components/flot/jquery.flot.categories.js"></script>
-        <script src="bower_components/flot/jquery.flot.stack.js"></script>
-        <!-- endbuild -->
-
-        <!-- build:js({app,.tmp}) scripts/main.js -->
-        <script src="scripts/blurconsole.js"></script>
-        <script src="scripts/blurconsole.utils.js"></script>
-        <script src="scripts/blurconsole.b_utils.js"></script>
-        <script src="scripts/blurconsole.shell.js"></script>
-        <script src="scripts/blurconsole.dashboard.js"></script>
-        <script src="scripts/blurconsole.tables.js"></script>
-        <script src="scripts/blurconsole.queries.js"></script>
-        <script src="scripts/blurconsole.search.js"></script>
-        <script src="scripts/blurconsole.schema.js"></script>
-        <script src="scripts/blurconsole.data.js"></script>
-        <script src="scripts/blurconsole.fake.js"></script>
-        <script src="scripts/blurconsole.model.js"></script>
-        <script type="text/javascript">
-            $(function () { blurconsole.initModule( $('#blurconsole') ); });
-        </script>
-        <!-- endbuild -->
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/lib/jquery.event.gevent.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/lib/jquery.event.gevent.js b/contrib/blur-console/ui/app/lib/jquery.event.gevent.js
deleted file mode 100755
index db78a3b..0000000
--- a/contrib/blur-console/ui/app/lib/jquery.event.gevent.js
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * jQuery global custom event plugin (gevent)
- *
- * Copyright (c) 2013 Michael S. Mikowski
- * (mike[dot]mikowski[at]gmail[dotcom])
- *
- * Dual licensed under the MIT or GPL Version 2
- * http://jquery.org/license
- *
- * Versions
- *  0.1.5 - initial release
- *  0.1.6 - enhanced publishEvent (publish) method pass
- *          a non-array variable as the second argument
- *          to a subscribed function (the first argument
- *          is always the event object).
- *  0.1.7-10
- *        - documentation changes
- *
-*/
-
-/*jslint         browser : true, continue : true,
-  devel  : true, indent  : 2,    maxerr   : 50,
-  newcap : true, nomen   : true, plusplus : true,
-  regexp : true, sloppy  : true, vars     : false,
-  white  : true
-*/
-/*global jQuery */
-
-(function ( $ ) {
-  'use strict';
-  $.gevent = ( function () {
-    //---------------- BEGIN MODULE SCOPE VARIABLES --------------
-    var
-      subscribeEvent, publishEvent, unsubscribeEvent,
-      $customSubMap = {}
-      ;
-    //----------------- END MODULE SCOPE VARIABLES ---------------
-
-    //------------------- BEGIN PUBLIC METHODS -------------------
-    // BEGIN public method /publishEvent/
-    // Example  :
-    //   $.gevent.publish(
-    //     'spa-model-msg-receive',
-    //     [ { user : 'fred', msg : 'Hi gang' } ]
-    //   );
-    // Purpose  :
-    //   Publish an event with an optional list of arguments
-    //   which a subscribed handler will receive after the event object.
-    // Arguments (positional)
-    //   * 0 ( event_name )  - The global event name
-    //   * 2 ( data )        - Optional data to be passed as argument(s)
-    //                         to subscribed functions after the event
-    //                         object. Provide an array for multiple
-    //                         arguments.
-    // Throws   : none
-    // Returns  : none
-    //
-    publishEvent = function ( event_name, data ) {
-      var data_list;
-
-      if ( ! $customSubMap[ event_name ] ){ return false; }
-
-      if ( data ){
-        data_list = Array.isArray( data ) ? data : [ data ];
-        $customSubMap[ event_name ].trigger( event_name, data_list );
-        return true;
-      }
-
-      $customSubMap[ event_name ].trigger( event_name );
-      return true;
-    };
-    // END public method /publishEvent/
-
-    // BEGIN public method /subscribeEvent/
-    // Example  :
-    //   $.gevent.subscribe(
-    //     $( '#msg' ),
-    //     'spa-msg-receive',
-    //     onModelMsgReceive
-    //   );
-    // Purpose  :
-    //   Subscribe a function to a published event on a jQuery collection
-    // Arguments (positional)
-    //   * 0 ( $collection ) - The jQuery collection on which to bind event
-    //   * 1 ( event_name )  - The global event name
-    //   * 2 ( fn ) - The function to bound to the event on the collection
-    // Throws   : none
-    // Returns  : none
-    //
-    subscribeEvent = function ( $collection, event_name, fn ) {
-      $collection.on( event_name, fn );
-
-      if ( ! $customSubMap[ event_name ] ) {
-        $customSubMap[ event_name ] = $collection;
-      }
-      else {
-        $customSubMap[ event_name ]
-          = $customSubMap[ event_name ].add( $collection );
-      }
-    };
-    // END public method /subscribeEvent/
-
-    // BEGIN public method /unsubscribeEvent/
-    // Example  :
-    //   $.gevent.unsubscribe(
-    //     $( '#msg' ),
-    //     'spa-model-msg-receive'
-    //   );
-    // Purpose  :
-    //   Remove a binding for the named event on a provided collection
-    // Arguments (positional)
-    //   * 0 ( $collection ) - The jQuery collection on which to bind event
-    //   * 1 ( event_name )  - The global event name
-    // Throws   : none
-    // Returns  : none
-    //
-    unsubscribeEvent = function ( $collection, event_name ) {
-      if ( ! $customSubMap[ event_name ] ){ return false; }
-
-      $customSubMap[ event_name ]
-        = $customSubMap[ event_name ].not( $collection );
-
-      if ( $customSubMap[ event_name ].length === 0 ){
-        delete $customSubMap[ event_name ];
-      }
-
-      return true;
-    };
-    // END public method /unsubscribeEvent/
-    //------------------- END PUBLIC METHODS ---------------------
-
-    // return public methods
-    return {
-      publish     : publishEvent,
-      subscribe   : subscribeEvent,
-      unsubscribe : unsubscribeEvent
-    };
-  }());
-}( jQuery ));
-

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/lib/jquery.uriAnchor.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/lib/jquery.uriAnchor.js b/contrib/blur-console/ui/app/lib/jquery.uriAnchor.js
deleted file mode 100755
index 9060ea1..0000000
--- a/contrib/blur-console/ui/app/lib/jquery.uriAnchor.js
+++ /dev/null
@@ -1,518 +0,0 @@
-/*
- * Jquery plugin for state managment through the URI anchor (hash fragment)
- *
- * Copyright (c) 2013 Michael S. Mikowski
- * (mike[dot]mikowski[at]gmail[dotcom])
- *
- * Dual licensed under the MIT or GPL Version 2
- * http://jquery.org/license
- *
- * Versions
- *  1.1.1-3 - Initial jQuery plugin site releases
- *
-*/
-
-/*jslint         browser : true, continue : true,
-  devel  : true, indent  : 2,    maxerr   : 50,
-  newcap : true, nomen   : true, plusplus : true,
-  regexp : true, sloppy  : true, vars     : false,
-  white  : true
-*/
-
-/*global jQuery */
-
-(function ($) {
-  $.uriAnchor = ( function ( ) {
-    //---------------- BEGIN MODULE SCOPE VARIABLES --------------
-    var
-      configMap = {
-        regex_anchor_clean1 : /^[#!]*/,
-        regex_anchor_clean2 : /\?[^?]*$/,
-        settable_map_key    : { schema_map : true },
-        schema_map          : null
-      },
-
-      getErrorReject,   getVarType,       getCleanAnchorString,
-      parseStringToMap, makeAnchorString, setAnchor,
-      makeAnchorMap,    configModule
-      ;
-    //----------------- END MODULE SCOPE VARIABLES ---------------
-
-    //------------------- BEGIN UTILITY METHODS ------------------
-    getErrorReject = function ( message  ) {
-      var error     = new Error();
-      error.name    = 'Anchor Schema Reject';
-      error.message = message;
-      return error;
-    };
-
-    // Begin public method /getVarType/
-    // Returns 'Object', 'Array', 'String', 'Number', 'Boolean', 'Undefined'
-    getVarType = function ( data  ) {
-      if ( data === undefined  ) { return 'Undefined'; }
-      if ( data === null  ) { return 'Null'; }
-      return {}.toString.call( data ).slice( 8, -1 );
-    };
-    // End public method /getVarType/
-
-    // Begin internal utility to clean bookmark
-    getCleanAnchorString = function () {
-      return String( document.location.hash )
-        // remove any leading pounds or bangs
-        .replace( configMap.regex_anchor_clean1 , '' )
-        // snip off after question-mark ( a ClickStreet bug )
-        .replace( configMap.regex_anchor_clean2 , '' )
-        ;
-    };
-    // End internal utility to clean bookmark
-
-    // Begin internal utility /parseStringToMap/
-    parseStringToMap = function ( arg_map  ) {
-      var
-        input_string    = arg_map.input_string    || '',
-        delimit_char    = arg_map.delimit_char    || '&',
-        delimit_kv_char = arg_map.delimit_kv_char || '=',
-        output_map      = {},
-
-        splitter_array, i, key_val_array
-        ;
-
-      splitter_array = input_string.split( delimit_char );
-
-      for ( i = 0; i < splitter_array.length; i++  ) {
-        key_val_array = splitter_array[i].split( delimit_kv_char );
-
-        if ( key_val_array.length === 1  ) {
-          output_map[decodeURIComponent( key_val_array[0] )] = true;
-        }
-        else if ( key_val_array.length === 2  ) {
-          output_map[decodeURIComponent( key_val_array[0] )]
-            = decodeURIComponent( key_val_array[1] )
-            ;
-        }
-      }
-      return output_map;
-    };
-    // End internal utility /parseStringToMap/
-
-    // Begin utility /makeAnchorString/
-    // -- all the heavy lifting for setAnchor ( see below )
-    // Converts a map into the anchor component as described
-    // in setAnchor
-    makeAnchorString = function ( anchor_map_in, option_map_in  ) {
-      var
-        anchor_map          = anchor_map_in || {},
-        option_map          = option_map_in || {},
-        delimit_char        = option_map.delimit_char        || '&',
-        delimit_kv_char     = option_map.delimit_kv_char     || '=',
-        sub_delimit_char    = option_map.sub_delimit_char    || ':',
-        dep_delimit_char    = option_map.dep_delimit_char    || '|',
-        dep_kv_delimit_char = option_map.dep_kv_delimit_char || ',',
-        schema_map         = configMap.schema_map,
-        key_val_array       = [],
-
-        schema_map_val, schema_map_dep, schema_map_dep_val,
-        key_name, key_value, class_name, output_kv_string,
-        sub_key_name, dep_map, dep_key_name, dep_key_value,
-        dep_class_name,
-
-        dep_kv_array
-        ;
-
-      if ( getVarType( anchor_map ) !== 'Object' ) {
-        return false;
-      }
-
-      for ( key_name in anchor_map  ) {
-        // filter out inherited properties
-        if ( anchor_map.hasOwnProperty( key_name ) ) {
-
-          // skip empty and dependent keys
-          if ( ! key_name  ) { continue;}
-          if ( key_name.indexOf( '_' ) === 0 ) { continue;}
-
-          // check against anchor schema if provided
-          if ( schema_map  ) {
-            if ( ! schema_map[key_name] ) {
-              throw getErrorReject(
-                'Independent key |'
-                + key_name + '| not authorized by anchor schema'
-              );
-            }
-          }
-
-          output_kv_string   = '';
-          key_value   = anchor_map[key_name];
-
-          if ( key_value === undefined ) { key_value = ''; }
-
-          class_name = getVarType( key_value  );
-
-          // check against anchor schema map of allowable
-          // values is provided
-          if ( schema_map  ) {
-            schema_map_val = schema_map[key_name];
-            if ( getVarType( schema_map_val ) === 'Object'
-              && ! schema_map_val[String( key_value )]
-            ) {
-              throw getErrorReject(
-                'Independent key-value pair |'
-                + key_name + '|' + String( key_value )
-                + '| not authorized by anchor schema'
-              );
-            }
-          }
-
-          // Booleans, we skip false
-          if ( class_name === 'Boolean'  ) {
-            if ( key_value ) { output_kv_string += encodeURIComponent( key_name ); }
-          }
-          // String and Number
-          else {
-             output_kv_string
-                += encodeURIComponent( key_name )
-                +  delimit_kv_char
-                +  encodeURIComponent( key_value )
-                ;
-          }
-
-          sub_key_name = '_' + key_name;
-          if ( anchor_map.hasOwnProperty( sub_key_name ) ) {
-            dep_map      = anchor_map[sub_key_name];
-            dep_kv_array = [];
-
-            if ( schema_map  ) {
-              schema_map_dep = schema_map[sub_key_name];
-              if ( ! schema_map_dep  ) {
-                throw getErrorReject(
-                  'Dependent key |' + sub_key_name
-                  + '| not authorized by anchor schema'
-                );
-              }
-            }
-            else {
-              schema_map_dep = null;
-            }
-
-            for ( dep_key_name in dep_map  ) {
-              if ( dep_map.hasOwnProperty( dep_key_name ) ) {
-                dep_key_value = dep_map[dep_key_name];
-                dep_class_name = getVarType( dep_key_value  );
-
-                if ( schema_map_dep  ) {
-                  schema_map_dep_val = schema_map_dep[dep_key_name];
-                  if ( getVarType( schema_map_dep_val ) === 'Object'
-                    && ! schema_map_dep_val[String( dep_key_value )]
-                  ) {
-                    throw getErrorReject(
-                      'Dependent key-value pair |'
-                      + dep_key_name + '|' + String( dep_key_value )
-                      + '| not authorized by anchor schema'
-                    );
-                  }
-                }
-
-                // Booleans, we skip false
-                if ( class_name === 'Boolean'  ) {
-                  if ( dep_key_value === true  ) {
-                    dep_kv_array.push( encodeURIComponent( dep_key_name ));
-                  }
-                }
-                // String and Number
-                else {
-                  dep_kv_array.push(
-                    encodeURIComponent( dep_key_name )
-                    + dep_kv_delimit_char
-                    + encodeURIComponent( dep_key_value )
-                  );
-                }
-              }
-            }
-            // append dependent arguments if there are any
-            if ( dep_kv_array.length > 0  ) {
-              output_kv_string
-                += sub_delimit_char + dep_kv_array.join( dep_delimit_char )
-              ;
-            }
-          }
-          key_val_array.push( output_kv_string );
-        }
-      }
-
-      return key_val_array.join( delimit_char );
-    };
-    // End utility /makeAnchorString/
-    //-------------------- END UTILITY METHODS -------------------
-
-    //------------------- BEGIN PUBLIC METHODS -------------------
-    // Begin public method /setAnchor/
-    // Purpose     :
-    //   Sets Anchor component of the URI from a Map
-    //   (The Anchor component is also known as the
-    //   'hash fragment' or 'bookmark component')
-    // Arguments  : positional -
-    //   * 1 ( anchor_map )   : The map to be encoded to the URI anchor
-    //   * 2 ( option_map )   : map of options
-    //   * 3 ( replace_flag )  : boolean flag to replace the URI
-    //     When true, the URI is replaced, which means the prior URI
-    //     is not entered into the browser history
-    // Environment : Expects the document.location browser object
-    // Settings    : none
-    // Returns     : boolean: true on success, false on failure
-    // Throws      : none
-    // Discussion  :
-    //
-    //  The first positional argument, anchor_map, may be a simple map:
-    //    $.uriAnchor.setAnchor({
-    //      page   : 'profile',
-    //      slider : 'confirm',
-    //      color  : 'red'
-    //    });
-    //
-    //  This changes the URI anchor to:
-    //     #!page=profile&slider=confirm&color=red
-    //
-    //  All these arguments are independent, that is, they can vary
-    //  independent of each other. We also support dependent values -
-    //  values that depend on others.
-    //
-    //  An independent argument key has no '_' prefix.  The same key name,
-    //  prefixed by an '_', holds the arguments that are dependent on
-    //  an independent argument.  The dependent key always points
-    //  to a map.  Consider:
-    //
-    //    $.uriAnchor.setAnchor({
-    //      page   : 'profile',
-    //      _page  : {
-    //        uname   : 'wendy',
-    //        online  : 'today'
-    //      }
-    //    });
-    //
-    //  This changes the URI Anchor to:
-    //    #!page=profile:uname,wendy|online,today
-    //
-    //  Only independent keys and their matching dependent keys are
-    //  processed.  All other keys are ignored.  Importantly, this includes
-    //  keys of the form _s_/key/ ( e.g. '_s_page' ) returned by makeAnchorMap
-    //
-    //  Setting a more complex anchor map is illustrated below:
-    //    $.uriAnchor.setAnchor({
-    //      page : 'profile',
-    //      _page : {
-    //        uname   : 'wendy',
-    //        online  : 'today'
-    //      },
-    //      slider  : 'confirm',
-    //      _slider : {
-    //       text   : 'hello',
-    //       pretty : false
-    //      },
-    //      color : 'red'
-    //    });
-    //
-    //  This sets the URI Anchor to:
-    //     #!page=profile:uname,wendy|online,today&slider=confirm:text,hello\
-    //       |pretty,false&color=red
-    //
-    //   Options: The second positional argument tp this method, option_map,
-    //   provides a number of options for delimiters:
-    //     * delimit_char     : delimiter independent args
-    //       Defaults to '&'
-    //     * delimit_kv_char  : delimiter key-value of independent args
-    //       Defaults to '='
-    //     * sub_delimit_char : delimiter independent and dependent args
-    //       Defaults to ':'
-    //     * dep_delimit_char : delimiter between key-value of dependent args
-    //       Defaults to '|'
-    //     * dep_kv_delimit_char : key-value delimiter for dependent args.
-    //       Defaults to ','
-    //
-    //   Boolean values ( as part of a key-value pair ) are convert into
-    //     the stings 'true' or 'false'.
-    //
-    //  Validation:
-    //
-    //  As of 1.0, the ability to optionally check the validity of the
-    //  Anchor against a schema has been included.  Since we don't expect
-    //  the allowable schema to change during run-time, we use a
-    //  module configuration to set the schema, like so:
-    //
-    //    $uriAnchor.configModule({
-    //      schema_map : {
-    //        page    : { profile : true, pdf : true },
-    //        _page   : {
-    //          uname   : true,
-    //          online  : { 'today','yesterday','earlier' }
-    //        },
-    //        slider  : { confirm : 'deny' },
-    //        _slider : { text : 'goodbye' },
-    //        color   : { red : true, green : true, blue : true }
-    //      }
-    //    });
-    //
-    //  This check occurs only during setting of the Anchor, not
-    //  during its parsing ( See makeAnchorMap )
-    //
-    //  The replace_flag instructs the routine to replace the uri,
-    //  discarding browser history
-    //
-    setAnchor = function ( anchor_map, option_map, replace_flag  ) {
-      var
-        anchor_string = makeAnchorString( anchor_map, option_map  ),
-        uri_array, uri_string
-        ;
-
-      uri_array = document.location.href.split( '#',2 );
-      uri_string = anchor_string
-        ? uri_array[0] + '#!' + anchor_string : uri_array[0]
-        ;
-
-      if ( replace_flag  ) {
-        if ( anchor_string  ) {
-          document.location.replace( uri_array[0] + '#!' + anchor_string );
-        }
-        else {
-          document.location.replace( uri_array[0] );
-        }
-        return true;
-      }
-      // we replace the full href so that jquery recognizes the uri
-      // change
-      document.location.href = uri_string;
-    };
-    // End public method /setAnchor/
-
-    // Begin public method /makeAnchorMap/
-    // Purpose     : Parses URI anchor and returns as map
-    // Arguments  : none
-    // Environment : Expects the document.location browser object
-    // Settings    : none
-    // Returns     : Map
-    // Throws      : none
-    //
-    // Discussion :
-    //   Parses the browser URI anchor into a map using the same
-    //   rules used to set the anchor in the method setAnchor
-    //   ( see above ).
-    //
-    //   This method creates an additional key type, _s_<indendent_arg>
-    //   for each independent argument with dependent arguments.
-    //
-    //   These keys point to a string representation of the independent
-    //   argument along with all its dependent arguments.
-    //
-    //   These values are ignored by setAnchor, but they are useful
-    //   for routines using setAnchor to check if a part of the anchor
-    //   has changed.
-    //
-    // Example:
-    //   If the browser URI Anchor looks like this:
-    //     #!page=profile:uname,wendy|online,true&slider=confirm:text,hello\
-    //     |pretty,false&color=red
-    //
-    //   Then calling $.uriAnchor.makeAnchorMap();
-    //   will return a map that looks like so:
-    //
-    //     { page : 'profile',
-    //       _page : {
-    //         uname   : 'wendy',
-    //         online  : 'today'
-    //       },
-    //       _s_page : 'profile:uname,wendy|online,today',
-    //       slider  : 'confirm',
-    //       _slider : {
-    //        text   : 'hello',
-    //        pretty : false
-    //       },
-    //       _s_slider : 'confirm:text,hello|pretty,false',
-    //       color : 'red'
-    //     };
-    //
-
-    makeAnchorMap = function () {
-      var
-        anchor_string = getCleanAnchorString(),
-        anchor_map, idx, keys_array, key_name, key_value, dep_array
-        ;
-
-      if ( anchor_string === ''  ) { return {}; }
-
-      // first pass decompose
-      anchor_map = parseStringToMap({
-        input_string     : anchor_string,
-        delimit_char     : '&',
-        delimit_kv_char  : '='
-      });
-
-      // extract keys to prevent run-away recursion when
-      // adding keys to anchor_map, below
-      keys_array = [];
-      for ( key_name in anchor_map  ) {
-        if ( anchor_map.hasOwnProperty( key_name ) ) {
-          keys_array.push( key_name );
-        }
-      }
-
-      for ( idx = 0; idx < keys_array.length; idx++  ) {
-        key_name  = keys_array[idx];
-        key_value = anchor_map[key_name];
-
-        if ( getVarType( key_value ) !== 'String' || key_name === ''
-        ) { continue; }
-
-        // include string representation with all dependent keys and values
-        anchor_map[ '_s_' + key_name ] = key_value;
-
-        dep_array = key_value.split( ':' );
-
-        if ( dep_array[1] && dep_array[1] !== '' ) {
-          anchor_map[key_name] = dep_array[0];
-
-          anchor_map[ '_' + key_name ] = parseStringToMap({
-            input_string    : dep_array[1],
-            delimit_char    : '|',
-            delimit_kv_char : ','
-          });
-        }
-      }
-      return anchor_map;
-    };
-    // End public method /makeAnchorMap/
-
-    // Begin public method /configModule/
-    // Set configuration options
-    configModule = function ( arg_map  ) {
-      var
-        settable_map = configMap.settable_map_key,
-        key_name, error
-        ;
-
-      for ( key_name in arg_map ) {
-        if ( arg_map.hasOwnProperty( key_name )) {
-          if ( settable_map.hasOwnProperty( key_name )) {
-            configMap[key_name] = arg_map[key_name];
-          }
-          else {
-            error         = new Error();
-            error.name    = 'Bad Input';
-            error.message = 'Setting config key |'
-              + key_name + '| is not supported';
-            throw error;
-          }
-        }
-      }
-    };
-    // End public method /configModule/
-
-    // return public methods
-    return {
-      configModule     : configModule,
-      getVarType       : getVarType,
-      makeAnchorMap   : makeAnchorMap,
-      makeAnchorString : makeAnchorString,
-      setAnchor        : setAnchor
-    };
-    //------------------- END PUBLIC METHODS ---------------------
-  }());
-} ( jQuery ));

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/scripts/blurconsole.b_utils.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/scripts/blurconsole.b_utils.js b/contrib/blur-console/ui/app/scripts/blurconsole.b_utils.js
deleted file mode 100644
index fc8d6ea..0000000
--- a/contrib/blur-console/ui/app/scripts/blurconsole.b_utils.js
+++ /dev/null
@@ -1,122 +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.
-*/
-/*global blurconsole:false */
-blurconsole.browserUtils = (function(){
-	'use strict';
-	var table, modal, cleanId, booleanImg;
-
-	table = function(def, data) {
-		var tableMarkup;
-
-		tableMarkup = '<table class="table table-bordered table-condensed table-hover table-striped"><thead><tr>';
-
-		// Add headers
-		$.each(def, function(idx, colDef){
-			tableMarkup += '<th>' + colDef.label + '</th>';
-		});
-
-		tableMarkup += '</tr></thead><tbody>';
-
-		// Add content
-		if (data && data.length > 0) {
-			$.each(data, function(ir, row){
-				tableMarkup += '<tr>';
-				$.each(def, function(ic, col) {
-					tableMarkup += '<td>';
-					if ($.isFunction(col.key)) {
-						tableMarkup += col.key(row);
-					} else {
-						tableMarkup += row[col.key];
-					}
-					tableMarkup += '</td>';
-				});
-				tableMarkup += '</tr>';
-			});
-		} else {
-			tableMarkup += '<tr><td colspan="' + def.length + '">There are no items here</td></tr>';
-		}
-
-		tableMarkup += '</tbody></table>';
-		return tableMarkup;
-	};
-
-	modal = function(id, title, content, buttons, size) {
-		var mSize, markup, mButtons = buttons;
-
-		switch(size) {
-		case 'large':
-			mSize = 'modal-lg';
-			break;
-		case 'medium':
-			mSize = 'modal-md';
-			break;
-		default:
-			mSize = 'modal-sm';
-		}
-
-		markup = '<div class="modal fade" id="' + id + '">';
-		markup += '<div class="modal-dialog ' + mSize + '">';
-		markup += '<div class="modal-content">';
-		markup += '<div class="modal-header"><button type="button" class="close" data-dismiss="modal">&times;</button><h4 class="modal-title">' + title + '</h4></div>';
-		markup += '<div class="modal-body">' + ($.type(content) === 'string' ? content : $(content).html()) + '</div>';
-
-		if (mButtons) {
-			if (!$.isArray(mButtons)) {
-				mButtons = [mButtons];
-			}
-
-			markup += '<div class="modal-footer">';
-			$.each(mButtons, function(i, button) {
-				markup += '<button type="button" class="btn ' + button.classes + '" id="' + button.id + '" ';
-
-				if (button.data) {
-					$.each(button.data, function(key, dataAttr) {
-						markup += 'data-' + key + '="' + dataAttr + '" ';
-					});
-				}
-				
-				markup += '>' + button.label + '</button> ';
-			});
-			markup += '</div>';
-		}
-
-		markup += '</div></div></div>';
-
-		return markup;
-	};
-
-	cleanId = function(str) {
-		return str.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
-	};
-
-	booleanImg = function(val) {
-		if (val && (val === true || val === 'yes' || val === 'true')) {
-			return '<div class="label label-success"><i class="glyphicon glyphicon-ok-sign"></i></div>';
-		}
-		return '<div class="label label-danger"><i class="glyphicon glyphicon-minus-sign"></i></div>';
-	};
-
-	return {
-		table: table,
-		modal : modal,
-		cleanId : cleanId,
-		booleanImg : booleanImg
-	};
-}());
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/scripts/blurconsole.dashboard.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/scripts/blurconsole.dashboard.js b/contrib/blur-console/ui/app/scripts/blurconsole.dashboard.js
deleted file mode 100644
index cff7ced..0000000
--- a/contrib/blur-console/ui/app/scripts/blurconsole.dashboard.js
+++ /dev/null
@@ -1,259 +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.
-*/
-
-/*
- * blurconsole.dashboard.js
- * Dashboard feature module for Blur Console
- */
-/*global blurconsole:false */
-blurconsole.dashboard = (function () {
-	'use strict';
-	var
-		configMap = {
-			view: 'views/dashboard.tpl.html',
-			pieOptions : {
-				series : {
-					pie : {
-						show : true,
-						radius : 1,
-						label : {
-							show : true,
-							radius : 2/3,
-							formatter : function(label, series) {
-								return '<div style="font-size:8pt;text-align:center;padding:2px;color:white">' + label + '<br/>' + Math.round(series.percent) + '% (' + series.data[0][1] + ')</div>';
-							},
-							threshold : 0.1
-						}
-					}
-				},
-				legend : {
-					show : false
-				},
-				title: 'Test title'
-			}
-		},
-		stateMap = {
-			$container : null,
-			zookeeperNodes: 'chart',
-			controllerNodes: 'chart'
-		},
-		jqueryMap = {},
-		setJqueryMap, initModule, unloadModule, updateNodeCharts, adjustChartSize,
-		loadZkPieChart,	loadControllerPieChart, loadShardsPieChart, loadTableColumnChart, loadQueryPerfLineChart,
-		buildNodeTable, checkForSlowQueries;
-
-	setJqueryMap = function() {
-		var $container = stateMap.$container;
-		jqueryMap = {
-			$container : $container,
-			$zkChartHolder : $('#zookeeperNodes'),
-			$zkInfoHolder : $('#zookeeperInfo'),
-			$controllerChartHolder : $('#controllerNodes'),
-			$controllerInfoHolder : $('#controllerInfo'),
-			$shardChartHolder : $('#shardNodes'),
-			$tableChartHolder : $('#tableCounts'),
-			$queryLoadChartHolder : $('#queryLoad')
-		};
-	};
-
-	unloadModule = function() {
-		$.gevent.unsubscribe(jqueryMap.$container, 'node-status-updated');
-		$.gevent.unsubscribe(jqueryMap.$container, 'tables-updated');
-		$.gevent.unsubscribe(jqueryMap.$container, 'query-perf-updated');
-		$.gevent.unsubscribe(jqueryMap.$container, 'queries-updated');
-	};
-
-	updateNodeCharts = function() {
-		if (blurconsole.model.nodes.isDataLoaded()) {
-			loadZkPieChart();
-			loadControllerPieChart();
-			loadShardsPieChart();
-		}
-	};
-
-	loadZkPieChart = function() {
-		$.plot(jqueryMap.$zkChartHolder, blurconsole.model.metrics.getZookeeperChartData(), configMap.pieOptions);
-		jqueryMap.$zkInfoHolder.html(buildNodeTable(blurconsole.model.nodes.getOfflineZookeeperNodes()));
-	};
-
-	loadControllerPieChart = function() {
-		$.plot(jqueryMap.$controllerChartHolder, blurconsole.model.metrics.getControllerChartData(), configMap.pieOptions);
-		jqueryMap.$controllerInfoHolder.html(buildNodeTable(blurconsole.model.nodes.getOfflineControllerNodes()));
-	};
-
-	loadShardsPieChart = function() {
-		if (jqueryMap.$shardChartHolder.find('img').length > 0) {
-			jqueryMap.$shardChartHolder.html('');
-		}
-
-		$.each(blurconsole.model.metrics.getClusters(), function(idx, cluster) {
-			var clusterData, clusterHolder, clusterInfo, parentSize;
-
-			clusterData = blurconsole.model.metrics.getShardChartData(cluster);
-
-			if (clusterData) {
-				clusterHolder = jqueryMap.$shardChartHolder.find('#cluster_' + cluster + '_chart_holder');
-				clusterInfo = jqueryMap.$shardChartHolder.find('#cluster_' + cluster + '_info');
-
-				if (clusterHolder.length === 0) {
-					var wrapper = $('<div></div>');
-					wrapper.append($('<div class="text-center"><strong>' + cluster + '</strong> <small class="text-muted"><i class="glyphicon glyphicon-retweet swapper-trigger" title="Swap Chart/Info"></i></small></div>'));
-					clusterHolder = $('<div id="cluster_'+ cluster + '_chart_holder" class="shardClusterChartHolder simple-chart swapper-chart"></div>');
-					wrapper.append(clusterHolder);
-					parentSize = jqueryMap.$shardChartHolder.parent()[0].clientWidth - 150;
-					clusterHolder.css({
-						'height' : parentSize,
-						'width' : parentSize
-					});
-					clusterInfo = $('<div id="cluster_' + cluster + '_info" class="swapper-info hidden"></div>');
-					wrapper.append(clusterInfo);
-
-					jqueryMap.$shardChartHolder.append(wrapper);
-				}
-
-				$.plot(clusterHolder, clusterData, configMap.pieOptions);
-				clusterInfo.html(buildNodeTable(blurconsole.model.nodes.getOfflineShardNodes(cluster)));
-			}
-		});
-	};
-
-	loadTableColumnChart = function() {
-		if (blurconsole.model.tables.isDataLoaded()) {
-			$.plot(jqueryMap.$tableChartHolder, blurconsole.model.metrics.getTableChartData(), {
-				bars : {
-					show : true,
-					barWidth : 0.6,
-					align : 'center'
-				},
-				yaxis : {
-					min : 0,
-					tickDecimals : 0
-				},
-				xaxis : {
-					mode : 'categories'
-				}
-			});
-		}
-	};
-
-	loadQueryPerfLineChart = function() {
-		$.plot(jqueryMap.$queryLoadChartHolder, blurconsole.model.metrics.getQueryLoadChartData(), {
-			series : {
-				shadowSize : 0
-			},
-			yaxis : {
-				min : 0
-			},
-			xaxis : {
-				show : false
-			}
-		});
-	};
-
-	buildNodeTable = function(data) {
-		var table = '<table class="table table-condensed"><thead><tr><th>Offline Node</th></tr></thead><tbody>';
-		if (data.length === 0) {
-			table += '<tr><td>Everything is Online!</td></tr>';
-		} else {
-			$.each(data, function(idx, node) {
-				table += '<tr><td>' + node + '</td></tr>';
-			});
-		}
-		table += '</tbody></table>';
-		return $(table);
-	};
-
-	adjustChartSize = function() {
-		var size, shardCharts;
-
-		size = jqueryMap.$zkChartHolder.parent()[0].clientWidth - 150;
-		jqueryMap.$zkChartHolder.css({
-			'height' : size,
-			'width' : size
-		});
-
-		size = jqueryMap.$controllerChartHolder.parent()[0].clientWidth - 150;
-		jqueryMap.$controllerChartHolder.css({
-			'height' : size,
-			'width' : size
-		});
-
-		size = jqueryMap.$shardChartHolder.parent()[0].clientWidth - 150;
-		shardCharts = jqueryMap.$shardChartHolder.find('.shardClusterChartHolder');
-		shardCharts.each(function(){
-			$(this).css({
-				'height' : size,
-				'width' : size
-			});
-		});
-
-		size = jqueryMap.$tableChartHolder.parent()[0].clientWidth - 150;
-		jqueryMap.$tableChartHolder.css({
-			'height' : size,
-			'width' : size
-		});
-
-		size = jqueryMap.$queryLoadChartHolder.parent()[0].clientWidth - 150;
-		jqueryMap.$queryLoadChartHolder.css({
-			'height' : size,
-			'width' : size
-		});
-	};
-
-	checkForSlowQueries = function() {
-		if (blurconsole.model.metrics.getSlowQueryWarnings()) {
-			$('#slow-query-warnings').removeClass('hidden');
-		} else {
-			$('#slow-query-warnings').addClass('hidden');
-		}
-	};
-
-	initModule = function( $container ) {
-		$container.load ( configMap.view, function() {
-			stateMap.$container = $container;
-			setJqueryMap();
-			updateNodeCharts();
-			loadTableColumnChart();
-			loadQueryPerfLineChart();
-			checkForSlowQueries();
-			$.gevent.subscribe(jqueryMap.$container, 'node-status-updated', updateNodeCharts);
-			$.gevent.subscribe(jqueryMap.$container, 'tables-updated', loadTableColumnChart);
-			$.gevent.subscribe(jqueryMap.$container, 'query-perf-updated', loadQueryPerfLineChart);
-			$.gevent.subscribe(jqueryMap.$container, 'queries-updated', checkForSlowQueries);
-			adjustChartSize();
-			$(document).on('click', '.swapper-trigger', function() {
-				var parent = $(this).closest('div:not(.text-center)');
-				var chart = parent.find('.swapper-chart');
-				var info = parent.find('.swapper-info');
-
-				chart.toggleClass('hidden');
-				info.toggleClass('hidden');
-			});
-			
-		});
-		$(window).resize(adjustChartSize);
-		return true;
-	};
-
-	return {
-		initModule   : initModule,
-		unloadModule : unloadModule
-	};
-}());
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/scripts/blurconsole.data.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/scripts/blurconsole.data.js b/contrib/blur-console/ui/app/scripts/blurconsole.data.js
deleted file mode 100644
index 441fb43..0000000
--- a/contrib/blur-console/ui/app/scripts/blurconsole.data.js
+++ /dev/null
@@ -1,23 +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.
-*/
-/*global blurconsole:false */
-blurconsole.data = (function() {
-	'use strict';
-}());
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/scripts/blurconsole.fake.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/scripts/blurconsole.fake.js b/contrib/blur-console/ui/app/scripts/blurconsole.fake.js
deleted file mode 100644
index aa85975..0000000
--- a/contrib/blur-console/ui/app/scripts/blurconsole.fake.js
+++ /dev/null
@@ -1,221 +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.
-*/
-/*global blurconsole:false */
-blurconsole.fake = (function() {
-	'use strict';
-	var getTableList, getNodeList, getQueryPerformance, getQueries, cancelQuery, disableTable, enableTable, deleteTable, getSchema, findTerms, sendSearch,
-		randomNumber, randomBoolean, randomString;
-
-	getTableList = function() {
-		console.log('getting fake table list');
-		var clusters = ['prodA', 'prodB'], data = [], i, cluster, rows, records, enabled;
-
-		for (i = 0; i < 5; i++) {
-			cluster = clusters[randomNumber(2, true)];
-			rows = randomNumber(1000);
-			records = randomNumber(10000)+1000;
-			enabled = randomBoolean();
-
-			data.push({cluster:cluster, name:'testtable'+i, enabled:enabled, rows:rows, records:records, families: blurconsole.utils.keys(getSchema('testtable'+i))});
-
-		}
-		return data;
-	};
-
-	getNodeList = function() {
-		console.log('getting fake node list');
-		var controllers = {online:[], offline:[]},
-			clusters = [{name:'prodA', online:[], offline:[]}, {name:'prodB', online:[], offline:[]}],
-			zookeepers = {online: [], offline:[]},
-			i, state;
-
-		for(i = 0; i < 3; i++) {
-			state = randomBoolean();
-			if (state) {
-				controllers.online.push('controller' + i + '.localhost');
-				clusters[0].online.push('prodA.shard' + i + '.localhost');
-				clusters[1].online.push('prodB.shard' + i + '.localhost');
-				zookeepers.online.push('zookeeper' + i + '.localhost');
-			} else {
-				controllers.offline.push('controller' + i + '.localhost');
-				clusters[0].offline.push('prodA.shard' + i + '.localhost');
-				clusters[1].offline.push('prodB.shard' + i + '.localhost');
-				zookeepers.offline.push('zookeeper' + i + '.localhost');
-			}
-		}
-		return {controllers: controllers, clusters: clusters, zookeepers: zookeepers};
-	};
-
-	getQueryPerformance = function() {
-		console.log('getting fake query performance');
-		return randomNumber(1000);
-	};
-
-	getQueries = function() {
-		console.log('getting fake queries');
-		var queries = [];
-
-		for (var i=0; i < randomNumber(50); i++) {
-			queries.push({
-				uuid: randomString(),
-				user: 'user_' + randomNumber(10, true),
-				query: randomString(),
-				table: 'testtable' + randomNumber(5, true),
-				state: randomNumber(3, true),
-				percent: randomNumber(100, true),
-				startTime: new Date()
-			});
-		}
-
-		return {
-			slowQueries : randomNumber(100) % 10 === 0,
-			queries : queries
-		};
-	};
-
-	cancelQuery = function(uuid) {
-		console.log('Fake sending request to cancel query [' + uuid + ']');
-	};
-
-	disableTable = function(table) {
-		console.log('Fake sending request to disable table [' + table + ']');
-	};
-
-	enableTable = function(table) {
-		console.log('Fake sending request to enable table [' + table + ']');
-	};
-
-	deleteTable = function(table, includeFiles) {
-		console.log('Fake sending request to delete table [' + table + '] with files [' + includeFiles + ']');
-	};
-
-	getSchema = function(table) {
-		console.log('getting fake schema for table [' + table + ']');
-		var f, schema = {}, familyCount = randomNumber(20), types = ['string', 'long', 'int', 'date', 'stored', 'customType'];
-
-		for(f=0; f < familyCount; f++) {
-			var c, fam = {}, columnCount = randomNumber(30);
-			for(c=0; c < columnCount; c++) {
-				fam['col'+c] = {
-					'fieldLess' : randomBoolean(),
-					'type' : types[randomNumber(6, true)],
-					'extra' : null
-				};
-
-				if (randomBoolean()) {
-					var e, extraPropCount = randomNumber(3), props = {};
-					for (e=0; e < extraPropCount; e++) {
-						props['extra'+e] = 'val'+e;
-					}
-					fam['col'+c].extra = props;
-				}
-			}
-			schema['fam'+f] = fam;
-		}
-
-		return schema;
-	};
-
-	findTerms = function(table, family, column, startsWith, callback) {
-		console.log('getting fake terms from [' + table + '] for family [' + family + '] and column [' + column + '] starting with [' + startsWith + ']');
-
-		var terms = [];
-
-		for (var i = 0; i < 10; i++) {
-			var randStr = randomString();
-			if (startsWith) {
-				randStr = startsWith + randStr;
-			}
-			terms.push(randStr);
-		}
-
-		terms = terms.sort(function (a, b) {
-			return a.toLowerCase().localeCompare(b.toLowerCase());
-		});
-
-		callback(terms);
-	};
-
-	sendSearch = function(query, table, args, callback) {
-		console.log('sending fake search [' + query + '] on table [' + table + ']');
-
-		var fams = args.families, results = {}, total = randomNumber(1000);
-
-		$.each(fams, function(i, fam){
-			var cols = randomNumber(30, true), toFetch = args.fetch;
-			if (total - args.start < toFetch) {
-				toFetch = total - args.start;
-			}
-			results[fam] = [];
-			for (var r = 0; r < randomNumber(toFetch); r++) {
-				var row = {};
-				for (var c=0; c < cols; c++) {
-					row['col'+c] = randomString();
-				}
-				results[fam].push(row);
-			}
-		});
-
-		callback({
-			families: args.families,
-			results: results,
-			total: total
-		});
-	};
-
-	randomNumber = function(max, includeZero) {
-		var random = Math.random()*max;
-
-		if (!includeZero) {
-			random++;
-		}
-
-		return Math.floor(random);
-	};
-
-	randomBoolean = function() {
-		return randomNumber(2) % 2 === 0;
-	};
-
-	randomString = function() {
-		var text = '';
-		var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
-
-		for( var i=0; i < Math.floor(Math.random() * 30 + 1); i++ ) {
-			text += possible.charAt(Math.floor(Math.random() * possible.length));
-		}
-
-		return text;
-	};
-
-	return {
-		getTableList : getTableList,
-		getNodeList : getNodeList,
-		getQueryPerformance : getQueryPerformance,
-		getQueries : getQueries,
-		cancelQuery : cancelQuery,
-		disableTable : disableTable,
-		enableTable : enableTable,
-		deleteTable : deleteTable,
-		getSchema : getSchema,
-		findTerms : findTerms,
-		sendSearch : sendSearch
-	};
-}());
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/scripts/blurconsole.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/scripts/blurconsole.js b/contrib/blur-console/ui/app/scripts/blurconsole.js
deleted file mode 100644
index ccbedec..0000000
--- a/contrib/blur-console/ui/app/scripts/blurconsole.js
+++ /dev/null
@@ -1,33 +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.
-*/
-
-/*
- * blur.js
- * Root namespace module
- */
-var blurconsole = (function () {
-	'use strict';
-	var initModule = function ( $container ) {
-		blurconsole.model.initModule();
-		blurconsole.shell.initModule( $container );
-	};
-
-	return { initModule: initModule };
-}());
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/scripts/blurconsole.model.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/scripts/blurconsole.model.js b/contrib/blur-console/ui/app/scripts/blurconsole.model.js
deleted file mode 100644
index c79900e..0000000
--- a/contrib/blur-console/ui/app/scripts/blurconsole.model.js
+++ /dev/null
@@ -1,484 +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.
-*/
-/*global blurconsole:false */
-blurconsole.model = (function() {
-	'use strict';
-	var
-		configMap = {
-			poller : null
-		},
-		stateMap = {
-			tableNameMap: null,
-			nodeMap : null,
-			queryPerformance : [],
-			queries : {}
-		},
-		isFakeData = true,
-		tables, metrics, nodes, queries, search, initModule, nodePoller, tablePoller, queryPerformancePoller, queryPoller;
-
-	tables = (function() {
-		var getClusters, getEnabledTables, getDisabledTables, isDataLoaded, disableTable, enableTable, deleteTable, getSchema, findTerms, getAllEnabledTables, getFamilies;
-
-		getClusters = function() {
-			if (stateMap.tableNameMap === null) {
-				return [];
-			}
-
-			return blurconsole.utils.unique($.map(stateMap.tableNameMap, function(table){
-				return table.cluster;
-			}), true);
-		};
-
-		getEnabledTables = function(cluster) {
-			var data = [];
-
-			$.each(stateMap.tableNameMap, function(idx, table) {
-				if (table.cluster === cluster && table.enabled) {
-					data.push({name:table.name, rowCount:table.rows, recordCount:table.records});
-				}
-			});
-
-			return data;
-		};
-
-		getDisabledTables = function(cluster) {
-			var data = [];
-
-			$.each(stateMap.tableNameMap, function(idx, table) {
-				if (table.cluster === cluster && !table.enabled) {
-					data.push({name:table.name, rowCount:table.rows, recordCount:table.records});
-				}
-			});
-
-			return data;
-		};
-
-		getAllEnabledTables = function() {
-			var tableMap = {};
-
-			$.each(getClusters(), function(c, cluster){
-				tableMap[cluster] = getEnabledTables(cluster);
-			});
-
-			return tableMap;
-		};
-
-		isDataLoaded = function() {
-			return stateMap.tableNameMap !== null;
-		};
-
-		disableTable = function(tableName) {
-			configMap.poller.disableTable(tableName);
-		};
-
-		enableTable = function(tableName) {
-			configMap.poller.enableTable(tableName);
-		};
-
-		deleteTable = function(tableName, includeFiles) {
-			configMap.poller.deleteTable(tableName, includeFiles);
-		};
-
-		getSchema = function(tableName) {
-			return configMap.poller.getSchema(tableName);
-		};
-
-		getFamilies = function(tableName) {
-			var table;
-
-			$.each(stateMap.tableNameMap, function(idx, t) {
-				if (t.name === tableName) {
-					table = t;
-					return false;
-				}
-			});
-
-			return table.families;
-		};
-
-		findTerms = function(table, family, column, startsWith) {
-			configMap.poller.findTerms(table, family, column, startsWith, function(terms) {
-				$.gevent.publish('terms-updated', terms);
-			});
-		};
-
-		return {
-			getClusters : getClusters,
-			getEnabledTables : getEnabledTables,
-			getDisabledTables : getDisabledTables,
-			isDataLoaded : isDataLoaded,
-			disableTable : disableTable,
-			enableTable : enableTable,
-			deleteTable : deleteTable,
-			getSchema : getSchema,
-			findTerms : findTerms,
-			getAllEnabledTables : getAllEnabledTables,
-			getFamilies : getFamilies
-		};
-	}());
-
-	nodes = (function() {
-		var getOfflineZookeeperNodes, getOfflineControllerNodes, getOfflineShardNodes, isDataLoaded;
-
-		getOfflineZookeeperNodes = function() {
-			return stateMap.nodeMap.zookeepers.offline;
-		};
-
-		getOfflineControllerNodes = function() {
-			return stateMap.nodeMap.controllers.offline;
-		};
-
-		getOfflineShardNodes = function(clusterName) {
-			var clusterData = $.grep(stateMap.nodeMap.clusters, function(cluster) {
-				return cluster.name === clusterName;
-			});
-
-			if (clusterData.length > 0) {
-				return clusterData[0].offline;
-			}
-			return [];
-		};
-
-		isDataLoaded = function() {
-			return stateMap.nodeMap !== null;
-		};
-
-		return {
-			getOfflineZookeeperNodes : getOfflineZookeeperNodes,
-			getOfflineControllerNodes : getOfflineControllerNodes,
-			getOfflineShardNodes : getOfflineShardNodes,
-			isDataLoaded : isDataLoaded
-		};
-	}());
-
-	metrics = (function() {
-		var getZookeeperChartData, getControllerChartData, getClusters, getShardChartData, getTableChartData,
-			getQueryLoadChartData, buildPieChartData, getSlowQueryWarnings;
-
-		getZookeeperChartData = function() {
-			return buildPieChartData(stateMap.nodeMap.zookeepers.online.length, stateMap.nodeMap.zookeepers.offline.length);
-		};
-
-		getControllerChartData = function() {
-			return buildPieChartData(stateMap.nodeMap.controllers.online.length, stateMap.nodeMap.controllers.offline.length);
-		};
-
-		getClusters = function() {
-			return $.map(stateMap.nodeMap.clusters, function(cluster) {
-				return cluster.name;
-			});
-		};
-
-		getShardChartData = function(clusterName) {
-			var clusterData = $.grep(stateMap.nodeMap.clusters, function(cluster) {
-				return cluster.name === clusterName;
-			});
-
-			if (clusterData.length > 0) {
-				return buildPieChartData(clusterData[0].online.length, clusterData[0].offline.length);
-			}
-			return null;
-		};
-
-		getTableChartData = function() {
-			var enabledData = blurconsole.utils.reduce(stateMap.tableNameMap, [], function(accumulator, table){
-				var currentCluster = $.grep(accumulator, function(item){
-					return item[0] === table.cluster;
-				});
-
-				if (currentCluster.length === 0) {
-					currentCluster = [table.cluster, 0];
-					accumulator.push(currentCluster);
-				} else {
-					currentCluster = currentCluster[0];
-				}
-
-				if (table.enabled) {
-					currentCluster[1] = currentCluster[1]+1;
-				}
-				return accumulator;
-			});
-
-			var disabledData = blurconsole.utils.reduce(stateMap.tableNameMap, [], function(accumulator, table){
-				var currentCluster = $.grep(accumulator, function(item){
-					return item[0] === table.cluster;
-				});
-
-				if (currentCluster.length === 0) {
-					currentCluster = [table.cluster, 0];
-					accumulator.push(currentCluster);
-				} else {
-					currentCluster = currentCluster[0];
-				}
-
-				if (!table.enabled) {
-					currentCluster[1] = currentCluster[1]+1;
-				}
-				return accumulator;
-			});
-
-			return [
-				{
-					'data' : enabledData,
-					'label' : 'Enabled',
-					'color' : '#66CDCC',
-					'stack' : true
-				},
-				{
-					'data' : disabledData,
-					'label' : 'Disabled',
-					'color' : '#333333',
-					'stack' : true
-				}
-			];
-		};
-
-		getQueryLoadChartData = function() {
-			var total = 0,
-				queryArray = [],
-				meanArray = [],
-				queryData, mean;
-
-			queryData = stateMap.queryPerformance;
-
-			$.each(queryData, function(idx, increment) {
-				total += increment;
-			});
-
-			mean = queryData.length === 0 ? 0 : total/queryData.length;
-
-			$.each(queryData, function(idx, increment) {
-				queryArray.push([idx, increment]);
-				meanArray.push([idx, mean]);
-			});
-
-			return [queryArray, meanArray];
-		};
-
-		buildPieChartData = function(onlineCount, offlineCount) {
-			var onlineChart = {
-				'label':'Online',
-				'color':'#66CDCC',
-				'data':[[0,onlineCount]]
-			};
-
-			var offlineChart = {
-				'label':'Offline',
-				'color':'#FF1919',
-				'data':[[0,offlineCount]]
-			};
-
-			return [onlineChart, offlineChart];
-		};
-
-		getSlowQueryWarnings = function() {
-			return stateMap.queries.slowQueries;
-		};
-
-		return {
-			getZookeeperChartData : getZookeeperChartData,
-			getControllerChartData : getControllerChartData,
-			getClusters : getClusters,
-			getShardChartData : getShardChartData,
-			getTableChartData : getTableChartData,
-			getQueryLoadChartData : getQueryLoadChartData,
-			getSlowQueryWarnings : getSlowQueryWarnings
-		};
-	}());
-
-	queries = (function() {
-		var queriesForTable, cancelQuery, tableHasActivity, matchesFilter,
-			states = ['running', 'interrupted', 'complete', 'backpressureinterrupted'];
-
-		queriesForTable = function(table, sort, filter) {
-			var queries = [], qSort, sortField, sortDir;
-
-			qSort = (sort || 'startTime~desc').split('~');
-			sortField = qSort[0];
-			sortDir = qSort.length > 1 ? qSort[1] : 'asc';
-
-			$.each(stateMap.queries.queries, function(i, query){
-				if (query.table === table && matchesFilter(query, filter)) {
-					queries.push(query);
-				}
-			});
-
-			queries.sort(function(a, b){
-				if (sortDir === 'asc') {
-					return a[sortField] > b[sortField];
-				} else {
-					return b[sortField] > b[sortField];
-				}
-			});
-
-			return queries;
-		};
-
-		cancelQuery = function(uuid) {
-			configMap.poller.cancelQuery(uuid);
-		};
-
-		tableHasActivity = function(table) {
-			var hasActivity = false;
-			$.each(stateMap.queries.queries, function(i, query){
-				if (query.table === table) {
-					hasActivity = true;
-					return false;
-				}
-			});
-			return hasActivity;
-		};
-
-		matchesFilter = function(queryData, filterText) {
-			var queryStr = queryData.user + '~~~' + queryData.query + '~~~' + states[queryData.state];
-
-			if (filterText === null || filterText === '') {
-				return true;
-			}
-
-			return queryStr.toLowerCase().indexOf(filterText.toLowerCase()) !== -1;
-		};
-
-		return {
-			queriesForTable : queriesForTable,
-			cancelQuery : cancelQuery,
-			tableHasActivity : tableHasActivity
-		};
-	}());
-
-	search = (function() {
-		var results = {}, totalRecords = 0, currentQuery, currentTable, currentArgs = {start: 0, fetch: 10, rowRecordOption: 'rowrow', families: null},
-			runSearch, getResults, getFamilies, loadMoreResults, getTotal,
-			sendSearch, processResults;
-
-		runSearch = function( query, table, searchArgs ) {
-			var parsedFamilies = blurconsole.utils.findFamilies(query);
-
-			currentQuery = query;
-			currentTable = table;
-			currentArgs = $.extend(currentArgs, searchArgs);
-			if (parsedFamilies.length > 0) {
-				currentArgs.families = parsedFamilies;
-			}
-			results = {};
-			sendSearch();
-		};
-
-		getResults = function() {
-			return results;
-		};
-
-		getTotal = function() {
-			return totalRecords;
-		};
-
-		loadMoreResults = function(family) {
-			var alreadyLoadedResults = results[family];
-
-			currentArgs.start = alreadyLoadedResults ? alreadyLoadedResults.length : 0;
-			currentArgs.fetch = 10;
-			currentArgs.families = [family];
-			sendSearch();
-		};
-
-		sendSearch = function() {
-			configMap.poller.sendSearch(currentQuery, currentTable, currentArgs, processResults);
-		};
-
-		processResults = function(data) {
-			var dataFamilies, dataResults;
-
-			dataFamilies = data.families;
-			dataResults = data.results;
-			totalRecords = data.total;
-
-			if (typeof dataResults !== 'undefined' && dataResults !== null) {
-				$.each(dataResults, function(family, resultList){
-					var tmpList = results[family] || [];
-					results[family] = tmpList.concat(resultList);
-				});
-			}
-			$.gevent.publish('results-updated', [dataFamilies]);
-		};
-
-		return {
-			runSearch: runSearch,
-			getResults: getResults,
-			getFamilies: getFamilies,
-			loadMoreResults: loadMoreResults,
-			getTotal: getTotal
-		};
-	}());
-
-	nodePoller = function() {
-		var tmpNodeMap = configMap.poller.getNodeList();
-		if (!blurconsole.utils.equals(tmpNodeMap, stateMap.nodeMap)) {
-			stateMap.nodeMap = tmpNodeMap;
-			$.gevent.publish('node-status-updated');
-		}
-		setTimeout(nodePoller, 5000);
-	};
-
-	tablePoller = function() {
-		var tmpTableMap = configMap.poller.getTableList();
-		if (!blurconsole.utils.equals(tmpTableMap, stateMap.tableNameMap)) {
-			stateMap.tableNameMap = tmpTableMap;
-			$.gevent.publish('tables-updated');
-		}
-		setTimeout(tablePoller, 5000);
-	};
-
-	queryPerformancePoller = function() {
-		if (stateMap.queryPerformance.length === 100) {
-			stateMap.queryPerformance.shift();
-		}
-
-		stateMap.queryPerformance.push(configMap.poller.getQueryPerformance());
-		$.gevent.publish('query-perf-updated');
-		setTimeout(queryPerformancePoller, 5000);
-	};
-
-	queryPoller = function() {
-		var tmpQueries = configMap.poller.getQueries();
-		if (!blurconsole.utils.equals(tmpQueries, stateMap.queries)) {
-			stateMap.queries = tmpQueries;
-			$.gevent.publish('queries-updated');
-		}
-		setTimeout(queryPoller, 5000);
-	};
-
-	initModule = function() {
-		configMap.poller = isFakeData ? blurconsole.fake : blurconsole.data;
-		setTimeout(function() {
-			nodePoller();
-			tablePoller();
-			queryPerformancePoller();
-			queryPoller();
-		}, 1000);
-	};
-	return {
-		initModule : initModule,
-		tables : tables,
-		metrics: metrics,
-		nodes : nodes,
-		queries : queries,
-		search : search
-	};
-}());
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d276fd61/contrib/blur-console/ui/app/scripts/blurconsole.queries.js
----------------------------------------------------------------------
diff --git a/contrib/blur-console/ui/app/scripts/blurconsole.queries.js b/contrib/blur-console/ui/app/scripts/blurconsole.queries.js
deleted file mode 100644
index ce0298c..0000000
--- a/contrib/blur-console/ui/app/scripts/blurconsole.queries.js
+++ /dev/null
@@ -1,177 +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.
-*/
-/*jshint laxbreak: true */
-/*global blurconsole:false */
-blurconsole.queries = (function () {
-	'use strict';
-	var configMap = {
-		view : 'views/queries.tpl.html',
-		states : ['Running', 'Interrupted', 'Complete', 'Back Pressure Interrupted'],
-		queryDef : [
-			{label:'User', key:'user'},
-			{label:'Query', key: 'query'},
-			{label:'Time Started', key: 'startTime'},
-			{label:'State', key: function(row) {
-				var stateInfo = configMap.states[row.state];
-
-				if (row.state === 0) {
-					stateInfo += ' <div class="badge badge-info">' + row.percent + '%</div>';
-				}
-				return stateInfo;
-			}},
-			{label:'Actions', key: function(row) {
-				var actions = '';
-				if (row.state === 0) {
-					actions += '<a href="#" class="cancelTrigger btn btn-danger" data-uuid="' + row.uuid + '" data-query="' + row.query + '"><i class="glyphicon glyphicon-ban-circle"></i> Cancel</a> ';
-				}
-				return actions;
-			}}
-		],
-	},
-	stateMap = {
-		$container : null,
-		currentTable : null,
-		currentFilter : null,
-		currentSort : null
-	},
-	jqueryMap = {},
-	setJqueryMap, initModule, unloadModule, drawTableList, drawQueries, registerPageEvents, unregisterPageEvents;
-
-	setJqueryMap = function() {
-		var $container = stateMap.$container;
-		jqueryMap = {
-			$container : $container,
-			$tableHolder : $('#tableHolder'),
-			$queryHolder : $('#queryHolder'),
-			$filterHolder : $('#filterOptions'),
-			$filterText : $('#filterOptions .filterText')
-		};
-	};
-
-	registerPageEvents = function() {
-		jqueryMap.$tableHolder.on('click', '.list-group-item', function(){
-			stateMap.currentTable = $(this).attr('href');
-
-			$('.list-group-item', jqueryMap.$tableHolder).removeClass('active');
-			$('.list-group-item[href="' + stateMap.currentTable + '"]', jqueryMap.$tableHolder).addClass('active');
-			drawQueries();
-			return false;
-		});
-		jqueryMap.$queryHolder.on('click', 'a.cancelTrigger', function(){
-			var uuid = $(this).data('uuid'), query = $(this).data('query');
-			var modalContent = blurconsole.browserUtils.modal('confirmDelete', 'Confirm Query Cancel', 'You are about to cancel the query [' + query + '].  Are you sure you want to do this?', [
-				{classes: 'btn-primary killQuery', label: 'Stop Query'},
-				{classes: 'btn-default cancel', label: 'Cancel', data: {dismiss:'modal'}}
-			], 'medium');
-
-			var modal = $(modalContent).modal().on('shown.bs.modal', function(e){
-				$(e.currentTarget).on('click', '.killQuery', function() {
-					blurconsole.model.queries.cancelQuery(uuid);
-					modal.modal('hide');
-				});
-			}).on('hidden.bs.modal', function(e) {
-				$(e.currentTarget).remove();
-			});
-			return false;
-		});
-
-		jqueryMap.$filterHolder.on('click', '.filterTrigger', function() {
-			var filterVal = jqueryMap.$filterText.val();
-
-			stateMap.currentFilter = filterVal;
-			drawQueries();
-		});
-	};
-
-	unregisterPageEvents = function() {
-		if (jqueryMap.$tableHolder) {
-			jqueryMap.$tableHolder.off();
-		}
-	};
-
-	drawTableList = function() {
-		var clusters = blurconsole.model.tables.getClusters();
-
-		if (clusters) {
-			jqueryMap.$tableHolder.html('');
-			clusters.sort();
-			$.each(clusters, function(i, cluster){
-				var panelContent, tables = blurconsole.model.tables.getEnabledTables(cluster);
-
-				panelContent =
-					'<div class="panel panel-default">'
-						+ '<div class="panel-heading">'
-							+ '<h3 class="panel-title">' + cluster + '</h3>'
-						+ '</div>'
-						+ '<div class="panel-body">';
-				if (tables.length > 0) {
-					tables.sort(function(a, b){ return a.name > b.name; });
-					panelContent += '<div class="list-group">';
-
-					$.each(tables, function(i, table){
-						panelContent += '<a href="' + table.name + '" class="list-group-item';
-						if (table.name === stateMap.currentTable) {
-							panelContent += ' active';
-							drawQueries();
-						}
-						panelContent += '">' + table.name + '</a>';
-					});
-
-					panelContent += '</div>';
-				} else {
-					panelContent += '<div class="alert alert-warning">There are not any enabled tables!</div>';
-				}
-				panelContent += '</div></div>';
-				jqueryMap.$tableHolder.append(panelContent);
-			});
-		} else {
-			jqueryMap.$tableHolder.html('<div class="alert alert-warning">There are no clusters of tables!</div>');
-		}
-	};
-
-	drawQueries = function() {
-		if (stateMap.currentTable){
-			jqueryMap.$queryHolder.html(blurconsole.browserUtils.table(configMap.queryDef, blurconsole.model.queries.queriesForTable(stateMap.currentTable, stateMap.currentSort, stateMap.currentFilter)));
-		} else {
-			jqueryMap.$queryHolder.html('<div class="alert alert-info">Select a table on the left to see the current queries</div>');
-		}
-	};
-
-	initModule = function($container) {
-		$container.load(configMap.view, function() {
-			stateMap.$container = $container;
-			setJqueryMap();
-			$.gevent.subscribe(jqueryMap.$container, 'queries-updated', drawQueries);
-			$.gevent.subscribe(jqueryMap.$container, 'tables-updated', drawTableList);
-			registerPageEvents();
-		});
-		return true;
-	};
-
-	unloadModule = function() {
-		$.gevent.unsubscribe(jqueryMap.$container, 'queries-updated');
-		$.gevent.unsubscribe(jqueryMap.$container, 'tables-updated');
-		unregisterPageEvents();
-	};
-
-	return {
-		initModule : initModule,
-		unloadModule : unloadModule
-	};
-}());
\ No newline at end of file


Mime
View raw message