├── .dir-locals.el ├── .eslintrc.yml ├── .gitignore ├── .travis.yml ├── COPYING ├── COPYING.GPLv3 ├── COPYING.LGPLv3 ├── CodingConvention.md ├── Gulpfile.js ├── Makefile.am ├── README.md ├── ReleaseNote ├── autogen.sh ├── client ├── HowToTest.md ├── Makefile.am ├── README.md ├── conf │ ├── apache │ │ ├── django.wsgi │ │ ├── hatohol.conf.package6 │ │ ├── hatohol.conf.package7 │ │ └── hatohol.site │ ├── locale │ │ └── ja │ │ │ └── LC_MESSAGES │ │ │ ├── django.po │ │ │ └── djangojs.po │ └── webui.conf ├── hatohol │ ├── __init__.py │ ├── autotools_vars.py.in │ ├── base_settings.py │ ├── branding_settings.py │ ├── django_realize.py │ ├── forwardview.py │ ├── hatoholserver.py │ ├── models.py │ ├── settings_devel.py │ ├── settings_product.py │ ├── smartfield.py │ ├── urls.py │ ├── views.py │ └── wsgi.py ├── manage.py ├── static │ ├── css.external │ │ ├── bootstrap-select.css │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ ├── jquery-ui-slider-pips.min.css │ │ ├── jquery.datetimepicker.css │ │ ├── spectrum.css │ │ └── themes │ │ │ └── ui-lightness │ │ │ ├── images │ │ │ ├── ui-bg_diagonals-thick_20_666666_40x40.png │ │ │ ├── ui-bg_glass_100_f6f6f6_1x400.png │ │ │ ├── ui-bg_glass_100_fdf5ce_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_gloss-wave_35_f6a828_500x100.png │ │ │ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ └── ui-icons_ef8c08_256x240.png │ │ │ └── jquery-ui.css │ ├── css │ │ ├── hatohol.css │ │ └── zabbix.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── images │ │ ├── favicon.ico │ │ ├── icon_push_hatohol.png │ │ └── logo_hatohol.png │ ├── js.external │ │ ├── bootstrap-select.js │ │ ├── bootstrap.min.js │ │ ├── desktop-notify-min.js │ │ ├── jquery-deparam.min.js │ │ ├── jquery-ui-slider-pips.min.js │ │ ├── jquery-ui.min.js │ │ ├── jquery.datetimepicker.js │ │ ├── jquery.flot.js │ │ ├── jquery.flot.pie.js │ │ ├── jquery.flot.resize.js │ │ ├── jquery.flot.selection.js │ │ ├── jquery.flot.time.js │ │ ├── jquery.min.js │ │ ├── jquery.shiftcheckbox.js │ │ ├── jstz.min.js │ │ ├── multiselect.min.js │ │ └── spectrum.js │ ├── js.plugins │ │ ├── hap2-ceilometer.js │ │ ├── hap2-fluentd.js │ │ ├── hap2-nagios-livestatus.js │ │ ├── hap2-nagios-ndoutils.js │ │ ├── hap2-zabbix.js │ │ └── hapi-json.js │ └── js │ │ ├── actions_view.js │ │ ├── before_close.js │ │ ├── custom_incident_labels_view.js │ │ ├── dashboard_view.js │ │ ├── events_view.js │ │ ├── graphs_view.js │ │ ├── hatohol_actor_mail_dialog.js │ │ ├── hatohol_add_action_dialog.js │ │ ├── hatohol_connector.js │ │ ├── hatohol_dialog.js │ │ ├── hatohol_events_view_config.js │ │ ├── hatohol_graph.js │ │ ├── hatohol_history_loader.js │ │ ├── hatohol_host_selector.js │ │ ├── hatohol_hostgroup_privilege_edit_dialog.js │ │ ├── hatohol_hostgroup_selector.js │ │ ├── hatohol_incident_trackers_editor.js │ │ ├── hatohol_item_remover.js │ │ ├── hatohol_item_selector.js │ │ ├── hatohol_item_update.js │ │ ├── hatohol_log_search_system_editor.js │ │ ├── hatohol_login_dialog.js │ │ ├── hatohol_message_box.js │ │ ├── hatohol_modal.js │ │ ├── hatohol_monitoring_view.js │ │ ├── hatohol_navi.js │ │ ├── hatohol_pager.js │ │ ├── hatohol_password_changer.js │ │ ├── hatohol_privilege_edit_dialog.js │ │ ├── hatohol_reconnection_modal.js │ │ ├── hatohol_reply_parser.js │ │ ├── hatohol_selector_dialog.js │ │ ├── hatohol_server_bulkupload_dialog.js │ │ ├── hatohol_server_edit_dialog_parameterized.js │ │ ├── hatohol_server_selector.js │ │ ├── hatohol_session_manager.js │ │ ├── hatohol_time_range_selector.js │ │ ├── hatohol_tracer.js │ │ ├── hatohol_trigger_selector.js │ │ ├── hatohol_triggers_view_config.js │ │ ├── hatohol_user_edit_dialog.js │ │ ├── hatohol_user_profile.js │ │ ├── hatohol_user_roles_editor.js │ │ ├── hatohol_userconfig.js │ │ ├── hatohol_version.js.in │ │ ├── history_view.js │ │ ├── incident_settings_view.js │ │ ├── latest_view.js │ │ ├── log_search_systems_view.js │ │ ├── overview_items.js │ │ ├── overview_triggers.js │ │ ├── push_notify.js │ │ ├── servers_view.js │ │ ├── severity_ranks_view.js │ │ ├── triggers_view.js │ │ ├── users_view.js │ │ └── utils.js ├── tasting │ ├── hatohol_connector.html │ ├── hatohol_login_dialog.html │ ├── hatohol_message_box.html │ ├── hatohol_session_manager.html │ ├── index.html │ └── js_loader.js ├── test │ ├── Makefile.am │ ├── __init__.py │ ├── browser │ │ ├── index.html │ │ ├── test_actions_view.js │ │ ├── test_custom_incident_labels_view.js │ │ ├── test_events_view.js │ │ ├── test_graphs_view.js │ │ ├── test_hap2_ceilometer.js │ │ ├── test_hap2_fluentd.js │ │ ├── test_hap2_zabbix.js │ │ ├── test_hatohol_connector.js │ │ ├── test_hatohol_events_view_config.js │ │ ├── test_hatohol_incident_tracker_editor.js │ │ ├── test_hatohol_message_box.js │ │ ├── test_hatohol_modal.js │ │ ├── test_hatohol_monitoring_view.js │ │ ├── test_hatohol_navi.js │ │ ├── test_hatohol_pager.js │ │ ├── test_hatohol_reply_parser.js │ │ ├── test_hatohol_session_manager.js │ │ ├── test_hatohol_tracer.js │ │ ├── test_hatohol_user_edit_dialog.js │ │ ├── test_hatohol_user_profile.js │ │ ├── test_hatohol_user_roles_editor.js │ │ ├── test_hatohol_userconfig.js │ │ ├── test_history_view.js │ │ ├── test_incident_settings_view.js │ │ ├── test_latest_view.js │ │ ├── test_log_search_systems_view.js │ │ ├── test_overview_items.js │ │ ├── test_server_view.js │ │ ├── test_severity_ranks_view.js │ │ ├── test_triggers_view.js │ │ ├── test_users_view.js │ │ └── test_utils.js │ ├── feature │ │ ├── dashboard_test.js │ │ ├── feature_test_utils.js │ │ ├── login_logout_test.js │ │ ├── register_action_test.js │ │ ├── register_incident_setting_test.js │ │ ├── register_log_search_system_test.js │ │ ├── register_redmine_test.js │ │ ├── register_server_test.js │ │ ├── register_user_access_info_test.js │ │ ├── register_user_roles_test.js │ │ ├── register_users_test.js │ │ └── run-test.sh │ └── python │ │ ├── TestEventFiltersView.py │ │ ├── TestGraphsView.py │ │ ├── TestHatoholserver.py │ │ ├── TestLogSearchSystemsView.py │ │ ├── TestUserConfig.py │ │ ├── TestUserConfigView.py │ │ ├── __init__.py │ │ ├── hatohol_server_emulator.py │ │ ├── run-test.sh │ │ ├── testsettings.py │ │ └── utils.py └── viewer │ ├── __init__.py │ ├── actions_ajax.html │ ├── base_ajax.html │ ├── custom_incident_labels_ajax.html │ ├── dashboard_ajax.html │ ├── events_ajax.html │ ├── graphs_ajax.html │ ├── history_ajax.html │ ├── hosts_ajax.html │ ├── incident_settings_ajax.html │ ├── latest_ajax.html │ ├── log_search_systems_ajax.html │ ├── models.py │ ├── overview_items_ajax.html │ ├── overview_triggers_ajax.html │ ├── servers_ajax.html │ ├── severity_ranks_ajax.html │ ├── tests.py │ ├── triggers_ajax.html │ ├── urls.py │ ├── userconfig.py │ ├── users_ajax.html │ └── views.py ├── configure.ac ├── data ├── Makefile.am ├── init.d │ ├── Makefile.am │ ├── centos │ │ ├── Makefile.am │ │ ├── generate_hap2_init_file.sh.in │ │ └── hatohol.centos.in │ └── debian │ │ ├── Makefile.am │ │ └── hatohol.debian.in ├── systemd │ ├── Makefile.am │ ├── generate_hap2_service_file.sh.in │ ├── generate_service_file.sh.in │ └── hatohol.conf.in └── test │ ├── Makefile.am │ └── setup.sql ├── debian ├── README.Debian ├── README.source ├── changelog ├── compat ├── control ├── copyright ├── docs ├── hatohol.cron.d.ex ├── hatohol.default.ex ├── hatohol.doc-base.EX ├── init.d.ex ├── manpage.1.ex ├── menu.ex ├── postinst.ex ├── postrm.ex ├── preinst.ex ├── prerm.ex ├── rules ├── source │ └── format └── watch.ex ├── doc ├── README ├── install │ └── README ├── markdown-checker │ ├── README │ └── markdown-checker.php ├── misc │ ├── README │ ├── access-sequence.odg │ ├── hatohol-basic-architecture.odg │ ├── hatohol-basic-architecture.png │ ├── hatohol-overview.ai │ ├── hatohol-overview.png │ ├── nagios-setup-cent6.md │ ├── screenshot-dashboard.png │ ├── screenshot-events.png │ └── screenshot-servers.png ├── pics │ ├── hapi-example.odg │ ├── hapi-example.png │ ├── hatohol-client-dialogs.odg │ ├── hatohol-client-dialogs.png │ ├── hatohol-client-structure.odg │ ├── hatohol-client-structure.png │ ├── hatohol-server-structure.odg │ ├── hatohol-server-structure.png │ ├── item-table.odg │ └── item-table.png ├── server │ ├── README │ ├── doxygen.conf │ ├── hap2 │ │ ├── HowToUse.md │ │ └── how-to-setup-livestatus.md │ └── rest-api │ │ ├── Makefile │ │ ├── common-properties.rst │ │ ├── conf.py │ │ ├── events.rst │ │ ├── index.rst │ │ ├── items.rst │ │ ├── overview.rst │ │ ├── servers.rst │ │ └── triggers.rst └── upgrade │ └── README ├── hatohol.spec.in ├── package.json ├── server ├── Makefile.am ├── QUICK-REF.md ├── README ├── README.md ├── benchmark │ ├── Makefile.am │ └── bench-string-join.cc ├── common │ ├── AMQPConnection.cc │ ├── AMQPConnection.h │ ├── AMQPConnectionInfo.cc │ ├── AMQPConnectionInfo.h │ ├── AMQPConsumer.cc │ ├── AMQPConsumer.h │ ├── AMQPMessageHandler.cc │ ├── AMQPMessageHandler.h │ ├── AMQPPublisher.cc │ ├── AMQPPublisher.h │ ├── ArmPluginInfo.cc │ ├── ArmPluginInfo.h │ ├── ArmStatus.cc │ ├── ArmStatus.h │ ├── DataStoreException.cc │ ├── DataStoreException.h │ ├── EndianConverter.h │ ├── HatoholArmPluginInterfaceHAPI2.cc │ ├── HatoholArmPluginInterfaceHAPI2.h │ ├── HatoholError.cc │ ├── HatoholError.h │ ├── HatoholException.cc │ ├── HatoholException.h │ ├── HatoholThreadBase.cc │ ├── HatoholThreadBase.h │ ├── ItemData.cc │ ├── ItemData.h │ ├── ItemDataPtr.h │ ├── ItemDataUtils.cc │ ├── ItemDataUtils.h │ ├── ItemEnum.h │ ├── ItemGroup.cc │ ├── ItemGroup.h │ ├── ItemGroupPtr.cc │ ├── ItemGroupPtr.h │ ├── ItemGroupType.cc │ ├── ItemGroupType.h │ ├── ItemTable.cc │ ├── ItemTable.h │ ├── ItemTablePtr.cc │ ├── ItemTablePtr.h │ ├── JSONBuilder.cc │ ├── JSONBuilder.h │ ├── JSONParser.cc │ ├── JSONParser.h │ ├── JSONParserPositionStack.cc │ ├── Makefile.am │ ├── Monitoring.h │ ├── MonitoringServerInfo.cc │ ├── MonitoringServerInfo.h │ ├── NamedPipe.cc │ ├── NamedPipe.h │ ├── Params.h │ ├── UsedCountable.cc │ ├── UsedCountable.h │ ├── UsedCountablePtr.cc │ ├── UsedCountablePtr.h │ ├── Utils.cc │ └── Utils.h ├── data │ ├── 30-custom-incident-statuses.sql │ ├── 30-severity-ranks.sql │ ├── 50-incident-trackers.sql │ ├── 55-actions.sql │ ├── 90-server-type-hap2-ceilometer.sql │ ├── 90-server-type-hap2-fluentd.sql │ ├── 90-server-type-hap2-nagios-livestatus.sql │ ├── 90-server-type-hap2-nagios-ndoutils.sql │ ├── 90-server-type-hap2-zabbix.sql │ ├── Makefile.am │ ├── create-db.sql │ └── hatohol.conf ├── hap2 │ ├── Makefile.am │ ├── hap2-control-functions.sh.in │ ├── hap2-logging.conf │ ├── hap2.conf.in │ ├── hatohol │ │ ├── Makefile.am │ │ ├── __init__.py │ │ ├── autotools_vars.py.in │ │ ├── hap.py │ │ ├── hap2_ceilometer.py │ │ ├── hap2_fluentd.py │ │ ├── hap2_nagios_livestatus.py │ │ ├── hap2_nagios_ndoutils.py │ │ ├── hap2_starter.py │ │ ├── hap2_starter_alive.py │ │ ├── hap2_zabbix_api.py │ │ ├── hapcommon.py │ │ ├── haplib.py │ │ ├── misc │ │ │ ├── fluentd-syslog.example.conf │ │ │ ├── logging.example.conf │ │ │ ├── ms-info-ceilometer.example.json │ │ │ └── ms-info-ndoutils-example.json │ │ ├── rabbitmqconnector.py │ │ ├── simple_caller.py │ │ ├── simple_server.py │ │ ├── standardhap.py │ │ ├── test │ │ │ ├── README │ │ │ ├── TestHap.py │ │ │ ├── TestHap2Ceilometer.py │ │ │ ├── TestHap2Fluentd.py │ │ │ ├── TestHap2NagiosLivestatus.py │ │ │ ├── TestHap2NagiosNdoutils.py │ │ │ ├── TestHap2ZabbixApi.py │ │ │ ├── TestHapCommon.py │ │ │ ├── TestHaplib.py │ │ │ ├── TestRabbitMQConnector.py │ │ │ ├── TestStandardHap.py │ │ │ ├── TestTransporter.py │ │ │ ├── TestTransporters.py │ │ │ ├── TestZabbixApi.py │ │ │ ├── __init__.py │ │ │ ├── hap2-fluentd-tester.sh │ │ │ ├── make_afunix_socket.py │ │ │ ├── run-test.sh │ │ │ ├── setup.sh │ │ │ ├── stub.py │ │ │ ├── test_urllib2.py │ │ │ └── testutils.py │ │ ├── transporter.py │ │ ├── transporters │ │ │ ├── __init__.py │ │ │ └── rabbitmqhapiconnector.py │ │ └── zabbixapi.py │ ├── setup_common.py │ ├── setup_rabbitmqconnector.py │ ├── setup_zabbixapi.py │ ├── start-stop-hap2-ceilometer.sh │ ├── start-stop-hap2-fluentd.sh │ ├── start-stop-hap2-nagios-livestatus.sh │ ├── start-stop-hap2-nagios-ndoutils.sh │ └── start-stop-hap2-zabbix-api.sh ├── log │ ├── Makefile.am │ ├── hatohol-arm-plugin2 │ ├── hatohol-server │ └── hatohol-syslog.conf ├── misc │ ├── ndoutils.mysql │ ├── setup-cutter.sh │ ├── setup-librabbitmq-ppa.sh │ └── setup-rabbitmq-server-port.sh ├── mlpl │ ├── Makefile.am │ ├── mlpl.pc.in │ ├── src │ │ ├── AtomicValue.h │ │ ├── EventSemaphore.cc │ │ ├── EventSemaphore.h │ │ ├── Logger.cc │ │ ├── Logger.h │ │ ├── Makefile.am │ │ ├── Mutex.cc │ │ ├── Mutex.h │ │ ├── ParsableString.cc │ │ ├── ParsableString.h │ │ ├── ReadWriteLock.cc │ │ ├── ReadWriteLock.h │ │ ├── Reaper.h │ │ ├── SeparatorInjector.cc │ │ ├── SeparatorInjector.h │ │ ├── SimpleSemaphore.cc │ │ ├── SimpleSemaphore.h │ │ ├── SmartBuffer.cc │ │ ├── SmartBuffer.h │ │ ├── SmartQueue.h │ │ ├── SmartTime.cc │ │ ├── SmartTime.h │ │ ├── StringUtils.cc │ │ └── StringUtils.h │ └── test │ │ ├── Makefile.am │ │ ├── loggerTestee.cc │ │ ├── loggerTester.h │ │ ├── run-test.sh │ │ ├── testAtomicValue.cc │ │ ├── testEventSemaphore.cc │ │ ├── testLogger.cc │ │ ├── testMutex.cc │ │ ├── testParsableString.cc │ │ ├── testReadWriteLock.cc │ │ ├── testReaper.cc │ │ ├── testSeparatorInjector.cc │ │ ├── testSimpleSemaphore.cc │ │ ├── testSmartBuffer.cc │ │ ├── testSmartQueue.cc │ │ ├── testSmartTime.cc │ │ └── testStringUtils.cc ├── src │ ├── ActionExecArgMaker.cc │ ├── ActionExecArgMaker.h │ ├── ActionManager.cc │ ├── ActionManager.h │ ├── ActorCollector.cc │ ├── ActorCollector.h │ ├── ArmBase.cc │ ├── ArmBase.h │ ├── ArmFake.cc │ ├── ArmFake.h │ ├── ArmIncidentTracker.cc │ ├── ArmIncidentTracker.h │ ├── ArmRedmine.cc │ ├── ArmRedmine.h │ ├── ArmUtils.cc │ ├── ArmUtils.h │ ├── ChildProcessManager.cc │ ├── ChildProcessManager.h │ ├── Closure.h │ ├── ConfigManager.cc │ ├── ConfigManager.h │ ├── DB.cc │ ├── DB.h │ ├── DBAgent.cc │ ├── DBAgent.h │ ├── DBAgentFactory.cc │ ├── DBAgentFactory.h │ ├── DBAgentMySQL.cc │ ├── DBAgentMySQL.h │ ├── DBAgentSQLite3.cc │ ├── DBAgentSQLite3.h │ ├── DBClientJoinBuilder.cc │ ├── DBClientJoinBuilder.h │ ├── DBHatohol.cc │ ├── DBHatohol.h │ ├── DBTables.cc │ ├── DBTables.h │ ├── DBTablesAction.cc │ ├── DBTablesAction.h │ ├── DBTablesConfig.cc │ ├── DBTablesConfig.h │ ├── DBTablesHost.cc │ ├── DBTablesHost.h │ ├── DBTablesLastInfo.cc │ ├── DBTablesLastInfo.h │ ├── DBTablesMonitoring.cc │ ├── DBTablesMonitoring.h │ ├── DBTablesUser.cc │ ├── DBTablesUser.h │ ├── DBTermCStringProvider.cc │ ├── DBTermCStringProvider.h │ ├── DBTermCodec.cc │ ├── DBTermCodec.h │ ├── DataQueryContext.cc │ ├── DataQueryContext.h │ ├── DataQueryOption.cc │ ├── DataQueryOption.h │ ├── DataStore.cc │ ├── DataStore.h │ ├── DataStoreFactory.cc │ ├── DataStoreFactory.h │ ├── DataStoreFake.cc │ ├── DataStoreFake.h │ ├── DataStoreManager.cc │ ├── DataStoreManager.h │ ├── FaceBase.cc │ ├── FaceBase.h │ ├── FaceRest.cc │ ├── FaceRest.h │ ├── FaceRestPrivate.h │ ├── GateJSONEventMessage.cc │ ├── GateJSONEventMessage.h │ ├── Hatohol.cc │ ├── Hatohol.h │ ├── HatoholArmPluginGateHAPI2.cc │ ├── HatoholArmPluginGateHAPI2.h │ ├── HatoholArmPluginGateJSON.cc │ ├── HatoholArmPluginGateJSON.h │ ├── HatoholDBUtils.cc │ ├── HatoholDBUtils.h │ ├── HatoholServer.cc │ ├── HostInfoCache.cc │ ├── HostInfoCache.h │ ├── HostResourceQueryOption.cc │ ├── HostResourceQueryOption.h │ ├── IncidentSender.cc │ ├── IncidentSender.h │ ├── IncidentSenderHatohol.cc │ ├── IncidentSenderHatohol.h │ ├── IncidentSenderManager.cc │ ├── IncidentSenderManager.h │ ├── IncidentSenderRedmine.cc │ ├── IncidentSenderRedmine.h │ ├── ItemFetchWorker.cc │ ├── ItemFetchWorker.h │ ├── ItemGroupEnum.h │ ├── ItemGroupStream.cc │ ├── ItemGroupStream.h │ ├── ItemTableUtils.h │ ├── LabelUtils.cc │ ├── LabelUtils.h │ ├── Makefile.am │ ├── OperationPrivilege.cc │ ├── OperationPrivilege.h │ ├── RedmineAPI.cc │ ├── RedmineAPI.h │ ├── ResidentCommunicator.cc │ ├── ResidentCommunicator.h │ ├── ResidentProtocol.h │ ├── RestResourceAction.cc │ ├── RestResourceAction.h │ ├── RestResourceCustomIncidentStatus.cc │ ├── RestResourceCustomIncidentStatus.h │ ├── RestResourceIncident.cc │ ├── RestResourceIncident.h │ ├── RestResourceIncidentTracker.cc │ ├── RestResourceIncidentTracker.h │ ├── RestResourceMonitoring.cc │ ├── RestResourceMonitoring.h │ ├── RestResourceServer.cc │ ├── RestResourceServer.h │ ├── RestResourceSeverityRank.cc │ ├── RestResourceSeverityRank.h │ ├── RestResourceSummary.cc │ ├── RestResourceSummary.h │ ├── RestResourceSystem.cc │ ├── RestResourceSystem.h │ ├── RestResourceUser.cc │ ├── RestResourceUser.h │ ├── RestResourceUtils.cc │ ├── RestResourceUtils.h │ ├── SQLProcessorTypes.h │ ├── SQLUtils.cc │ ├── SQLUtils.h │ ├── SelfMonitor.cc │ ├── SelfMonitor.h │ ├── SessionManager.cc │ ├── SessionManager.h │ ├── StatisticsCounter.cc │ ├── StatisticsCounter.h │ ├── ThreadLocalDBCache.cc │ ├── ThreadLocalDBCache.h │ ├── TriggerFetchWorker.cc │ ├── TriggerFetchWorker.h │ ├── UnifiedDataStore.cc │ ├── UnifiedDataStore.h │ ├── hatoholResidentYard.cc │ └── main.cc ├── test │ ├── ActionTp.cc │ ├── ActionTp.h │ ├── AssertJoin.h │ ├── DBAgentTest.cc │ ├── DBAgentTest.h │ ├── DBTablesTest.cc │ ├── DBTablesTest.h │ ├── DBTest.cc │ ├── DBTest.h │ ├── DataSamples.cc │ ├── DataSamples.h │ ├── ExceptionTestUtils.h │ ├── FaceRestTestUtils.cc │ ├── FaceRestTestUtils.h │ ├── HatoholArmPluginGateTest.cc │ ├── HatoholArmPluginGateTest.h │ ├── HatoholArmPluginInterfaceTest.cc │ ├── HatoholArmPluginInterfaceTest.h │ ├── HatoholArmPluginTestPair.cc │ ├── HatoholArmPluginTestPair.h │ ├── Helpers.cc │ ├── Helpers.h │ ├── HttpServerStub.cc │ ├── HttpServerStub.h │ ├── Makefile.am │ ├── MultiLangTest.h │ ├── README │ ├── RedmineAPIEmulator.cc │ ├── RedmineAPIEmulator.h │ ├── Synchronizer.cc │ ├── Synchronizer.h │ ├── TestHostResourceQueryOption.cc │ ├── TestHostResourceQueryOption.h │ ├── fixtures │ │ ├── Makefile.am │ │ ├── events-with-hostgroup-name-filter-response.json │ │ ├── mkFooTable.sh │ │ ├── redmine-issues.json │ │ ├── testJSON01.json │ │ ├── testJSON02.json │ │ ├── testJSON03.json │ │ ├── testJSON04.json │ │ ├── testJSON05.json │ │ ├── testJSON06.json │ │ ├── zabbix-api-2_2_0-res-applications.json │ │ ├── zabbix-api-2_2_0-res-items.json │ │ ├── zabbix-api-2_2_0-res-triggers.json │ │ ├── zabbix-api-2_3_0-res-items.json │ │ ├── zabbix-api-2_3_0-res-triggers.json │ │ ├── zabbix-api-res-applications-003.json │ │ ├── zabbix-api-res-events-002.json │ │ ├── zabbix-api-res-history.json │ │ ├── zabbix-api-res-hostgroup-001.json │ │ ├── zabbix-api-res-hostgroup-002-refer.json │ │ ├── zabbix-api-res-hosts-001.json │ │ ├── zabbix-api-res-hosts-002.json │ │ ├── zabbix-api-res-items-001.json │ │ ├── zabbix-api-res-items-003.json │ │ ├── zabbix-api-res-login-001.json │ │ ├── zabbix-api-res-triggers-001.json │ │ ├── zabbix-api-res-triggers-003-hosts.json │ │ └── zabbix-api-res-triggers-extend-info.json │ ├── loop-test.sh │ ├── residentTest.cc │ ├── residentTest.h │ ├── run-test.sh │ ├── testAMQPConnection.cc │ ├── testAMQPConnectionInfo.cc │ ├── testActionExecArgMaker.cc │ ├── testActionManager.cc │ ├── testActorCollector.cc │ ├── testArmBase.cc │ ├── testArmPluginInfo.cc │ ├── testArmRedmine.cc │ ├── testArmStatus.cc │ ├── testArmUtils.cc │ ├── testChildProcessManager.cc │ ├── testConfigManager.cc │ ├── testDB.cc │ ├── testDBAgent.cc │ ├── testDBAgentMySQL.cc │ ├── testDBAgentSQLite3.cc │ ├── testDBClientJoinBuilder.cc │ ├── testDBClientUtils.cc │ ├── testDBTables.cc │ ├── testDBTablesAction.cc │ ├── testDBTablesConfig.cc │ ├── testDBTablesHost.cc │ ├── testDBTablesLastInfo.cc │ ├── testDBTablesMonitoring.cc │ ├── testDBTablesMonitoring.h │ ├── testDBTablesUser.cc │ ├── testDBTermCStringProvider.cc │ ├── testDBTermCodec.cc │ ├── testDataQueryContext.cc │ ├── testDataQueryOption.cc │ ├── testDataStoreFactory.cc │ ├── testDataStoreManager.cc │ ├── testFaceRest.cc │ ├── testFaceRestAction.cc │ ├── testFaceRestCustomIncidentStatus.cc │ ├── testFaceRestIncident.cc │ ├── testFaceRestIncidentTracker.cc │ ├── testFaceRestMonitoring.cc │ ├── testFaceRestNoInit.cc │ ├── testFaceRestServer.cc │ ├── testFaceRestSeverityRank.cc │ ├── testFaceRestSummary.cc │ ├── testFaceRestSystem.cc │ ├── testFaceRestUser.cc │ ├── testGateJSONEventMessage.cc │ ├── testHatoholArmPluginGateHAPI2.cc │ ├── testHatoholDBUtils.cc │ ├── testHatoholError.cc │ ├── testHatoholException.cc │ ├── testHatoholThreadBase.cc │ ├── testHostInfoCache.cc │ ├── testHostResourceQueryOption.cc │ ├── testHostResourceQueryOptionSubClasses.cc │ ├── testIncidentSenderHatohol.cc │ ├── testIncidentSenderManager.cc │ ├── testIncidentSenderRedmine.cc │ ├── testItemData.cc │ ├── testItemDataPtr.cc │ ├── testItemDataUtils.cc │ ├── testItemGroup.cc │ ├── testItemGroupStream.cc │ ├── testItemGroupType.cc │ ├── testItemTable.cc │ ├── testItemTablePtr.cc │ ├── testJSONBuilder.cc │ ├── testJSONParser.cc │ ├── testJSONParserPositionStack.cc │ ├── testMain.cc │ ├── testNamedPipe.cc │ ├── testOperationPrivilege.cc │ ├── testSQLUtils.cc │ ├── testSelfMonitor.cc │ ├── testSessionManager.cc │ ├── testStatisticsCounter.cc │ ├── testThreadLocalDBCache.cc │ ├── testUnifiedDataStore.cc │ ├── testUsedCountable.cc │ └── testUtils.cc └── tools │ ├── Makefile.am │ ├── hatohol-actor-mail │ ├── hatohol-db-initiator.in │ ├── hatohol-def-src-file-generator.cc │ ├── hatohol-house-keeper.in │ ├── hatohol-init-user-generator │ ├── hatohol-inspect-info-collector │ ├── hatohol-server-type-util │ ├── hatohol-voyager │ ├── hatohol │ ├── ActionCreator.py │ ├── Makefile.am │ ├── __init__.py │ ├── utils.py │ └── voyager.py │ ├── setup.py │ ├── test │ ├── TestHatoholUtils.py │ ├── TestHatoholVoyager.py │ └── run-test.sh │ └── tls │ ├── Makefile.am │ ├── hatohol-ca-initialize.in │ ├── hatohol-ca-sign-client-certificate.in │ ├── hatohol-ca-sign-server-certificate.in │ ├── hatohol-client-certificate-create │ └── hatohol-server-certificate-create ├── setup-with-ansible ├── README.md ├── Vagrantfile ├── roles │ ├── build │ │ └── tasks │ │ │ └── main.yml │ ├── config │ │ └── tasks │ │ │ └── main.yml │ ├── cutter │ │ ├── meta │ │ │ └── main.yml │ │ ├── redhat │ │ │ └── tasks │ │ │ │ └── main.yml │ │ ├── redhat7 │ │ │ └── tasks │ │ │ │ └── main.yml │ │ └── ubuntu │ │ │ └── tasks │ │ │ └── main.yml │ ├── libraries │ │ ├── meta │ │ │ └── main.yml │ │ ├── redhat │ │ │ └── tasks │ │ │ │ └── main.yml │ │ ├── redhat7 │ │ │ └── tasks │ │ │ │ └── main.yml │ │ └── ubuntu │ │ │ └── tasks │ │ │ └── main.yml │ ├── mysql-server │ │ ├── meta │ │ │ └── main.yml │ │ ├── redhat │ │ │ └── tasks │ │ │ │ └── main.yml │ │ ├── redhat7 │ │ │ └── tasks │ │ │ │ └── main.yml │ │ └── ubuntu │ │ │ └── tasks │ │ │ └── main.yml │ ├── nodejs │ │ ├── meta │ │ │ └── main.yml │ │ ├── redhat │ │ │ └── tasks │ │ │ │ └── main.yml │ │ └── ubuntu │ │ │ └── tasks │ │ │ └── main.yml │ ├── python │ │ ├── meta │ │ │ └── main.yml │ │ ├── redhat │ │ │ └── tasks │ │ │ │ └── main.yml │ │ └── ubuntu │ │ │ └── tasks │ │ │ └── main.yml │ ├── rabbitmq-server │ │ ├── meta │ │ │ └── main.yml │ │ ├── redhat │ │ │ └── tasks │ │ │ │ └── main.yml │ │ └── ubuntu │ │ │ └── tasks │ │ │ └── main.yml │ ├── run │ │ └── tasks │ │ │ └── main.yml │ ├── software-properties-common │ │ └── tasks │ │ │ └── main.yml │ ├── toolchain │ │ ├── meta │ │ │ └── main.yml │ │ ├── redhat │ │ │ └── tasks │ │ │ │ └── main.yml │ │ ├── redhat7 │ │ │ └── tasks │ │ │ │ └── main.yml │ │ └── ubuntu │ │ │ └── tasks │ │ │ └── main.yml │ └── upgrade-server │ │ ├── meta │ │ └── main.yml │ │ ├── redhat │ │ └── tasks │ │ │ └── main.yml │ │ └── ubuntu │ │ └── tasks │ │ └── main.yml ├── setup-hatohol-build-and-run.yaml └── setup-hatohol-dev.yaml ├── test ├── dist-check.sh ├── feature-test.sh ├── hatohol-config.dat ├── launch-hatohol-for-test.sh ├── run-client-test.sh ├── run-server-test-core.sh ├── run-server-test-misc.sh └── shutdown-hatohol-for-test.sh ├── version-generator.sh ├── wercker.yml └── wercker └── Dockerfile /.dir-locals.el: -------------------------------------------------------------------------------- 1 | ((c-mode . ((indent-tabs-mode . t) 2 | (c-basic-offset . 8))) 3 | (c++-mode . ((indent-tabs-mode . t) 4 | (c-basic-offset . 8))) 5 | (js-mode . ((indent-tabs-mode . nil) 6 | (js-indent-level . 2))) 7 | (sh-mode . ((indent-tabs-mode . nil)))) 8 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | es6: true 3 | jquery: true 4 | browser: true 5 | globals: 6 | gettext: true 7 | escapeHTML: true 8 | rules: 9 | indent: 10 | - warn 11 | - 2 12 | max-len: 13 | - warn 14 | - code: 100 15 | dot-notation: 16 | - warn 17 | eqeqeq: 18 | - warn 19 | quotes: 20 | - warn 21 | - double 22 | semi: 23 | - warn 24 | - always 25 | space-before-function-paren: 26 | - warn 27 | - never 28 | no-unused-vars: 29 | - warn 30 | - args: none 31 | vars: local 32 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | Copyright (C) 2013-2016 Project Hatohol 2 | 3 | Hatohol is free software: you can redistribute it and/or modify 4 | it under the terms of the GNU Lesser General Public License, version 3 5 | as published by the Free Software Foundation. 6 | 7 | Hatohol is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU Lesser General Public License for more details. 11 | 12 | You should have received a copy of the GNU Lesser General Public 13 | License along with Hatohol. If not, see 14 | . 15 | -------------------------------------------------------------------------------- /Gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require("gulp"); 2 | var mochaPhantomJS = require('gulp-mocha-phantomjs'); 3 | 4 | gulp.task('browsertest', function () { 5 | var phantomJSConfig = { 6 | reporter: 'spec', 7 | phantomjs: { 8 | viewportSize: { 9 | width: 1024, 10 | height: 768 11 | }, 12 | useColors:true, 13 | suppressStdout: false, 14 | suppressStderr: false, 15 | verbose: true 16 | } 17 | }; 18 | var stream = mochaPhantomJS(phantomJSConfig); 19 | stream.write({path: 'http://localhost:8000/test/index.html'}); 20 | stream.end(); 21 | return stream; 22 | }); 23 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = server client data data/init.d data/systemd 2 | ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} 3 | 4 | EXTRA_DIST = autogen.sh version-generator.sh README.md hatohol.spec \ 5 | COPYING.GPLv3 COPYING.LGPLv3 6 | 7 | rpm: dist hatohol.spec 8 | rpmbuild -ta $(distdir).tar.bz2 9 | 10 | remove-merged-branches: remove-local-merged-branches 11 | remove-merged-branches: remove-remote-merged-branches 12 | 13 | remove-local-merged-branches: 14 | git branch --merged | \ 15 | grep -v '^* ' | \ 16 | grep -v ' master' | \ 17 | xargs -I BRANCH git branch --delete BRANCH 18 | 19 | remove-remote-merged-branches: 20 | git branch --remote --merged | \ 21 | grep '^ origin/' | \ 22 | sed -e 's,^ origin/,,' | \ 23 | grep -v ' -> ' | \ 24 | grep -v '^master$$' | \ 25 | xargs -I BRANCH git push origin :BRANCH 26 | 27 | # Add a subset of "distcheck" since it's too strict for us. 28 | hatoholdistcheck: dist 29 | bzip2 -dc $(distdir).tar.bz2 | $(am__untar) 30 | mkdir $(distdir)/_inst 31 | dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ 32 | && am__cwd=`pwd` \ 33 | && $(am__cd) $(distdir) \ 34 | && ./configure --prefix="$$dc_install_base" \ 35 | $(AM_DISTCHECK_CONFIGURE_FLAGS) \ 36 | $(DISTCHECK_CONFIGURE_FLAGS) \ 37 | && $(MAKE) $(AM_MAKEFLAGS) \ 38 | && $(MAKE) $(AM_MAKEFLAGS) install \ 39 | && $(MAKE) $(AM_MAKEFLAGS) installcheck \ 40 | && $(MAKE) $(AM_MAKEFLAGS) uninstall \ 41 | && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ 42 | distuninstallcheck \ 43 | && cd "$$am__cwd" \ 44 | || exit 1 45 | $(am__post_remove_distdir) 46 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | date_version_package=0 4 | 5 | while [ "$1" != "" ]; do 6 | if [ $1 == "-d" ]; then 7 | date_version_package=1 8 | echo Date Version Package: yes 9 | fi 10 | 11 | shift 12 | done 13 | 14 | if [ ! -d m4 ]; then 15 | mkdir m4 16 | fi 17 | 18 | # Deletetion m4 cache here to make sure to run 19 | # m4_esyscmd() in configure.ac every time 20 | rm -fr autom4te.cache 21 | if [ $date_version_package -eq 1 ]; then 22 | export ADD_DATE_TO_VERSION=1 23 | fi 24 | 25 | autoreconf -i 26 | -------------------------------------------------------------------------------- /client/conf/apache/django.wsgi: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ['DJANGO_SETTINGS_MODULE'] = 'hatohol.settings_product' 4 | 5 | from django.core.wsgi import get_wsgi_application 6 | application = get_wsgi_application() 7 | -------------------------------------------------------------------------------- /client/conf/apache/hatohol.conf.package6: -------------------------------------------------------------------------------- 1 | WSGIScriptAlias /hatohol /usr/libexec/hatohol/client/conf/apache/django.wsgi 2 | WSGIPythonPath /usr/libexec/hatohol/client/ 3 | 4 | 5 | Order deny,allow 6 | Allow from all 7 | 8 | Alias /hatohol/static/ /usr/libexec/hatohol/client/static/ 9 | 10 | -------------------------------------------------------------------------------- /client/conf/apache/hatohol.conf.package7: -------------------------------------------------------------------------------- 1 | WSGIScriptAlias /hatohol /usr/libexec/hatohol/client/conf/apache/django.wsgi 2 | WSGIPythonPath /usr/libexec/hatohol/client/ 3 | Header always append X-Frame-Options SAMEORIGIN 4 | Header always append X-Content-Type-Options nosniff 5 | Header always append X-XSS-Protection "1; mode=block" 6 | 7 | 8 | Require all granted 9 | 10 | Alias /hatohol/static/ /usr/libexec/hatohol/client/static/ 11 | 12 | -------------------------------------------------------------------------------- /client/conf/apache/hatohol.site: -------------------------------------------------------------------------------- 1 | WSGIScriptAlias /hatohol /path/to/hatohol/client/conf/apache/django.wsgi 2 | WSGIPythonPath /usr/libexec/hatohol/client/ 3 | 4 | 5 | 6 | Order deny,allow 7 | Allow from all 8 | 9 | Alias /hatohol/static/ /path/to/hatohol/static/ 10 | 11 | -------------------------------------------------------------------------------- /client/conf/webui.conf: -------------------------------------------------------------------------------- 1 | [generic] 2 | #allowed_hosts = * 3 | #allowed_hosts = localhost 192.168.15.* *.example.com 4 | #time_zone = 'America/Chicago' 5 | 6 | [database] 7 | #name = hatohol_client 8 | #user = hatohol 9 | 10 | [server] 11 | #host = localhost 12 | #port = 33194 13 | -------------------------------------------------------------------------------- /client/hatohol/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/hatohol/__init__.py -------------------------------------------------------------------------------- /client/hatohol/autotools_vars.py.in: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Project Hatohol 2 | # 3 | # This file is part of Hatohol. 4 | # 5 | # Hatohol is free software: you can redistribute it and/or modify 6 | # it under the terms of the GNU Lesser General Public License, version 3 7 | # as published by the Free Software Foundation. 8 | # 9 | # Hatohol is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with Hatohol. If not, see 16 | # . 17 | 18 | SYSCONFDIR = '@expanded_sysconfdir@' 19 | 20 | -------------------------------------------------------------------------------- /client/hatohol/branding_settings.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2015 Project Hatohol 2 | # 3 | # This file is part of Hatohol. 4 | # 5 | # Hatohol is free software: you can redistribute it and/or modify 6 | # it under the terms of the GNU Lesser General Public License, version 3 7 | # as published by the Free Software Foundation. 8 | # 9 | # Hatohol is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with Hatohol. If not, see 16 | # . 17 | 18 | BRAND_NAME = "Hatohol" 19 | 20 | VENDOR_NAME = "Project Hatohol" 21 | 22 | # The file name of your logo image. 23 | # Put the file under "{{ STATIC_URL }}/images/" to show it onto navbar. 24 | # When the value is empty, BRAND_NAME will be shown instead. 25 | BRAND_LOGO_FILE = "" 26 | -------------------------------------------------------------------------------- /client/hatohol/settings_devel.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2015 Project Hatohol 2 | # 3 | # This file is part of Hatohol. 4 | # 5 | # Hatohol is free software: you can redistribute it and/or modify 6 | # it under the terms of the GNU Lesser General Public License, version 3 7 | # as published by the Free Software Foundation. 8 | # 9 | # Hatohol is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with Hatohol. If not, see 16 | # . 17 | 18 | from base_settings import * 19 | 20 | DEBUG = True 21 | TEMPLATE_DEBUG = DEBUG 22 | -------------------------------------------------------------------------------- /client/hatohol/settings_product.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2015 Project Hatohol 2 | # 3 | # This file is part of Hatohol. 4 | # 5 | # Hatohol is free software: you can redistribute it and/or modify 6 | # it under the terms of the GNU Lesser General Public License, version 3 7 | # as published by the Free Software Foundation. 8 | # 9 | # Hatohol is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with Hatohol. If not, see 16 | # . 17 | 18 | 19 | from base_settings import * 20 | 21 | DEBUG = False 22 | TEMPLATE_DEBUG = DEBUG 23 | 24 | STATIC_URL = '/hatohol/static/' 25 | -------------------------------------------------------------------------------- /client/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hatohol.settings_devel") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /client/static/css.external/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/css.external/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png -------------------------------------------------------------------------------- /client/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /client/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /client/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /client/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /client/static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/images/favicon.ico -------------------------------------------------------------------------------- /client/static/images/icon_push_hatohol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/images/icon_push_hatohol.png -------------------------------------------------------------------------------- /client/static/images/logo_hatohol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-hatohol/hatohol/6ac5456c581997c65dd50bc0f1de371faea0e36c/client/static/images/logo_hatohol.png -------------------------------------------------------------------------------- /client/static/js.external/jquery-deparam.min.js: -------------------------------------------------------------------------------- 1 | (function(h){h.deparam=function(i,j){var d={},k={"true":!0,"false":!1,"null":null};h.each(i.replace(/\+/g," ").split("&"),function(i,l){var m;var a=l.split("="),c=decodeURIComponent(a[0]),g=d,f=0,b=c.split("]["),e=b.length-1;/\[/.test(b[0])&&/\]$/.test(b[e])?(b[e]=b[e].replace(/\]$/,""),b=b.shift().split("[").concat(b),e=b.length-1):e=0;if(2===a.length)if(a=decodeURIComponent(a[1]),j&&(a=a&&!isNaN(a)?+a:"undefined"===a?void 0:void 0!==k[a]?k[a]:a),e)for(;f<=e;f++)c=""===b[f]?g.length:b[f],m=g[c]= 2 | f. 18 | */ 19 | 20 | var HatoholTracePoint = { 21 | PRE_HREF_CHANGE: 0 22 | }; 23 | 24 | var HatoholTracer = function() { 25 | var self = this; 26 | 27 | self.listeners = {}; 28 | for (var key in HatoholTracePoint) { 29 | var tracePointId = HatoholTracePoint[key]; 30 | self.listeners[tracePointId] = []; 31 | } 32 | 33 | this.addListener = function(tracePointId, func) { 34 | if (!(tracePointId in self.listeners)) 35 | throw "Unknown tracePointId: " + tracePointId; 36 | self.listeners[tracePointId].push(func); 37 | }; 38 | 39 | this.pass = function(tracePointId, params) { 40 | if (!(tracePointId in self.listeners)) 41 | throw "Unknown tracePointId: " + tracePointId; 42 | var listeners = self.listeners[tracePointId]; 43 | for (var i = 0; i < listeners.length; i++) 44 | listeners[i](params); 45 | }; 46 | }; 47 | 48 | var hatoholTracer = new HatoholTracer(); 49 | -------------------------------------------------------------------------------- /client/static/js/hatohol_version.js.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Project Hatohol 3 | * 4 | * This file is part of Hatohol. 5 | * 6 | * Hatohol is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU Lesser General Public License, version 3 8 | * as published by the Free Software Foundation. 9 | * 10 | * Hatohol is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with Hatohol. If not, see 17 | * . 18 | */ 19 | 20 | var HATOHOL_VERSION = "@VERSION@"; 21 | 22 | -------------------------------------------------------------------------------- /client/tasting/hatohol_connector.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 32 | 33 | 34 | 35 | 36 |
37 | 38 | 39 | -------------------------------------------------------------------------------- /client/tasting/hatohol_login_dialog.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 25 | 26 | 27 |
28 | 29 | 30 | -------------------------------------------------------------------------------- /client/tasting/hatohol_message_box.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /client/tasting/hatohol_session_manager.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /client/tasting/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |