You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ol...@apache.org on 2016/04/11 18:15:05 UTC

[51/51] [partial] ambari git commit: AMBARI-15679. Initial commit for LogSearch module (oleewre)

AMBARI-15679. Initial commit for LogSearch module (oleewre)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/39c85bb8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/39c85bb8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/39c85bb8

Branch: refs/heads/trunk
Commit: 39c85bb8253def4c3c0d694a989ab07b2232ffff
Parents: dcca89d
Author: oleewere <ol...@gmail.com>
Authored: Sat Apr 9 11:27:32 2016 +0200
Committer: oleewere <ol...@gmail.com>
Committed: Mon Apr 11 16:45:36 2016 +0200

----------------------------------------------------------------------
 ambari-logsearch/README.md                      |    16 +
 .../ambari-logsearch-appender/.gitignore        |     2 +
 .../ambari-logsearch-appender/build.properties  |    13 +
 .../ambari-logsearch-appender/build.xml         |    40 +
 .../ambari-logsearch-appender/pom.xml           |    84 +
 .../logsearch/appender/LogsearchAppender.java   |    50 +
 .../logsearch/appender/LogsearchConversion.java |    73 +
 .../apache/ambari/logsearch/appender/VBase.java |    63 +
 .../ambari/logsearch/appender/VOutput.java      |    88 +
 .../ambari/logsearch/appender/AppTest.java      |    41 +
 .../src/test/resources/log4j.properties         |    23 +
 .../ambari-logsearch-assembly/pom.xml           |   510 +
 .../src/main/package/deb/appender/control       |    21 +
 .../src/main/package/deb/appender/postinst      |    15 +
 .../src/main/package/deb/appender/postrm        |    15 +
 .../src/main/package/deb/appender/posttrm       |    15 +
 .../src/main/package/deb/appender/preinst       |    15 +
 .../src/main/package/deb/appender/prerm         |    15 +
 .../src/main/package/deb/logfeeder/control      |    21 +
 .../src/main/package/deb/logfeeder/postinst     |    15 +
 .../src/main/package/deb/logfeeder/postrm       |    15 +
 .../src/main/package/deb/logfeeder/posttrm      |    15 +
 .../src/main/package/deb/logfeeder/preinst      |    15 +
 .../src/main/package/deb/logfeeder/prerm        |    15 +
 .../src/main/package/deb/portal/control         |    22 +
 .../src/main/package/deb/portal/postinst        |    15 +
 .../src/main/package/deb/portal/postrm          |    15 +
 .../src/main/package/deb/portal/preinst         |    15 +
 .../src/main/package/deb/portal/prerm           |    15 +
 .../src/main/package/deb/solr/control           |    22 +
 .../src/main/package/deb/solr/postinst          |    15 +
 .../src/main/package/deb/solr/postrm            |    15 +
 .../src/main/package/deb/solr/preinst           |    15 +
 .../src/main/package/deb/solr/prerm             |    15 +
 .../ambari-logsearch-logfeeder/README.md        |    36 +
 .../ambari-logsearch-logfeeder/build.properties |    18 +
 .../ambari-logsearch-logfeeder/build.xml        |    60 +
 .../ambari-logsearch-logfeeder/pom.xml          |   201 +
 .../ambari-logsearch-logfeeder/run.sh           |    19 +
 .../org/apache/ambari/logfeeder/AliasUtil.java  |   110 +
 .../apache/ambari/logfeeder/ConfigBlock.java    |   262 +
 .../org/apache/ambari/logfeeder/InputMgr.java   |   545 +
 .../org/apache/ambari/logfeeder/LogFeeder.java  |   570 +
 .../ambari/logfeeder/LogFeederAMSClient.java    |    74 +
 .../apache/ambari/logfeeder/LogFeederUtil.java  |   480 +
 .../apache/ambari/logfeeder/MetricCount.java    |    33 +
 .../org/apache/ambari/logfeeder/MetricsMgr.java |   185 +
 .../org/apache/ambari/logfeeder/MurmurHash.java |   163 +
 .../org/apache/ambari/logfeeder/OutputMgr.java  |   272 +
 .../apache/ambari/logfeeder/filter/Filter.java  |   223 +
 .../ambari/logfeeder/filter/FilterGrok.java     |   351 +
 .../ambari/logfeeder/filter/FilterKeyValue.java |   132 +
 .../ambari/logfeeder/filter/JSONFilterCode.java |    49 +
 .../apache/ambari/logfeeder/input/Input.java    |   321 +
 .../ambari/logfeeder/input/InputFile.java       |   562 +
 .../ambari/logfeeder/input/InputMarker.java     |    39 +
 .../logfeeder/input/reader/GZIPReader.java      |    81 +
 .../input/reader/LogsearchReaderFactory.java    |    48 +
 .../logconfig/FetchConfigFromSolr.java          |   171 +
 .../logfeeder/logconfig/LogFeederConstants.java |    39 +
 .../logfeeder/logconfig/LogfeederScheduler.java |    58 +
 .../logconfig/filter/ApplyLogFilter.java        |    60 +
 .../logconfig/filter/DefaultDataFilter.java     |    56 +
 .../logconfig/filter/FilterLogData.java         |    53 +
 .../apache/ambari/logfeeder/mapper/Mapper.java  |    52 +
 .../ambari/logfeeder/mapper/MapperDate.java     |    99 +
 .../logfeeder/mapper/MapperFieldName.java       |    72 +
 .../logfeeder/mapper/MapperFieldValue.java      |    76 +
 .../apache/ambari/logfeeder/output/Output.java  |   119 +
 .../ambari/logfeeder/output/OutputData.java     |    48 +
 .../ambari/logfeeder/output/OutputFile.java     |   138 +
 .../ambari/logfeeder/output/OutputKafka.java    |   313 +
 .../ambari/logfeeder/output/OutputSolr.java     |   475 +
 .../apache/ambari/logfeeder/util/SolrUtil.java  |   202 +
 .../ambari/logfeeder/view/VLogfeederFilter.java |    90 +
 .../logfeeder/view/VLogfeederFilterWrapper.java |    55 +
 .../timeline/AbstractTimelineMetricsSink.java   |    95 +
 .../metrics2/sink/timeline/Precision.java       |    79 +
 .../PrecisionLimitExceededException.java        |    36 +
 .../timeline/SingleValuedTimelineMetric.java    |   107 +
 .../metrics2/sink/timeline/TimelineMetric.java  |   188 +
 .../metrics2/sink/timeline/TimelineMetrics.java |   123 +
 .../sink/timeline/UnableToConnectException.java |    46 +
 .../timeline/cache/TimelineMetricsCache.java    |   175 +
 .../timeline/configuration/Configuration.java   |    62 +
 .../hadoop/metrics2/sink/util/Servers.java      |   106 +
 .../src/main/package/deb/control/control        |    22 +
 .../src/main/package/deb/control/postinst       |    15 +
 .../src/main/package/deb/control/postrm         |    15 +
 .../src/main/package/deb/control/preinst        |    15 +
 .../src/main/package/deb/control/prerm          |    15 +
 .../src/main/resources/alias_config.json        |    42 +
 .../src/main/resources/config.json.j2           |   995 +
 .../src/main/resources/filters.config.json      |   626 +
 .../src/main/resources/global.config.json.j2    |    28 +
 .../src/main/resources/grok-patterns            |   145 +
 .../src/main/resources/input.config.json.j2     |   284 +
 .../src/main/resources/log4j.xml                |    62 +
 .../src/main/resources/log4j.xml.j2             |    60 +
 .../src/main/resources/logfeeder.properties     |    25 +
 .../src/main/resources/output.config.json.j2    |    97 +
 .../src/main/scripts/run.sh                     |    87 +
 .../src/main/scripts/run.sh.j2                  |    83 +
 .../org/apache/ambari/logfeeder/AppTest.java    |   116 +
 .../src/test/resources/sample_filter.json       |   166 +
 .../resources/samples/config/config_audit.json  |   173 +
 .../samples/config/config_service.json          |    43 +
 .../resources/samples/jsonlogs/audit_log.json   |     9 +
 .../resources/samples/jsonlogs/service_log.json |     7 +
 .../ambari-logsearch-portal/.gitignore          |     9 +
 .../ambari-logsearch-portal/README.md           |    55 +
 .../ambari-logsearch-portal/build.properties    |    23 +
 .../ambari-logsearch-portal/build.xml           |    68 +
 .../ambari-logsearch-portal/gulpfile.js         |   136 +
 .../ambari-logsearch-portal/package.json        |    21 +
 .../ambari-logsearch-portal/pom.xml             |   547 +
 .../ambari-logsearch-portal/production/build.js |    28 +
 .../ambari-logsearch-portal/production/r.js     | 32140 +++++++++++++++++
 ambari-logsearch/ambari-logsearch-portal/run.sh |    22 +
 .../configsets/audit_logs/conf/admin-extra.html |    24 +
 .../conf/admin-extra.menu-bottom.html           |    25 +
 .../audit_logs/conf/admin-extra.menu-top.html   |    25 +
 .../main/configsets/audit_logs/conf/elevate.xml |    38 +
 .../configsets/audit_logs/conf/enumsConfig.xml  |    28 +
 .../configsets/audit_logs/conf/managed-schema   |   119 +
 .../configsets/audit_logs/conf/solrconfig.xml   |  1887 +
 .../audit_logs/conf/solrconfig.xml.j2           |  1887 +
 .../configsets/audit_logs/core.properties.j2    |    20 +
 .../hadoop_logs/conf/admin-extra.html           |    24 +
 .../conf/admin-extra.menu-bottom.html           |    25 +
 .../hadoop_logs/conf/admin-extra.menu-top.html  |    25 +
 .../configsets/hadoop_logs/conf/elevate.xml     |    38 +
 .../configsets/hadoop_logs/conf/enumsConfig.xml |    28 +
 .../configsets/hadoop_logs/conf/managed-schema  |   125 +
 .../configsets/hadoop_logs/conf/solrconfig.xml  |  1887 +
 .../hadoop_logs/conf/solrconfig.xml.j2          |  1887 +
 .../configsets/history/conf/admin-extra.html    |    24 +
 .../history/conf/admin-extra.menu-bottom.html   |    25 +
 .../history/conf/admin-extra.menu-top.html      |    25 +
 .../main/configsets/history/conf/elevate.xml    |    38 +
 .../src/main/configsets/history/conf/schema.xml |    49 +
 .../main/configsets/history/conf/solrconfig.xml |    48 +
 .../src/main/configsets/solr.xml                |    19 +
 .../src/main/dev/solrcloud/README.md            |    35 +
 .../src/main/dev/solrcloud/reset_collections.sh |    28 +
 .../src/main/dev/solrcloud/restart_solr.sh      |    37 +
 .../src/main/dev/solrcloud/update_config.sh     |    49 +
 .../org/apache/ambari/logsearch/LogSearch.java  |    56 +
 .../logsearch/common/LogSearchConstants.java    |   106 +
 .../logsearch/common/LogsearchContextUtil.java  |    60 +
 .../logsearch/common/ManageStartEndTime.java    |    73 +
 .../ambari/logsearch/common/MessageEnums.java   |    73 +
 .../ambari/logsearch/common/RequestContext.java |   143 +
 .../ambari/logsearch/common/SearchCriteria.java |   336 +
 .../logsearch/common/UserSessionInfo.java       |    46 +
 .../ambari/logsearch/dao/AuditSolrDao.java      |    60 +
 .../logsearch/dao/ServiceLogsSolrDao.java       |    60 +
 .../ambari/logsearch/dao/SolrDaoBase.java       |   541 +
 .../ambari/logsearch/dao/UserConfigSolrDao.java |    60 +
 .../apache/ambari/logsearch/dao/UserDao.java    |   199 +
 .../logsearch/dao/UserInfoAttributes.java       |    28 +
 .../logsearch/graph/GraphDataGeneratorBase.java |   184 +
 .../logsearch/graph/GraphDataGnerator.java      |   397 +
 .../ambari/logsearch/manager/AuditMgr.java      |   810 +
 .../ambari/logsearch/manager/LogFileMgr.java    |   170 +
 .../ambari/logsearch/manager/LogsMgr.java       |  1977 +
 .../ambari/logsearch/manager/MgrBase.java       |   167 +
 .../ambari/logsearch/manager/PublicMgr.java     |    55 +
 .../ambari/logsearch/manager/SessionMgr.java    |    90 +
 .../ambari/logsearch/manager/UserConfigMgr.java |   382 +
 .../ambari/logsearch/query/QueryGeneration.java |   442 +
 .../logsearch/query/QueryGenerationBase.java    |   389 +
 .../apache/ambari/logsearch/rest/AuditREST.java |   168 +
 .../ambari/logsearch/rest/DashboardREST.java    |   309 +
 .../ambari/logsearch/rest/LogFileREST.java      |    63 +
 .../ambari/logsearch/rest/PublicREST.java       |    42 +
 .../ambari/logsearch/rest/UserConfigREST.java   |   116 +
 .../context/LogsearchContextHolder.java         |    41 +
 .../context/LogsearchSecurityContext.java       |    55 +
 .../ambari/logsearch/service/UserService.java   |    43 +
 .../apache/ambari/logsearch/util/BizUtil.java   |   304 +
 .../ambari/logsearch/util/CommonUtil.java       |    66 +
 .../ambari/logsearch/util/ConfigUtil.java       |   177 +
 .../apache/ambari/logsearch/util/DateUtil.java  |   206 +
 .../apache/ambari/logsearch/util/FileUtil.java  |   144 +
 .../apache/ambari/logsearch/util/JSONUtil.java  |   261 +
 .../util/LogsearchPropertiesConfiguration.java  |    89 +
 .../ambari/logsearch/util/PropertiesUtil.java   |   150 +
 .../apache/ambari/logsearch/util/QueryBase.java |   127 +
 .../ambari/logsearch/util/RESTErrorUtil.java    |    66 +
 .../apache/ambari/logsearch/util/SolrUtil.java  |   202 +
 .../ambari/logsearch/util/StringUtil.java       |    37 +
 .../logsearch/util/XMLPropertiesUtil.java       |    86 +
 .../ambari/logsearch/view/VBarDataList.java     |    42 +
 .../ambari/logsearch/view/VBarGraphData.java    |    50 +
 .../apache/ambari/logsearch/view/VCount.java    |    62 +
 .../ambari/logsearch/view/VCountList.java       |    67 +
 .../ambari/logsearch/view/VGraphData.java       |    79 +
 .../ambari/logsearch/view/VGraphInfo.java       |    62 +
 .../ambari/logsearch/view/VGroupList.java       |    65 +
 .../org/apache/ambari/logsearch/view/VHost.java |    44 +
 .../org/apache/ambari/logsearch/view/VList.java |   243 +
 .../apache/ambari/logsearch/view/VLogFile.java  |    56 +
 .../ambari/logsearch/view/VLogFileList.java     |    70 +
 .../ambari/logsearch/view/VLogfeederFilter.java |    91 +
 .../logsearch/view/VLogfeederFilterWrapper.java |    55 +
 .../apache/ambari/logsearch/view/VMessage.java  |   165 +
 .../ambari/logsearch/view/VNameValue.java       |   122 +
 .../ambari/logsearch/view/VNameValueList.java   |    78 +
 .../org/apache/ambari/logsearch/view/VNode.java |   122 +
 .../apache/ambari/logsearch/view/VNodeList.java |    55 +
 .../apache/ambari/logsearch/view/VResponse.java |   164 +
 .../ambari/logsearch/view/VSolrLogList.java     |    65 +
 .../apache/ambari/logsearch/view/VString.java   |    52 +
 .../apache/ambari/logsearch/view/VSummary.java  |   103 +
 .../ambari/logsearch/view/VSummaryCount.java    |    66 +
 .../logsearch/view/VSummaryCountList.java       |    37 +
 .../ambari/logsearch/view/VUserConfig.java      |   105 +
 .../ambari/logsearch/view/VUserConfigList.java  |    66 +
 .../LogsearchAuthFailureHandler.java            |    50 +
 .../LogsearchAuthSuccessHandler.java            |    42 +
 .../LogsearchLogoutSuccessHandler.java          |    42 +
 .../LogsearchAuthenticationEntryPoint.java      |    56 +
 ...LogsearchSecurityContextFormationFilter.java |   119 +
 ...rchUsernamePasswordAuthenticationFilter.java |    46 +
 .../web/listeners/SpringEventListener.java      |    32 +
 .../ambari/logsearch/web/model/Privilege.java   |    42 +
 .../apache/ambari/logsearch/web/model/Role.java |    64 +
 .../apache/ambari/logsearch/web/model/User.java |   167 +
 .../logsearch/web/security/LdapProperties.java  |   365 +
 .../web/security/LdapPropertyName.java          |    58 +
 .../ambari/logsearch/web/security/LdapUtil.java |   115 +
 ...LogsearchAbstractAuthenticationProvider.java |    88 +
 .../LogsearchAuthenticationProvider.java        |   141 +
 .../LogsearchFileAuthenticationProvider.java    |    89 +
 .../LogsearchLdapAuthenticationProvider.java    |   175 +
 .../LogsearchLdapBindAuthenticator.java         |   108 +
 .../LogsearchSimpleAuthenticationProvider.java  |    71 +
 .../src/main/resources/HadoopServiceConfig.json |   407 +
 .../src/main/resources/default.properties       |    44 +
 .../src/main/resources/log4j.xml                |    85 +
 .../src/main/resources/log4j.xml.j2             |    82 +
 .../src/main/resources/logsearch-admin-site.xml |   116 +
 .../src/main/resources/logsearch.properties     |    36 +
 .../src/main/resources/logsearch.properties.j2  |    33 +
 .../src/main/resources/user_pass.json           |     8 +
 .../src/main/scripts/add_config_set.sh          |    43 +
 .../src/main/scripts/create_collections.sh      |    37 +
 .../src/main/scripts/run.sh                     |    86 +
 .../src/main/scripts/run.sh.j2                  |    86 +
 .../src/main/scripts/stop.sh                    |    44 +
 .../src/main/webapp/404.html                    |   170 +
 .../main/webapp/META-INF/applicationContext.xml |    52 +
 .../META-INF/security-applicationContext.xml    |    74 +
 .../src/main/webapp/WEB-INF/web.xml             |    72 +
 .../src/main/webapp/ajax_failure.jsp            |    31 +
 .../src/main/webapp/ajax_success.html           |    26 +
 .../src/main/webapp/favicon.ico                 |   Bin 0 -> 1150 bytes
 .../webapp/fonts/fontawesome/FontAwesome.otf    |   Bin 0 -> 61896 bytes
 .../fonts/fontawesome/fontawesome-webfont.eot   |   Bin 0 -> 37405 bytes
 .../fonts/fontawesome/fontawesome-webfont.svg   |   415 +
 .../fonts/fontawesome/fontawesome-webfont.ttf   |   Bin 0 -> 79076 bytes
 .../fonts/fontawesome/fontawesome-webfont.woff  |   Bin 0 -> 43572 bytes
 .../fonts/fontopensans/open-sans-300.woff       |   Bin 0 -> 22656 bytes
 .../fonts/fontopensans/open-sans-300i.woff      |   Bin 0 -> 21524 bytes
 .../fonts/fontopensans/open-sans-400.woff       |   Bin 0 -> 21956 bytes
 .../fonts/fontopensans/open-sans-400i.woff      |   Bin 0 -> 21092 bytes
 .../fonts/fontopensans/open-sans-600.woff       |   Bin 0 -> 22604 bytes
 .../fonts/fontopensans/open-sans-600i.woff      |   Bin 0 -> 21252 bytes
 .../fonts/fontopensans/open-sans-700.woff       |   Bin 0 -> 22748 bytes
 .../fonts/fontopensans/open-sans-700i.woff      |   Bin 0 -> 21184 bytes
 .../main/webapp/images/System-Settings-icon.png |   Bin 0 -> 17540 bytes
 .../src/main/webapp/images/avatar.png           |   Bin 0 -> 761 bytes
 .../src/main/webapp/images/blank.gif            |   Bin 0 -> 43 bytes
 .../src/main/webapp/images/blockLoading.gif     |   Bin 0 -> 3209 bytes
 .../src/main/webapp/images/body-bg.png          |   Bin 0 -> 3375 bytes
 .../src/main/webapp/images/cancel_search.png    |   Bin 0 -> 541 bytes
 .../src/main/webapp/images/clear.png            |   Bin 0 -> 509 bytes
 .../src/main/webapp/images/comp.png             |   Bin 0 -> 1603 bytes
 .../src/main/webapp/images/data-grey.png        |   Bin 0 -> 1468 bytes
 .../main/webapp/images/database_table_32.png    |   Bin 0 -> 1329 bytes
 .../src/main/webapp/images/error-404-icon.png   |   Bin 0 -> 2529 bytes
 .../src/main/webapp/images/error-500-icon.png   |   Bin 0 -> 2986 bytes
 .../src/main/webapp/images/folder-grey.png      |   Bin 0 -> 1372 bytes
 .../src/main/webapp/images/folder.png           |   Bin 0 -> 920 bytes
 .../src/main/webapp/images/folder2.png          |   Bin 0 -> 946 bytes
 .../src/main/webapp/images/form.png             |   Bin 0 -> 3329 bytes
 .../src/main/webapp/images/hbase.jpg            |   Bin 0 -> 4575 bytes
 .../src/main/webapp/images/hdfs.jpg             |   Bin 0 -> 5232 bytes
 .../src/main/webapp/images/hive.png             |   Bin 0 -> 20483 bytes
 .../src/main/webapp/images/hline.png            |   Bin 0 -> 99 bytes
 .../src/main/webapp/images/icon-collapse.png    |   Bin 0 -> 18815 bytes
 .../src/main/webapp/images/icon-expand.png      |   Bin 0 -> 20092 bytes
 .../src/main/webapp/images/knox.gif             |   Bin 0 -> 2347 bytes
 .../src/main/webapp/images/knox1.png            |   Bin 0 -> 34126 bytes
 .../src/main/webapp/images/loading.gif          |   Bin 0 -> 1849 bytes
 .../src/main/webapp/images/loading_game.gif     |   Bin 0 -> 16098 bytes
 .../src/main/webapp/images/logo.png             |   Bin 0 -> 1168 bytes
 .../src/main/webapp/images/router-grey.png      |   Bin 0 -> 1533 bytes
 .../src/main/webapp/images/search_glyph.png     |   Bin 0 -> 420 bytes
 .../src/main/webapp/images/sortingCollapse.png  |   Bin 0 -> 13320 bytes
 .../src/main/webapp/images/sortingExpand.png    |   Bin 0 -> 13283 bytes
 .../src/main/webapp/images/storm.png            |   Bin 0 -> 6174 bytes
 .../src/main/webapp/images/storm1.png           |   Bin 0 -> 19620 bytes
 .../src/main/webapp/images/task-grey.png        |   Bin 0 -> 1187 bytes
 .../src/main/webapp/images/timezone.png         |   Bin 0 -> 353544 bytes
 .../src/main/webapp/index.html                  |   146 +
 .../libs/bower/backbone-amd/js/backbone-min.js  |     2 +
 .../libs/bower/backbone-amd/js/backbone.js      |  1608 +
 .../libs/bower/backbone-forms/css/bootstrap.css |    43 +
 .../bower/backbone-forms/js/backbone-forms.js   |  2365 ++
 .../backbone-forms/js/backbone-forms.min.js     |     1 +
 .../libs/bower/backbone-forms/js/bootstrap.js   |    66 +
 .../webapp/libs/bower/backbone-forms/js/list.js |   655 +
 .../libs/bower/backbone-forms/js/list.min.js    |     1 +
 .../webapp/libs/bower/backbone-forms/js/old.js  |    91 +
 .../backbone-pageable/js/backbone-pageable.js   |  1327 +
 .../js/backbone-pageable.min.js                 |     8 +
 .../js/backbone.babysitter.js                   |   178 +
 .../js/backbone.babysitter.min.js               |    10 +
 .../js/backbone.bootstrap-modal.js              |   275 +
 .../backbone.localStorage.js                    |   222 +
 .../js/backbone.marionette.js                   |  2473 ++
 .../js/backbone.marionette.min.js               |    20 +
 .../bower/backbone.wreqr/js/backbone.wreqr.js   |   277 +
 .../backbone.wreqr/js/backbone.wreqr.min.js     |    11 +
 .../libs/bower/backbone/js/backbone-min.js      |     4 +
 .../webapp/libs/bower/backbone/js/backbone.js   |  1608 +
 .../Backgrid.ColumnManager.css                  |   115 +
 .../Backgrid.ColumnManager.js                   |  1045 +
 .../Backgrid.ColumnManager.min.js               |     1 +
 .../backgrid-filter/css/backgrid-filter.css     |   193 +
 .../bower/backgrid-filter/js/backgrid-filter.js |   487 +
 .../backgrid-filter/js/backgrid-filter.min.js   |     8 +
 .../css/backgrid-paginator.css                  |    58 +
 .../backgrid-paginator/js/backgrid-paginator.js |   427 +
 .../js/backgrid-paginator.min.js                |     8 +
 .../js/backgrid-select-all.js                   |   274 +
 .../js/backgrid-select-all.min.js               |     8 +
 .../backgrid-orderable-columns.css              |    34 +
 .../backgrid-orderable-columns.js               |   680 +
 .../css/backgrid-sizeable-columns.css           |    35 +
 .../js/backgrid-sizeable-columns.js             |   480 +
 .../webapp/libs/bower/backgrid/css/backgrid.css |   240 +
 .../libs/bower/backgrid/css/backgrid.min.css    |     1 +
 .../webapp/libs/bower/backgrid/js/backgrid.js   |  2883 ++
 .../libs/bower/backgrid/js/backgrid.min.js      |     8 +
 .../webapp/libs/bower/bootbox/js/bootbox.js     |   660 +
 .../webapp/libs/bower/bootbox/js/bootbox.min.js |     6 +
 .../bootstrap-notify/css/bootstrap-notify.css   |    31 +
 .../bootstrap-notify/js/bootstrap-notify.js     |    97 +
 .../libs/bower/bootstrap/bootstrap-theme.css    |   442 +
 .../bower/bootstrap/bootstrap-theme.css.map     |     1 +
 .../bower/bootstrap/bootstrap-theme.min.css     |     5 +
 .../webapp/libs/bower/bootstrap/bootstrap.css   |  6203 ++++
 .../libs/bower/bootstrap/bootstrap.css.map      |     1 +
 .../webapp/libs/bower/bootstrap/bootstrap.js    |  2114 ++
 .../libs/bower/bootstrap/bootstrap.min.css      |     5 +
 .../libs/bower/bootstrap/bootstrap.min.js       |     6 +
 .../webapp/libs/bower/globalize/.bower.json     |    15 +
 .../main/webapp/libs/bower/globalize/.gitignore |     9 +
 .../main/webapp/libs/bower/globalize/.npmignore |     1 +
 .../main/webapp/libs/bower/globalize/LICENSE    |    21 +
 .../main/webapp/libs/bower/globalize/README.md  |   865 +
 .../globalize/examples/browser/browser.css      |    80 +
 .../bower/globalize/examples/browser/browser.js |   115 +
 .../bower/globalize/examples/browser/index.html |   265 +
 .../globalize/examples/browser/jquery-1.4.4.js  |  7179 ++++
 .../globalize/examples/browser/jquery.tmpl.js   |   131 +
 .../bower/globalize/generator/HijriCalendar.js  |    70 +
 .../libs/bower/globalize/generator/Program.cs   |   672 +
 .../generator/Properties/AssemblyInfo.cs        |    36 +
 .../libs/bower/globalize/generator/StringExt.cs |    43 +
 .../globalize/generator/UmAlQuraCalendar.js     |   190 +
 .../bower/globalize/generator/generator.csproj  |    61 +
 .../main/webapp/libs/bower/globalize/grunt.js   |    36 +
 .../webapp/libs/bower/globalize/js/globalize.js |  1586 +
 .../lib/cultures/globalize.culture.af-ZA.js     |    67 +
 .../lib/cultures/globalize.culture.af.js        |    67 +
 .../lib/cultures/globalize.culture.am-ET.js     |    74 +
 .../lib/cultures/globalize.culture.am.js        |    74 +
 .../lib/cultures/globalize.culture.ar-AE.js     |   457 +
 .../lib/cultures/globalize.culture.ar-BH.js     |   462 +
 .../lib/cultures/globalize.culture.ar-DZ.js     |   458 +
 .../lib/cultures/globalize.culture.ar-EG.js     |   484 +
 .../lib/cultures/globalize.culture.ar-IQ.js     |   457 +
 .../lib/cultures/globalize.culture.ar-JO.js     |   462 +
 .../lib/cultures/globalize.culture.ar-KW.js     |   462 +
 .../lib/cultures/globalize.culture.ar-LB.js     |   457 +
 .../lib/cultures/globalize.culture.ar-LY.js     |   462 +
 .../lib/cultures/globalize.culture.ar-MA.js     |   458 +
 .../lib/cultures/globalize.culture.ar-OM.js     |   458 +
 .../lib/cultures/globalize.culture.ar-QA.js     |   457 +
 .../lib/cultures/globalize.culture.ar-SA.js     |   457 +
 .../lib/cultures/globalize.culture.ar-SY.js     |   457 +
 .../lib/cultures/globalize.culture.ar-TN.js     |   463 +
 .../lib/cultures/globalize.culture.ar-YE.js     |   457 +
 .../lib/cultures/globalize.culture.ar.js        |   457 +
 .../lib/cultures/globalize.culture.arn-CL.js    |    78 +
 .../lib/cultures/globalize.culture.arn.js       |    78 +
 .../lib/cultures/globalize.culture.as-IN.js     |    78 +
 .../lib/cultures/globalize.culture.as.js        |    78 +
 .../cultures/globalize.culture.az-Cyrl-AZ.js    |    81 +
 .../lib/cultures/globalize.culture.az-Cyrl.js   |    81 +
 .../cultures/globalize.culture.az-Latn-AZ.js    |    81 +
 .../lib/cultures/globalize.culture.az-Latn.js   |    81 +
 .../lib/cultures/globalize.culture.az.js        |    81 +
 .../lib/cultures/globalize.culture.ba-RU.js     |    81 +
 .../lib/cultures/globalize.culture.ba.js        |    81 +
 .../lib/cultures/globalize.culture.be-BY.js     |    80 +
 .../lib/cultures/globalize.culture.be.js        |    80 +
 .../lib/cultures/globalize.culture.bg-BG.js     |    79 +
 .../lib/cultures/globalize.culture.bg.js        |    79 +
 .../lib/cultures/globalize.culture.bn-BD.js     |    74 +
 .../lib/cultures/globalize.culture.bn-IN.js     |    74 +
 .../lib/cultures/globalize.culture.bn.js        |    74 +
 .../lib/cultures/globalize.culture.bo-CN.js     |    77 +
 .../lib/cultures/globalize.culture.bo.js        |    77 +
 .../lib/cultures/globalize.culture.br-FR.js     |    79 +
 .../lib/cultures/globalize.culture.br.js        |    79 +
 .../cultures/globalize.culture.bs-Cyrl-BA.js    |    78 +
 .../lib/cultures/globalize.culture.bs-Cyrl.js   |    78 +
 .../cultures/globalize.culture.bs-Latn-BA.js    |    76 +
 .../lib/cultures/globalize.culture.bs-Latn.js   |    76 +
 .../lib/cultures/globalize.culture.bs.js        |    76 +
 .../lib/cultures/globalize.culture.ca-ES.js     |    79 +
 .../lib/cultures/globalize.culture.ca.js        |    79 +
 .../lib/cultures/globalize.culture.co-FR.js     |    79 +
 .../lib/cultures/globalize.culture.co.js        |    79 +
 .../lib/cultures/globalize.culture.cs-CZ.js     |    85 +
 .../lib/cultures/globalize.culture.cs.js        |    85 +
 .../lib/cultures/globalize.culture.cy-GB.js     |    70 +
 .../lib/cultures/globalize.culture.cy.js        |    70 +
 .../lib/cultures/globalize.culture.da-DK.js     |    78 +
 .../lib/cultures/globalize.culture.da.js        |    78 +
 .../lib/cultures/globalize.culture.de-AT.js     |    81 +
 .../lib/cultures/globalize.culture.de-CH.js     |    78 +
 .../lib/cultures/globalize.culture.de-DE.js     |    81 +
 .../lib/cultures/globalize.culture.de-LI.js     |    78 +
 .../lib/cultures/globalize.culture.de-LU.js     |    81 +
 .../lib/cultures/globalize.culture.de.js        |    81 +
 .../lib/cultures/globalize.culture.dsb-DE.js    |    84 +
 .../lib/cultures/globalize.culture.dsb.js       |    84 +
 .../lib/cultures/globalize.culture.dv-MV.js     |   164 +
 .../lib/cultures/globalize.culture.dv.js        |   164 +
 .../lib/cultures/globalize.culture.el-GR.js     |    82 +
 .../lib/cultures/globalize.culture.el.js        |    82 +
 .../lib/cultures/globalize.culture.en-029.js    |    47 +
 .../lib/cultures/globalize.culture.en-AU.js     |    52 +
 .../lib/cultures/globalize.culture.en-BZ.js     |    54 +
 .../lib/cultures/globalize.culture.en-CA.js     |    49 +
 .../lib/cultures/globalize.culture.en-GB.js     |    55 +
 .../lib/cultures/globalize.culture.en-IE.js     |    57 +
 .../lib/cultures/globalize.culture.en-IN.js     |    60 +
 .../lib/cultures/globalize.culture.en-JM.js     |    51 +
 .../lib/cultures/globalize.culture.en-MY.js     |    56 +
 .../lib/cultures/globalize.culture.en-NZ.js     |    54 +
 .../lib/cultures/globalize.culture.en-PH.js     |    39 +
 .../lib/cultures/globalize.culture.en-SG.js     |    53 +
 .../lib/cultures/globalize.culture.en-TT.js     |    54 +
 .../lib/cultures/globalize.culture.en-US.js     |    33 +
 .../lib/cultures/globalize.culture.en-ZA.js     |    61 +
 .../lib/cultures/globalize.culture.en-ZW.js     |    39 +
 .../lib/cultures/globalize.culture.es-AR.js     |    77 +
 .../lib/cultures/globalize.culture.es-BO.js     |    78 +
 .../lib/cultures/globalize.culture.es-CL.js     |    78 +
 .../lib/cultures/globalize.culture.es-CO.js     |    77 +
 .../lib/cultures/globalize.culture.es-CR.js     |    77 +
 .../lib/cultures/globalize.culture.es-DO.js     |    69 +
 .../lib/cultures/globalize.culture.es-EC.js     |    77 +
 .../lib/cultures/globalize.culture.es-ES.js     |    79 +
 .../lib/cultures/globalize.culture.es-GT.js     |    69 +
 .../lib/cultures/globalize.culture.es-HN.js     |    71 +
 .../lib/cultures/globalize.culture.es-MX.js     |    69 +
 .../lib/cultures/globalize.culture.es-NI.js     |    71 +
 .../lib/cultures/globalize.culture.es-PA.js     |    70 +
 .../lib/cultures/globalize.culture.es-PE.js     |    70 +
 .../lib/cultures/globalize.culture.es-PR.js     |    70 +
 .../lib/cultures/globalize.culture.es-PY.js     |    79 +
 .../lib/cultures/globalize.culture.es-SV.js     |    69 +
 .../lib/cultures/globalize.culture.es-US.js     |    62 +
 .../lib/cultures/globalize.culture.es-UY.js     |    79 +
 .../lib/cultures/globalize.culture.es-VE.js     |    78 +
 .../lib/cultures/globalize.culture.es.js        |    79 +
 .../lib/cultures/globalize.culture.et-EE.js     |    79 +
 .../lib/cultures/globalize.culture.et.js        |    79 +
 .../lib/cultures/globalize.culture.eu-ES.js     |    78 +
 .../lib/cultures/globalize.culture.eu.js        |    78 +
 .../lib/cultures/globalize.culture.fa-IR.js     |   213 +
 .../lib/cultures/globalize.culture.fa.js        |   213 +
 .../lib/cultures/globalize.culture.fi-FI.js     |    78 +
 .../lib/cultures/globalize.culture.fi.js        |    78 +
 .../lib/cultures/globalize.culture.fil-PH.js    |    54 +
 .../lib/cultures/globalize.culture.fil.js       |    54 +
 .../lib/cultures/globalize.culture.fo-FO.js     |    79 +
 .../lib/cultures/globalize.culture.fo.js        |    79 +
 .../lib/cultures/globalize.culture.fr-BE.js     |    79 +
 .../lib/cultures/globalize.culture.fr-CA.js     |    77 +
 .../lib/cultures/globalize.culture.fr-CH.js     |    77 +
 .../lib/cultures/globalize.culture.fr-FR.js     |    79 +
 .../lib/cultures/globalize.culture.fr-LU.js     |    79 +
 .../lib/cultures/globalize.culture.fr-MC.js     |    79 +
 .../lib/cultures/globalize.culture.fr.js        |    79 +
 .../lib/cultures/globalize.culture.fy-NL.js     |    76 +
 .../lib/cultures/globalize.culture.fy.js        |    76 +
 .../lib/cultures/globalize.culture.ga-IE.js     |    67 +
 .../lib/cultures/globalize.culture.ga.js        |    67 +
 .../lib/cultures/globalize.culture.gd-GB.js     |    69 +
 .../lib/cultures/globalize.culture.gd.js        |    69 +
 .../lib/cultures/globalize.culture.gl-ES.js     |    79 +
 .../lib/cultures/globalize.culture.gl.js        |    79 +
 .../lib/cultures/globalize.culture.gsw-FR.js    |    79 +
 .../lib/cultures/globalize.culture.gsw.js       |    79 +
 .../lib/cultures/globalize.culture.gu-IN.js     |    72 +
 .../lib/cultures/globalize.culture.gu.js        |    72 +
 .../cultures/globalize.culture.ha-Latn-NG.js    |    60 +
 .../lib/cultures/globalize.culture.ha-Latn.js   |    60 +
 .../lib/cultures/globalize.culture.ha.js        |    60 +
 .../lib/cultures/globalize.culture.he-IL.js     |    97 +
 .../lib/cultures/globalize.culture.he.js        |    97 +
 .../lib/cultures/globalize.culture.hi-IN.js     |    72 +
 .../lib/cultures/globalize.culture.hi.js        |    72 +
 .../lib/cultures/globalize.culture.hr-BA.js     |    80 +
 .../lib/cultures/globalize.culture.hr-HR.js     |    81 +
 .../lib/cultures/globalize.culture.hr.js        |    81 +
 .../lib/cultures/globalize.culture.hsb-DE.js    |    84 +
 .../lib/cultures/globalize.culture.hsb.js       |    84 +
 .../lib/cultures/globalize.culture.hu-HU.js     |    80 +
 .../lib/cultures/globalize.culture.hu.js        |    80 +
 .../lib/cultures/globalize.culture.hy-AM.js     |    67 +
 .../lib/cultures/globalize.culture.hy.js        |    67 +
 .../lib/cultures/globalize.culture.id-ID.js     |    75 +
 .../lib/cultures/globalize.culture.id.js        |    75 +
 .../lib/cultures/globalize.culture.ig-NG.js     |    60 +
 .../lib/cultures/globalize.culture.ig.js        |    60 +
 .../lib/cultures/globalize.culture.ii-CN.js     |    76 +
 .../lib/cultures/globalize.culture.ii.js        |    76 +
 .../lib/cultures/globalize.culture.is-IS.js     |    80 +
 .../lib/cultures/globalize.culture.is.js        |    80 +
 .../lib/cultures/globalize.culture.it-CH.js     |    78 +
 .../lib/cultures/globalize.culture.it-IT.js     |    80 +
 .../lib/cultures/globalize.culture.it.js        |    80 +
 .../cultures/globalize.culture.iu-Cans-CA.js    |    65 +
 .../lib/cultures/globalize.culture.iu-Cans.js   |    65 +
 .../cultures/globalize.culture.iu-Latn-CA.js    |    60 +
 .../lib/cultures/globalize.culture.iu-Latn.js   |    60 +
 .../lib/cultures/globalize.culture.iu.js        |    60 +
 .../lib/cultures/globalize.culture.ja-JP.js     |   100 +
 .../lib/cultures/globalize.culture.ja.js        |   100 +
 .../lib/cultures/globalize.culture.ka-GE.js     |    76 +
 .../lib/cultures/globalize.culture.ka.js        |    76 +
 .../lib/cultures/globalize.culture.kk-KZ.js     |    77 +
 .../lib/cultures/globalize.culture.kk.js        |    77 +
 .../lib/cultures/globalize.culture.kl-GL.js     |    81 +
 .../lib/cultures/globalize.culture.kl.js        |    81 +
 .../lib/cultures/globalize.culture.km-KH.js     |    99 +
 .../lib/cultures/globalize.culture.km.js        |    99 +
 .../lib/cultures/globalize.culture.kn-IN.js     |    72 +
 .../lib/cultures/globalize.culture.kn.js        |    72 +
 .../lib/cultures/globalize.culture.ko-KR.js     |    96 +
 .../lib/cultures/globalize.culture.ko.js        |    96 +
 .../lib/cultures/globalize.culture.kok-IN.js    |    72 +
 .../lib/cultures/globalize.culture.kok.js       |    72 +
 .../lib/cultures/globalize.culture.ky-KG.js     |    77 +
 .../lib/cultures/globalize.culture.ky.js        |    77 +
 .../lib/cultures/globalize.culture.lb-LU.js     |    79 +
 .../lib/cultures/globalize.culture.lb.js        |    79 +
 .../lib/cultures/globalize.culture.lo-LA.js     |    72 +
 .../lib/cultures/globalize.culture.lo.js        |    72 +
 .../lib/cultures/globalize.culture.lt-LT.js     |    83 +
 .../lib/cultures/globalize.culture.lt.js        |    83 +
 .../lib/cultures/globalize.culture.lv-LV.js     |    83 +
 .../lib/cultures/globalize.culture.lv.js        |    83 +
 .../lib/cultures/globalize.culture.mi-NZ.js     |    67 +
 .../lib/cultures/globalize.culture.mi.js        |    67 +
 .../lib/cultures/globalize.culture.mk-MK.js     |    76 +
 .../lib/cultures/globalize.culture.mk.js        |    76 +
 .../lib/cultures/globalize.culture.ml-IN.js     |    72 +
 .../lib/cultures/globalize.culture.ml.js        |    72 +
 .../lib/cultures/globalize.culture.mn-Cyrl.js   |    80 +
 .../lib/cultures/globalize.culture.mn-MN.js     |    80 +
 .../cultures/globalize.culture.mn-Mong-CN.js    |    77 +
 .../lib/cultures/globalize.culture.mn-Mong.js   |    77 +
 .../lib/cultures/globalize.culture.mn.js        |    80 +
 .../lib/cultures/globalize.culture.moh-CA.js    |    52 +
 .../lib/cultures/globalize.culture.moh.js       |    52 +
 .../lib/cultures/globalize.culture.mr-IN.js     |    72 +
 .../lib/cultures/globalize.culture.mr.js        |    72 +
 .../lib/cultures/globalize.culture.ms-BN.js     |    74 +
 .../lib/cultures/globalize.culture.ms-MY.js     |    67 +
 .../lib/cultures/globalize.culture.ms.js        |    67 +
 .../lib/cultures/globalize.culture.mt-MT.js     |    68 +
 .../lib/cultures/globalize.culture.mt.js        |    68 +
 .../lib/cultures/globalize.culture.nb-NO.js     |    78 +
 .../lib/cultures/globalize.culture.nb.js        |    78 +
 .../lib/cultures/globalize.culture.ne-NP.js     |    68 +
 .../lib/cultures/globalize.culture.ne.js        |    68 +
 .../lib/cultures/globalize.culture.nl-BE.js     |    79 +
 .../lib/cultures/globalize.culture.nl-NL.js     |    76 +
 .../lib/cultures/globalize.culture.nl.js        |    76 +
 .../lib/cultures/globalize.culture.nn-NO.js     |    78 +
 .../lib/cultures/globalize.culture.nn.js        |    78 +
 .../lib/cultures/globalize.culture.no.js        |    78 +
 .../lib/cultures/globalize.culture.nso-ZA.js    |    67 +
 .../lib/cultures/globalize.culture.nso.js       |    67 +
 .../lib/cultures/globalize.culture.oc-FR.js     |    83 +
 .../lib/cultures/globalize.culture.oc.js        |    83 +
 .../lib/cultures/globalize.culture.or-IN.js     |    70 +
 .../lib/cultures/globalize.culture.or.js        |    70 +
 .../lib/cultures/globalize.culture.pa-IN.js     |    72 +
 .../lib/cultures/globalize.culture.pa.js        |    72 +
 .../lib/cultures/globalize.culture.pl-PL.js     |    84 +
 .../lib/cultures/globalize.culture.pl.js        |    84 +
 .../lib/cultures/globalize.culture.prs-AF.js    |   174 +
 .../lib/cultures/globalize.culture.prs.js       |   174 +
 .../lib/cultures/globalize.culture.ps-AF.js     |   176 +
 .../lib/cultures/globalize.culture.ps.js        |   176 +
 .../lib/cultures/globalize.culture.pt-BR.js     |    79 +
 .../lib/cultures/globalize.culture.pt-PT.js     |    81 +
 .../lib/cultures/globalize.culture.pt.js        |    79 +
 .../lib/cultures/globalize.culture.qut-GT.js    |    69 +
 .../lib/cultures/globalize.culture.qut.js       |    69 +
 .../lib/cultures/globalize.culture.quz-BO.js    |    74 +
 .../lib/cultures/globalize.culture.quz-EC.js    |    73 +
 .../lib/cultures/globalize.culture.quz-PE.js    |    68 +
 .../lib/cultures/globalize.culture.quz.js       |    74 +
 .../lib/cultures/globalize.culture.rm-CH.js     |    77 +
 .../lib/cultures/globalize.culture.rm.js        |    77 +
 .../lib/cultures/globalize.culture.ro-RO.js     |    77 +
 .../lib/cultures/globalize.culture.ro.js        |    77 +
 .../lib/cultures/globalize.culture.ru-RU.js     |    82 +
 .../lib/cultures/globalize.culture.ru.js        |    82 +
 .../lib/cultures/globalize.culture.rw-RW.js     |    65 +
 .../lib/cultures/globalize.culture.rw.js        |    65 +
 .../lib/cultures/globalize.culture.sa-IN.js     |    71 +
 .../lib/cultures/globalize.culture.sa.js        |    71 +
 .../lib/cultures/globalize.culture.sah-RU.js    |    83 +
 .../lib/cultures/globalize.culture.sah.js       |    83 +
 .../lib/cultures/globalize.culture.se-FI.js     |    80 +
 .../lib/cultures/globalize.culture.se-NO.js     |    81 +
 .../lib/cultures/globalize.culture.se-SE.js     |    80 +
 .../lib/cultures/globalize.culture.se.js        |    81 +
 .../lib/cultures/globalize.culture.si-LK.js     |    72 +
 .../lib/cultures/globalize.culture.si.js        |    72 +
 .../lib/cultures/globalize.culture.sk-SK.js     |    85 +
 .../lib/cultures/globalize.culture.sk.js        |    85 +
 .../lib/cultures/globalize.culture.sl-SI.js     |    79 +
 .../lib/cultures/globalize.culture.sl.js        |    79 +
 .../lib/cultures/globalize.culture.sma-NO.js    |    81 +
 .../lib/cultures/globalize.culture.sma-SE.js    |    80 +
 .../lib/cultures/globalize.culture.sma.js       |    80 +
 .../lib/cultures/globalize.culture.smj-NO.js    |    81 +
 .../lib/cultures/globalize.culture.smj-SE.js    |    80 +
 .../lib/cultures/globalize.culture.smj.js       |    80 +
 .../lib/cultures/globalize.culture.smn-FI.js    |    76 +
 .../lib/cultures/globalize.culture.smn.js       |    76 +
 .../lib/cultures/globalize.culture.sms-FI.js    |    80 +
 .../lib/cultures/globalize.culture.sms.js       |    80 +
 .../lib/cultures/globalize.culture.sq-AL.js     |    77 +
 .../lib/cultures/globalize.culture.sq.js        |    77 +
 .../cultures/globalize.culture.sr-Cyrl-BA.js    |    78 +
 .../cultures/globalize.culture.sr-Cyrl-CS.js    |    80 +
 .../cultures/globalize.culture.sr-Cyrl-ME.js    |    80 +
 .../cultures/globalize.culture.sr-Cyrl-RS.js    |    80 +
 .../lib/cultures/globalize.culture.sr-Cyrl.js   |    80 +
 .../cultures/globalize.culture.sr-Latn-BA.js    |    79 +
 .../cultures/globalize.culture.sr-Latn-CS.js    |    80 +
 .../cultures/globalize.culture.sr-Latn-ME.js    |    80 +
 .../cultures/globalize.culture.sr-Latn-RS.js    |    80 +
 .../lib/cultures/globalize.culture.sr-Latn.js   |    80 +
 .../lib/cultures/globalize.culture.sr.js        |    80 +
 .../lib/cultures/globalize.culture.sv-FI.js     |    78 +
 .../lib/cultures/globalize.culture.sv-SE.js     |    78 +
 .../lib/cultures/globalize.culture.sv.js        |    78 +
 .../lib/cultures/globalize.culture.sw-KE.js     |    53 +
 .../lib/cultures/globalize.culture.sw.js        |    53 +
 .../lib/cultures/globalize.culture.syr-SY.js    |    67 +
 .../lib/cultures/globalize.culture.syr.js       |    67 +
 .../lib/cultures/globalize.culture.ta-IN.js     |    73 +
 .../lib/cultures/globalize.culture.ta.js        |    73 +
 .../lib/cultures/globalize.culture.te-IN.js     |    72 +
 .../lib/cultures/globalize.culture.te.js        |    72 +
 .../cultures/globalize.culture.tg-Cyrl-TJ.js    |    84 +
 .../lib/cultures/globalize.culture.tg-Cyrl.js   |    84 +
 .../lib/cultures/globalize.culture.tg.js        |    84 +
 .../lib/cultures/globalize.culture.th-TH.js     |    90 +
 .../lib/cultures/globalize.culture.th.js        |    90 +
 .../lib/cultures/globalize.culture.tk-TM.js     |    78 +
 .../lib/cultures/globalize.culture.tk.js        |    78 +
 .../lib/cultures/globalize.culture.tn-ZA.js     |    67 +
 .../lib/cultures/globalize.culture.tn.js        |    67 +
 .../lib/cultures/globalize.culture.tr-TR.js     |    77 +
 .../lib/cultures/globalize.culture.tr.js        |    77 +
 .../lib/cultures/globalize.culture.tt-RU.js     |    81 +
 .../lib/cultures/globalize.culture.tt.js        |    81 +
 .../cultures/globalize.culture.tzm-Latn-DZ.js   |    77 +
 .../lib/cultures/globalize.culture.tzm-Latn.js  |    77 +
 .../lib/cultures/globalize.culture.tzm.js       |    77 +
 .../lib/cultures/globalize.culture.ug-CN.js     |    75 +
 .../lib/cultures/globalize.culture.ug.js        |    75 +
 .../lib/cultures/globalize.culture.uk-UA.js     |    83 +
 .../lib/cultures/globalize.culture.uk.js        |    83 +
 .../lib/cultures/globalize.culture.ur-PK.js     |   157 +
 .../lib/cultures/globalize.culture.ur.js        |   157 +
 .../cultures/globalize.culture.uz-Cyrl-UZ.js    |    81 +
 .../lib/cultures/globalize.culture.uz-Cyrl.js   |    81 +
 .../cultures/globalize.culture.uz-Latn-UZ.js    |    77 +
 .../lib/cultures/globalize.culture.uz-Latn.js   |    77 +
 .../lib/cultures/globalize.culture.uz.js        |    77 +
 .../lib/cultures/globalize.culture.vi-VN.js     |    73 +
 .../lib/cultures/globalize.culture.vi.js        |    73 +
 .../lib/cultures/globalize.culture.wo-SN.js     |    79 +
 .../lib/cultures/globalize.culture.wo.js        |    79 +
 .../lib/cultures/globalize.culture.xh-ZA.js     |    65 +
 .../lib/cultures/globalize.culture.xh.js        |    65 +
 .../lib/cultures/globalize.culture.yo-NG.js     |    60 +
 .../lib/cultures/globalize.culture.yo.js        |    60 +
 .../lib/cultures/globalize.culture.zh-CHS.js    |    73 +
 .../lib/cultures/globalize.culture.zh-CHT.js    |    72 +
 .../lib/cultures/globalize.culture.zh-CN.js     |    73 +
 .../lib/cultures/globalize.culture.zh-HK.js     |    72 +
 .../lib/cultures/globalize.culture.zh-Hans.js   |    73 +
 .../lib/cultures/globalize.culture.zh-Hant.js   |    72 +
 .../lib/cultures/globalize.culture.zh-MO.js     |    72 +
 .../lib/cultures/globalize.culture.zh-SG.js     |    63 +
 .../lib/cultures/globalize.culture.zh-TW.js     |    99 +
 .../lib/cultures/globalize.culture.zh.js        |    73 +
 .../lib/cultures/globalize.culture.zu-ZA.js     |    66 +
 .../lib/cultures/globalize.culture.zu.js        |    66 +
 .../lib/cultures/globalize.cultures.js          | 24063 ++++++++++++
 .../libs/bower/globalize/lib/globalize.js       |  1586 +
 .../webapp/libs/bower/globalize/package.json    |    56 +
 .../webapp/libs/bower/globalize/test/culture.js |    18 +
 .../libs/bower/globalize/test/cultures.js       |    15 +
 .../bower/globalize/test/findClosestCulture.js  |    62 +
 .../webapp/libs/bower/globalize/test/format.js  |    74 +
 .../webapp/libs/bower/globalize/test/index.html |    26 +
 .../libs/bower/globalize/test/instance.js       |    13 +
 .../webapp/libs/bower/globalize/test/parse.js   |    57 +
 .../libs/bower/globalize/test/qunit/qunit.css   |   226 +
 .../libs/bower/globalize/test/qunit/qunit.js    |  1506 +
 .../libs/bower/globalize/test/testsuite.js      |    19 +
 .../libs/bower/jquery-toggles/css/toggles.css   |    22 +
 .../libs/bower/jquery-toggles/js/toggles.min.js |    11 +
 .../libs/bower/jquery-ui/1.11.4/jquery-ui.css   |   403 +
 .../libs/bower/jquery-ui/1.11.4/jquery-ui.js    |  1356 +
 .../bower/jquery-ui/1.11.4/jquery-ui.min.css    |     7 +
 .../bower/jquery-ui/1.11.4/jquery-ui.min.js     |     6 +
 .../bower/jquery-ui/i18n/jquery-ui-i18n.min.js  |     6 +
 .../i18n/jquery.ui.datepicker-af.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ar-DZ.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-ar.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-az.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-be.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-bg.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-bs.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ca.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-cs.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-cy-GB.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-da.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-de.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-el.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-en-AU.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-en-GB.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-en-NZ.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-eo.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-es.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-et.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-eu.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-fa.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-fi.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-fo.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-fr-CA.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-fr-CH.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-fr.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-gl.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-he.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-hi.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-hr.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-hu.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-hy.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-id.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-is.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-it.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ja.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ka.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-kk.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-km.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ko.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ky.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-lb.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-lt.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-lv.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-mk.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ml.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ms.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-nb.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-nl-BE.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-nl.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-nn.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-no.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-pl.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-pt-BR.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-pt.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-rm.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ro.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ru.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-sk.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-sl.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-sq.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-sr-SR.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-sr.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-sv.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-ta.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-th.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-tj.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-tr.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-uk.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-vi.min.js         |     4 +
 .../i18n/jquery.ui.datepicker-zh-CN.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-zh-HK.min.js      |     4 +
 .../i18n/jquery.ui.datepicker-zh-TW.min.js      |     4 +
 .../ui-bg_diagonals-thick_18_b81900_40x40.png   |   Bin 0 -> 457 bytes
 .../ui-bg_diagonals-thick_20_666666_40x40.png   |   Bin 0 -> 351 bytes
 .../images/ui-bg_flat_10_000000_40x100.png      |   Bin 0 -> 244 bytes
 .../images/ui-bg_glass_100_f6f6f6_1x400.png     |   Bin 0 -> 301 bytes
 .../images/ui-bg_glass_100_fdf5ce_1x400.png     |   Bin 0 -> 387 bytes
 .../images/ui-bg_glass_65_ffffff_1x400.png      |   Bin 0 -> 246 bytes
 .../ui-bg_gloss-wave_35_f6a828_500x100.png      |   Bin 0 -> 5854 bytes
 .../ui-bg_highlight-soft_100_eeeeee_1x100.png   |   Bin 0 -> 317 bytes
 .../ui-bg_highlight-soft_75_ffe45c_1x100.png    |   Bin 0 -> 367 bytes
 .../images/ui-icons_222222_256x240.png          |   Bin 0 -> 7006 bytes
 .../images/ui-icons_228ef1_256x240.png          |   Bin 0 -> 4599 bytes
 .../images/ui-icons_ef8c08_256x240.png          |   Bin 0 -> 4599 bytes
 .../images/ui-icons_ffd27a_256x240.png          |   Bin 0 -> 4599 bytes
 .../images/ui-icons_ffffff_256x240.png          |   Bin 0 -> 6468 bytes
 .../webapp/libs/bower/jquery-ui/jquery-ui.css   |  1225 +
 .../webapp/libs/bower/jquery-ui/jquery-ui.js    | 16375 +++++++++
 .../libs/bower/jquery-ui/jquery-ui.min.css      |     7 +
 .../libs/bower/jquery-ui/jquery-ui.min.js       |    13 +
 .../libs/bower/jquery/js/jquery-1.10.2.js       |  9789 +++++
 .../libs/bower/jquery/js/jquery-migrate.js      |   511 +
 .../libs/bower/jquery/js/jquery-migrate.min.js  |     3 +
 .../main/webapp/libs/bower/jquery/js/jquery.js  |  9789 +++++
 .../webapp/libs/bower/jquery/js/jquery.min.js   |     6 +
 .../webapp/libs/bower/jquery/js/jquery.min.map  |     1 +
 .../moment/js/moment-timezone-with-data.min.js  |     7 +
 .../bower/moment/js/moment-with-langs.min.js    |     9 +
 .../bower/moment/js/moment-with-locales.min.js  |    81 +
 .../webapp/libs/bower/moment/js/moment.min.js   |     7 +
 .../require-handlebars-plugin/js/Handlebars.js  |  2752 ++
 .../bower/require-handlebars-plugin/js/hbs.js   |   458 +
 .../js/i18nprecompile.js                        |    45 +
 .../bower/require-handlebars-plugin/js/json2.js |   365 +
 .../webapp/libs/bower/requirejs/js/require.js   |  2053 ++
 .../libs/bower/select2/select2-spinner.gif      |   Bin 0 -> 1849 bytes
 .../main/webapp/libs/bower/select2/select2.css  |   615 +
 .../main/webapp/libs/bower/select2/select2.js   |  3508 ++
 .../main/webapp/libs/bower/select2/select2.png  |   Bin 0 -> 613 bytes
 .../webapp/libs/bower/select2/select2x2.png     |   Bin 0 -> 845 bytes
 .../libs/bower/tag-it/css/jquery.tagit.css      |    69 +
 .../main/webapp/libs/bower/tag-it/js/tag-it.js  |   591 +
 .../webapp/libs/bower/tag-it/js/tag-it.min.js   |    17 +
 .../bower/underscore-amd/js/underscore-min.js   |     6 +
 .../libs/bower/underscore-amd/js/underscore.js  |  1284 +
 .../libs/bower/underscore/js/underscore-min.js  |     6 +
 .../libs/bower/underscore/js/underscore.js      |  1276 +
 .../bower/x-editable/css/bootstrap-editable.css |   655 +
 .../webapp/libs/bower/x-editable/img/clear.png  |   Bin 0 -> 509 bytes
 .../bower/x-editable/js/bootstrap-editable.js   |  6901 ++++
 .../x-editable/js/bootstrap-editable.min.js     |     7 +
 .../webapp/libs/fsOverrides/BBFOverrides.js     |   367 +
 .../webapp/libs/other/backbone.fetch-cache.js   |   326 +
 .../webapp/libs/other/backgrid/backgrid.css     |   240 +
 .../main/webapp/libs/other/backgrid/backgrid.js |  2884 ++
 .../src/main/webapp/libs/other/d3/d3.js         |  9504 +++++
 .../src/main/webapp/libs/other/d3/d3.min.js     |     5 +
 .../src/main/webapp/libs/other/d3/d3.tip.js     |   293 +
 .../webapp/libs/other/dashboard/dashboard.js    |   383 +
 .../libs/other/datepicker/css/datepicker.css    |   224 +
 .../other/datepicker/js/bootstrap-datepicker.js |   834 +
 .../libs/other/datepicker/less/datepicker.less  |   122 +
 .../daterangepicker/css/daterangepicker.css     |   336 +
 .../other/daterangepicker/js/daterangepicker.js |  1370 +
 .../other/font-awesome/css/font-awesome.css     |  1801 +
 .../other/font-awesome/css/font-awesome.min.css |     4 +
 .../other/font-awesome/fonts/FontAwesome.otf    |   Bin 0 -> 93888 bytes
 .../font-awesome/fonts/fontawesome-webfont.eot  |   Bin 0 -> 60767 bytes
 .../font-awesome/fonts/fontawesome-webfont.svg  |   565 +
 .../font-awesome/fonts/fontawesome-webfont.ttf  |   Bin 0 -> 122092 bytes
 .../font-awesome/fonts/fontawesome-webfont.woff |   Bin 0 -> 71508 bytes
 .../fonts/fontawesome-webfont.woff2             |   Bin 0 -> 56780 bytes
 .../libs/other/font-awesome/less/animated.less  |    34 +
 .../font-awesome/less/bordered-pulled.less      |    16 +
 .../libs/other/font-awesome/less/core.less      |    13 +
 .../other/font-awesome/less/fixed-width.less    |     6 +
 .../other/font-awesome/less/font-awesome.less   |    17 +
 .../libs/other/font-awesome/less/icons.less     |   596 +
 .../libs/other/font-awesome/less/larger.less    |    13 +
 .../libs/other/font-awesome/less/list.less      |    19 +
 .../libs/other/font-awesome/less/mixins.less    |    27 +
 .../libs/other/font-awesome/less/path.less      |    15 +
 .../font-awesome/less/rotated-flipped.less      |    20 +
 .../libs/other/font-awesome/less/stacked.less   |    20 +
 .../libs/other/font-awesome/less/variables.less |   606 +
 .../libs/other/font-awesome/scss/_animated.scss |    34 +
 .../font-awesome/scss/_bordered-pulled.scss     |    16 +
 .../libs/other/font-awesome/scss/_core.scss     |    13 +
 .../other/font-awesome/scss/_fixed-width.scss   |     6 +
 .../libs/other/font-awesome/scss/_icons.scss    |   596 +
 .../libs/other/font-awesome/scss/_larger.scss   |    13 +
 .../libs/other/font-awesome/scss/_list.scss     |    19 +
 .../libs/other/font-awesome/scss/_mixins.scss   |    27 +
 .../libs/other/font-awesome/scss/_path.scss     |    15 +
 .../font-awesome/scss/_rotated-flipped.scss     |    20 +
 .../libs/other/font-awesome/scss/_stacked.scss  |    20 +
 .../other/font-awesome/scss/_variables.scss     |   606 +
 .../other/font-awesome/scss/font-awesome.scss   |    17 +
 .../libs/other/gridster/css/jquery.gridster.css |   121 +
 .../libs/other/gridster/js/jquery.gridster.js   |  3987 ++
 .../libs/other/intro/css/introjs-rtl.min.css    |     1 +
 .../webapp/libs/other/intro/css/introjs.min.css |     1 +
 .../webapp/libs/other/intro/js/intro.min.js     |    34 +
 .../libs/other/jquery-cookie/js/bower.json      |    18 +
 .../other/jquery-cookie/js/cookie.jquery.json   |    32 +
 .../other/jquery-cookie/js/jquery.cookie.js     |   117 +
 .../libs/other/jquery-cookie/js/package.json    |    31 +
 .../jquery-ui/css/images/animated-overlay.gif   |   Bin 0 -> 1738 bytes
 .../ui-bg_diagonals-thick_18_b81900_40x40.png   |   Bin 0 -> 418 bytes
 .../ui-bg_diagonals-thick_20_666666_40x40.png   |   Bin 0 -> 312 bytes
 .../css/images/ui-bg_flat_0_aaaaaa_40x100.png   |   Bin 0 -> 180 bytes
 .../css/images/ui-bg_flat_10_000000_40x100.png  |   Bin 0 -> 205 bytes
 .../css/images/ui-bg_glass_100_f6f6f6_1x400.png |   Bin 0 -> 262 bytes
 .../css/images/ui-bg_glass_100_fdf5ce_1x400.png |   Bin 0 -> 348 bytes
 .../css/images/ui-bg_glass_65_ffffff_1x400.png  |   Bin 0 -> 207 bytes
 .../ui-bg_gloss-wave_35_f6a828_500x100.png      |   Bin 0 -> 5815 bytes
 .../ui-bg_highlight-soft_100_eeeeee_1x100.png   |   Bin 0 -> 278 bytes
 .../ui-bg_highlight-soft_75_ffe45c_1x100.png    |   Bin 0 -> 328 bytes
 .../css/images/ui-icons_222222_256x240.png      |   Bin 0 -> 6922 bytes
 .../css/images/ui-icons_228ef1_256x240.png      |   Bin 0 -> 4549 bytes
 .../css/images/ui-icons_454545_256x240.png      |   Bin 0 -> 4369 bytes
 .../css/images/ui-icons_888888_256x240.png      |   Bin 0 -> 4369 bytes
 .../css/images/ui-icons_ef8c08_256x240.png      |   Bin 0 -> 4549 bytes
 .../css/images/ui-icons_ffd27a_256x240.png      |   Bin 0 -> 4549 bytes
 .../css/images/ui-icons_ffffff_256x240.png      |   Bin 0 -> 6299 bytes
 .../other/jquery-ui/css/jquery-ui-1.11.4.css    |   850 +
 .../jquery-ui/css/jquery-ui-1.11.4.min.css      |     7 +
 .../other/jquery-ui/css/jquery-ui-bootstrap.css |  2549 ++
 .../libs/other/jquery-ui/js/jquery-ui-1.11.4.js |  8772 +++++
 .../other/jquery-ui/js/jquery-ui-1.11.4.min.js  |    10 +
 .../src/main/webapp/libs/other/loadCSS.js       |    73 +
 .../main/webapp/libs/other/noty/css/animate.css |  3158 ++
 .../libs/other/noty/jquery.noty.packaged.js     |  1436 +
 .../libs/other/noty/jquery.noty.packaged.min.js |     1 +
 .../webapp/libs/other/nvd3/css/nv.d3.min.css    |     1 +
 .../src/main/webapp/libs/other/nvd3/js/nv.d3.js | 13304 +++++++
 .../main/webapp/libs/other/nvd3/js/nv.d3.min.js |     8 +
 .../libs/other/sparkline/jquery.sparkline.js    |  3054 ++
 .../webapp/libs/other/timeline/css/timeline.css |  3100 ++
 .../webapp/libs/other/timeline/css/timeline.png |   Bin 0 -> 15922 bytes
 .../libs/other/timeline/js/storyjs-embed.js     |   529 +
 .../webapp/libs/other/timeline/js/timeline.js   | 10116 ++++++
 .../libs/other/timezone/WorldMapGenerator.js    |  3471 ++
 .../libs/other/timezone/jstz-1.0.4.min.js       |     2 +
 .../webapp/libs/other/timezone/mapdata.json     |  3158 ++
 .../webapp/libs/other/visualsearch/.bower.json  |    45 +
 .../other/visualsearch/models/search_facets.js  |    67 +
 .../other/visualsearch/models/search_query.js   |    70 +
 .../other/visualsearch/templates/search_box.jst |     8 +
 .../visualsearch/templates/search_facet.jst     |     9 +
 .../visualsearch/templates/search_input.jst     |     1 +
 .../other/visualsearch/templates/templates.js   |     7 +
 .../visualsearch/utils/backbone_extensions.js   |    17 +
 .../libs/other/visualsearch/utils/hotkeys.js    |    99 +
 .../libs/other/visualsearch/utils/inflector.js  |    21 +
 .../visualsearch/utils/jquery_extensions.js     |   197 +
 .../other/visualsearch/utils/search_parser.js   |    87 +
 .../libs/other/visualsearch/views/search_box.js |   458 +
 .../other/visualsearch/views/search_facet.js    |   442 +
 .../other/visualsearch/views/search_input.js    |   418 +
 .../libs/other/visualsearch/visualsearch.js     |  1970 +
 .../src/main/webapp/login.jsp                   |   148 +
 .../src/main/webapp/robots.txt                  |     3 +
 .../src/main/webapp/scripts/App.js              |    89 +
 .../src/main/webapp/scripts/Init.js             |   243 +
 .../src/main/webapp/scripts/Main.js             |    42 +
 .../src/main/webapp/scripts/RegionManager.js    |    83 +
 .../collection_bases/VAuditLogListBase.js       |    75 +
 .../collection_bases/VEventHistoryListBase.js   |    87 +
 .../scripts/collection_bases/VGroupListBase.js  |    84 +
 .../collection_bases/VLogLevelListBase.js       |    96 +
 .../scripts/collection_bases/VLogListBase.js    |   128 +
 .../collection_bases/VNameValueListBase.js      |    59 +
 .../scripts/collection_bases/VNodeListBase.js   |    74 +
 .../scripts/collections/BaseCollection.js       |   163 +
 .../webapp/scripts/collections/VAuditLogList.js |    36 +
 .../scripts/collections/VEventHistoryList.js    |    33 +
 .../webapp/scripts/collections/VGroupList.js    |    36 +
 .../webapp/scripts/collections/VLogLevelList.js |    36 +
 .../main/webapp/scripts/collections/VLogList.js |    36 +
 .../scripts/collections/VNameValueList.js       |    36 +
 .../webapp/scripts/collections/VNodeList.js     |    36 +
 .../src/main/webapp/scripts/communicator.js     |    61 +
 .../webapp/scripts/controllers/Controller.js    |   240 +
 .../src/main/webapp/scripts/mgrs/SessionMgr.js  |   137 +
 .../webapp/scripts/model_bases/VAuditLogBase.js |    61 +
 .../scripts/model_bases/VCommonModelBase.js     |    51 +
 .../scripts/model_bases/VEventHistoryBase.js    |    51 +
 .../scripts/model_bases/VGraphInfoBase.js       |    62 +
 .../webapp/scripts/model_bases/VGroupBase.js    |    51 +
 .../main/webapp/scripts/model_bases/VLogBase.js |    51 +
 .../webapp/scripts/model_bases/VLogLevelBase.js |    51 +
 .../scripts/model_bases/VNameValueBase.js       |    51 +
 .../webapp/scripts/model_bases/VNodeBase.js     |    51 +
 .../scripts/model_bases/VUserFilterBase.js      |    51 +
 .../src/main/webapp/scripts/models/BaseModel.js |   110 +
 .../src/main/webapp/scripts/models/VAppState.js |    44 +
 .../src/main/webapp/scripts/models/VAuditLog.js |    47 +
 .../main/webapp/scripts/models/VCommonModel.js  |    48 +
 .../main/webapp/scripts/models/VEventHistory.js |    48 +
 .../main/webapp/scripts/models/VGraphInfo.js    |    53 +
 .../src/main/webapp/scripts/models/VGroup.js    |    53 +
 .../src/main/webapp/scripts/models/VLog.js      |    66 +
 .../src/main/webapp/scripts/models/VLogLevel.js |    47 +
 .../main/webapp/scripts/models/VNameValue.js    |    47 +
 .../src/main/webapp/scripts/models/VNode.js     |    48 +
 .../main/webapp/scripts/models/VUserFilter.js   |    51 +
 .../main/webapp/scripts/modules/Overrides.js    |   234 +
 .../src/main/webapp/scripts/modules/Vent.js     |    26 +
 .../scripts/modules/globalize/message/en.js     |    79 +
 .../main/webapp/scripts/prelogin/Prelogin.js    |   130 +
 .../src/main/webapp/scripts/utils/Enums.js      |    32 +
 .../src/main/webapp/scripts/utils/Globals.js    |    84 +
 .../src/main/webapp/scripts/utils/Intro.js      |   291 +
 .../main/webapp/scripts/utils/LangSupport.js    |   151 +
 .../src/main/webapp/scripts/utils/Utils.js      |  1150 +
 .../src/main/webapp/scripts/utils/ViewUtils.js  |   225 +
 .../webapp/scripts/utils/XATemplateHelpers.js   |   170 +
 .../scripts/views/audit/AuditAggregatedView.js  |   412 +
 .../scripts/views/audit/AuditTabLayoutView.js   |   466 +
 .../scripts/views/common/AdvanceSearchLayout.js |   146 +
 .../webapp/scripts/views/common/BreadCrumbs.js  |    83 +
 .../scripts/views/common/CustomBackgrid.js      |   285 +
 .../scripts/views/common/DashboardLayout.js     |    80 +
 .../scripts/views/common/DatePickerLayout.js    |   223 +
 .../webapp/scripts/views/common/ErrorView.js    |   100 +
 .../main/webapp/scripts/views/common/Footer.js  |    80 +
 .../main/webapp/scripts/views/common/Header.js  |   417 +
 .../webapp/scripts/views/common/JBDialog.js     |   211 +
 .../scripts/views/common/LogSnapShotLayout.js   |   140 +
 .../webapp/scripts/views/common/ProfileBar.js   |   106 +
 .../main/webapp/scripts/views/common/Spinner.js |    85 +
 .../webapp/scripts/views/common/TableLayout.js  |   405 +
 .../webapp/scripts/views/common/TimerView.js    |   124 +
 .../main/webapp/scripts/views/common/TopNav.js  |    93 +
 .../dashboard/BubbleGraphTableLayoutView.js     |   800 +
 .../views/dashboard/ComponentListView.js        |   319 +
 .../scripts/views/dashboard/ComponentsView.js   |    98 +
 .../views/dashboard/DashboardLayoutView.js      |   354 +
 .../scripts/views/dashboard/DashboardView.js    |   188 +
 .../views/dashboard/GridTableLayoutView.js      |   219 +
 .../scripts/views/dashboard/HostListView.js     |   364 +
 .../webapp/scripts/views/dashboard/HostsView.js |    98 +
 .../scripts/views/dashboard/LogDetailView.js    |   249 +
 .../scripts/views/dashboard/LogLevelBoxView.js  |   154 +
 .../scripts/views/dashboard/LogLevelView.js     |   117 +
 .../scripts/views/dashboard/MainLayoutView.js   |   631 +
 .../views/dialog/ApplySearchFilterView.js       |   219 +
 .../scripts/views/dialog/DetailLogFileView.js   |   167 +
 .../dialog/GlobalExclusionCompositeView.js      |   141 +
 .../views/dialog/GlobalExclusionItemView.js     |    84 +
 .../views/dialog/GridGraphSettingView.js        |   476 +
 .../views/dialog/SaveSearchFilterView.js        |   119 +
 .../scripts/views/dialog/TimeZoneChangeView.js  |    98 +
 .../views/filter/CreateLogfeederFilterView.js   |   275 +
 .../scripts/views/graphs/GraphLayoutView.js     |   531 +
 .../scripts/views/graphs/GridGraphLayoutView.js |   593 +
 .../scripts/views/tabs/ComparisonLayoutView.js  |    93 +
 .../webapp/scripts/views/tabs/ComparisonView.js |   251 +
 .../views/tabs/EventHistoryLayoutView.js        |   501 +
 .../scripts/views/tabs/ExportLogFileView.js     |    50 +
 .../views/tabs/HierarchyTabLayoutView.js        |   487 +
 .../scripts/views/tabs/HostInfoTabLayoutView.js |   178 +
 .../webapp/scripts/views/tabs/LogFileView.js    |   872 +
 .../main/webapp/scripts/views/tabs/TreeView.js  |   368 +
 .../scripts/views/tabs/VisualSearchView.js      |   255 +
 .../troubleshoot/TroubleShootLayoutView.js      |   488 +
 .../src/main/webapp/styles/animate.css          |  3272 ++
 .../src/main/webapp/styles/app-font.css         |    64 +
 .../src/main/webapp/styles/bootstrap.css        |  6422 ++++
 .../src/main/webapp/styles/bootstrap.min.css    |  6422 ++++
 .../src/main/webapp/styles/style.css            |  2017 ++
 .../src/main/webapp/styles/style_v2.css         |  2306 ++
 .../src/main/webapp/styles/visualsearch.css     |   341 +
 .../audit/AuditAggregatedView_tmpl.html         |    54 +
 .../audit/AuditTabLayoutView_tmpl.html          |   103 +
 .../common/AdvanceSearchLayout_tmpl.html        |    30 +
 .../templates/common/DatePickerLayout_tmpl.html |    29 +
 .../webapp/templates/common/ErrorView_tmpl.html |    28 +
 .../webapp/templates/common/Footer_tmpl.html    |    42 +
 .../webapp/templates/common/Header_tmpl.html    |    87 +
 .../common/LogSnapShotLayout_tmpl.html          |    23 +
 .../templates/common/TableLayout_tmpl.html      |    37 +
 .../webapp/templates/common/TimerView_tmpl.html |    25 +
 .../webapp/templates/common/TopNav_tmpl.html    |    52 +
 .../webapp/templates/common/breadcrumbs.html    |    46 +
 .../webapp/templates/common/formInputItem.html  |    54 +
 .../templates/common/formInputItemList.html     |    42 +
 .../webapp/templates/common/loading_tmpl.html   |    45 +
 .../BubbleGraphTableLayoutView_tmpl.html        |    79 +
 .../dashboard/ComponentListView_tmpl.html       |    35 +
 .../dashboard/ComponentsView_tmpl.html          |    57 +
 .../dashboard/DashboardLayoutView_tmpl.html     |    28 +
 .../templates/dashboard/DashboardView_tmpl.html |   122 +
 .../dashboard/GridTableLayoutView_tmpl.html     |    28 +
 .../templates/dashboard/HostListView_tmpl.html  |    48 +
 .../templates/dashboard/HostsView_tmpl.html     |    56 +
 .../templates/dashboard/LogDetailView_tmpl.html |    75 +
 .../dashboard/LogLevelBoxView_tmpl.html         |    44 +
 .../templates/dashboard/LogLevelView_tmpl.html  |   110 +
 .../dashboard/MainLayoutView_tmpl.html          |   232 +
 .../dialog/ApplySearchFilterView_tmpl.html      |    30 +
 .../dialog/DetailLogFileView_tmpl.html          |    22 +
 .../GlobalExclusionCompositeView_tmpl.html      |    32 +
 .../dialog/GlobalExclusionItemView_tmpl.html    |    26 +
 .../dialog/GridGraphSettingView_tmpl.html       |   284 +
 .../dialog/SaveSearchFilterView_tmpl.html       |    70 +
 .../dialog/TimeZoneChangeView_tmpl.html         |   475 +
 .../filter/CreateLogfeederFilter_tmpl.html      |    51 +
 .../templates/graphs/GraphLayoutView_tmpl.html  |    49 +
 .../graphs/GridGraphLayoutView_tmpl.html        |    28 +
 .../src/main/webapp/templates/graphs/backup.js  |   586 +
 .../main/webapp/templates/helpers/Helpers.js    |   559 +
 .../tabs/ComparisonLayoutView_tmpl.html         |    20 +
 .../templates/tabs/ComparisonView_tmpl.html     |    56 +
 .../tabs/EventHistoryLayoutView_tmpl.html       |    45 +
 .../templates/tabs/ExportLogFileView_tmpl.html  |    46 +
 .../tabs/HierarchyTabLayoutView_tmpl.html       |   124 +
 .../tabs/HostInfoTabLayoutView_tmpl.html        |    46 +
 .../webapp/templates/tabs/LogFileView_tmpl.html |   168 +
 .../webapp/templates/tabs/TreeView_tmpl.html    |    97 +
 .../templates/tabs/VisualSearchView_tmpl.html   |    20 +
 .../TroubleShootLayoutView_tmpl.html            |   149 +
 .../main/webapp/themejs/1.3.0/bootstrap.min.js  |    19 +
 ambari-logsearch/pom.xml                        |   170 +
 pom.xml                                         |     3 +
 1146 files changed, 359829 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/README.md
----------------------------------------------------------------------
diff --git a/ambari-logsearch/README.md b/ambari-logsearch/README.md
new file mode 100644
index 0000000..04fdf2f
--- /dev/null
+++ b/ambari-logsearch/README.md
@@ -0,0 +1,16 @@
+# logsearch
+RPM/DPKG Build Process
+=============
+
+1. Check out the code from GIT repository
+
+2. On the logsearch root folder, please execute the following Maven command to build RPM/DPKG:
+
+  $ mvn -Dbuild-rpm clean package
+
+  or
+
+  $ mvn -Dbuild-deb clean package
+
+3. Generated RPM/DPKG files will be found in ambari-logsearch-assembly/target folder
+  

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/.gitignore
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/.gitignore b/ambari-logsearch/ambari-logsearch-appender/.gitignore
new file mode 100644
index 0000000..a8ab5af
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/.gitignore
@@ -0,0 +1,2 @@
+logs/*
+target

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/build.properties
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/build.properties b/ambari-logsearch/ambari-logsearch-appender/build.properties
new file mode 100644
index 0000000..95ea4ac
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/build.properties
@@ -0,0 +1,13 @@
+#   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.
+
+# log4j configuration used during build and unit tests

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/build.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/build.xml b/ambari-logsearch/ambari-logsearch-appender/build.xml
new file mode 100644
index 0000000..37708be
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/build.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project basedir="." default="build" name="logfeeder">
+  <property environment="env" />
+  <property name="debuglevel" value="source,lines,vars" />
+  <dirname property="builddir" file="build.xml" />
+  <property name="target" value="1.7" />
+  <property name="source" value="1.7" />
+  <property file="local.properties" />
+  <property file="build.properties" />
+  <target name="init">
+  </target>
+  <target name="build" />
+  
+  <target name="package">
+    <delete dir="target/package" />
+    <copy todir="target/package/libs" includeEmptyDirs="no">
+      <fileset file="target/ambari-logsearch-appender.jar" />
+    </copy>
+    <tar compression="gzip" destfile="target/ambari-logsearch-appender.tar.gz">
+      <tarfileset dir="target/package" />
+    </tar>
+  </target>
+  <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects" />
+</project>

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/pom.xml b/ambari-logsearch/ambari-logsearch-appender/pom.xml
new file mode 100644
index 0000000..85852f6
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/pom.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>ambari-logsearch</artifactId>
+    <groupId>org.apache.ambari</groupId>
+    <version>2.0.0.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.apache.ambari</groupId>
+  <artifactId>ambari-logsearch-appender</artifactId>
+  <version>2.0.0.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>Ambari Logsearch Appender</name>
+
+  <url>http://maven.apache.org</url>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+    <jar.finalName>ambari-logsearch-appender</jar.finalName>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <version>1.7</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <configuration>
+              <target>
+                <ant antfile="build.xml">
+                  <target name="package"/>
+                </ant>
+              </target>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.17</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.gson</groupId>
+      <artifactId>gson</artifactId>
+      <version>2.6.2</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchAppender.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchAppender.java b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchAppender.java
new file mode 100644
index 0000000..4339a21
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchAppender.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.ambari.logsearch.appender;
+
+import org.apache.log4j.DailyRollingFileAppender;
+import org.apache.log4j.Layout;
+import org.apache.log4j.Logger;
+import org.apache.log4j.spi.LoggingEvent;
+
+public class LogsearchAppender extends DailyRollingFileAppender {
+  private static Logger logger = Logger.getLogger(LogsearchAppender.class);
+
+  public LogsearchAppender() {
+    logger.debug("Initializing LogsearchAppender........... ");
+  }
+
+  @Override
+  public void append(LoggingEvent event) {
+    super.append(event);
+  }
+
+  @Override
+  public void setLayout(Layout layout) {
+    super.setLayout(layout);
+  }
+
+  protected void subAppend(LoggingEvent event) {
+    this.qw.write(this.layout.format(event));
+    if (shouldFlush(event)) {
+      this.qw.flush();
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchConversion.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchConversion.java b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchConversion.java
new file mode 100644
index 0000000..b9e7527
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/LogsearchConversion.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ambari.logsearch.appender;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+import org.apache.log4j.EnhancedPatternLayout;
+import org.apache.log4j.spi.LoggingEvent;
+
+public class LogsearchConversion extends EnhancedPatternLayout {
+  //
+  protected final int BUF_SIZE = 256;
+  protected final int MAX_CAPACITY = 1024;
+
+  private StringBuffer sbuf = new StringBuffer(BUF_SIZE);
+
+  private String newLine = System.getProperty("line.separator");
+
+  public LogsearchConversion() {
+  }
+
+  public String format(LoggingEvent event) {
+    if (sbuf.capacity() > MAX_CAPACITY) {
+      sbuf = new StringBuffer(BUF_SIZE);
+    } else {
+      sbuf.setLength(0);
+    }
+    String outputStr = createOutput(event);
+    sbuf.append(outputStr + newLine);
+    return sbuf.toString();
+  }
+
+  public String createOutput(LoggingEvent event) {
+    VOutput vOutput = new VOutput();
+    vOutput.setLevel(event.getLevel().toString());
+    vOutput.setFile(event.getLocationInformation().getFileName());
+    vOutput.setLine_number(Integer.parseInt(event.getLocationInformation().getLineNumber()));
+    String logmsg = event.getMessage() != null ? event.getMessage().toString() : "";
+    if (event.getThrowableInformation() != null && event.getThrowableInformation().getThrowable() != null) {
+      logmsg += newLine + stackTraceToString(event.getThrowableInformation().getThrowable());
+    }
+    vOutput.setLog_message(logmsg);
+    vOutput.setLogtime("" + event.getTimeStamp());
+    vOutput.setLogger_name("" + event.getLoggerName());
+    vOutput.setThread_name(event.getThreadName());
+    return vOutput.toJson();
+  }
+
+  public String stackTraceToString(Throwable e) {
+    StringWriter sw = new StringWriter();
+    PrintWriter pw = new PrintWriter(sw);
+    e.printStackTrace(pw);
+    return sw.toString();
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VBase.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VBase.java b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VBase.java
new file mode 100644
index 0000000..4e91ccc
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VBase.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.ambari.logsearch.appender;
+
+import java.lang.reflect.Field;
+
+import org.apache.log4j.Logger;
+
+import com.google.gson.Gson;
+
+public class VBase {
+  private static Logger logger = Logger.getLogger(VBase.class);
+
+  /**
+   *
+   */
+  @Override
+  public String toString() {
+    @SuppressWarnings("rawtypes")
+    Class klass = this.getClass();
+    Field[] fields = klass.getDeclaredFields();
+    StringBuilder builder = new StringBuilder(klass.getSimpleName() + "={");
+    for (Field field : fields) {
+      try {
+        field.setAccessible(true);
+        Object fieldValue = field.get(this);
+        String fieldName = field.getName();
+        if (!fieldName.equalsIgnoreCase("serialVersionUID")) {
+          builder.append(fieldName + "={" + fieldValue + "} ");
+        }
+
+      } catch (Exception e) {
+        logger.error(e.getLocalizedMessage(), e);
+      }
+    }
+    builder.append("}");
+
+    return builder.toString();
+  }
+
+  public String toJson() {
+    Gson gson = new Gson();
+    String json = gson.toJson(this);
+    return json;
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/39c85bb8/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VOutput.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VOutput.java b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VOutput.java
new file mode 100644
index 0000000..61da1da
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-appender/src/main/java/org/apache/ambari/logsearch/appender/VOutput.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ambari.logsearch.appender;
+
+public class VOutput extends VBase {
+
+  private String level;
+  private String file;
+  private String thread_name;
+  private int line_number;
+  private String log_message;
+  private String logger_name;
+  private String logtime;
+
+  public String getLevel() {
+    return level;
+  }
+
+  public void setLevel(String level) {
+    this.level = level;
+  }
+
+  public String getFile() {
+    return file;
+  }
+
+  public void setFile(String file) {
+    this.file = file;
+  }
+
+  public String getThread_name() {
+    return thread_name;
+  }
+
+  public void setThread_name(String thread_name) {
+    this.thread_name = thread_name;
+  }
+
+  public int getLine_number() {
+    return line_number;
+  }
+
+  public void setLine_number(int line_number) {
+    this.line_number = line_number;
+  }
+
+  public String getLog_message() {
+    return log_message;
+  }
+
+  public void setLog_message(String log_message) {
+    this.log_message = log_message;
+  }
+
+  public String getLogger_name() {
+    return logger_name;
+  }
+
+  public void setLogger_name(String logger_name) {
+    this.logger_name = logger_name;
+  }
+
+  public String getLogtime() {
+    return logtime;
+  }
+
+  public void setLogtime(String logtime) {
+    this.logtime = logtime;
+  }
+
+}