Web Console beta-3.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6af6560a Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6af6560a Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6af6560a Branch: refs/heads/ignite-3199-1 Commit: 6af6560a4c90ac24644991ce25081c7548279aa6 Parents: afac3fa Author: Alexey Kuznetsov <[email protected]> Authored: Thu Sep 8 14:43:57 2016 +0700 Committer: Alexey Kuznetsov <[email protected]> Committed: Thu Sep 8 14:44:04 2016 +0700 ---------------------------------------------------------------------- .../visor/event/VisorGridDiscoveryEventV2.java | 80 + .../visor/node/VisorNodeDataCollectorJob.java | 10 +- .../internal/visor/util/VisorEventMapper.java | 96 +- .../internal/visor/util/VisorTaskUtils.java | 22 +- modules/web-agent/.gitignore | 2 - modules/web-agent/README.txt | 88 - .../web-agent/assembly/release-web-agent.xml | 72 - modules/web-agent/bin/ignite-web-agent.bat | 70 - modules/web-agent/bin/ignite-web-agent.sh | 87 - modules/web-agent/demo/README.txt | 4 - modules/web-agent/demo/db-init.sql | 102 - modules/web-agent/jdbc-drivers/README.txt | 10 - modules/web-agent/logs/README.txt | 5 - modules/web-agent/pom.xml | 189 - .../console/agent/AgentConfiguration.java | 268 -- .../ignite/console/agent/AgentLauncher.java | 344 -- .../apache/ignite/console/agent/AgentUtils.java | 111 - .../console/agent/handlers/AbstractHandler.java | 110 - .../console/agent/handlers/DatabaseHandler.java | 298 -- .../console/agent/handlers/RestHandler.java | 276 -- .../ignite/console/demo/AgentClusterDemo.java | 638 ---- .../ignite/console/demo/AgentMetadataDemo.java | 92 - .../apache/ignite/console/demo/model/Car.java | 152 - .../ignite/console/demo/model/Country.java | 152 - .../ignite/console/demo/model/Department.java | 152 - .../ignite/console/demo/model/Employee.java | 356 -- .../ignite/console/demo/model/Parking.java | 152 - .../src/main/resources/log4j.properties | 53 - modules/web-console/.gitignore | 6 + modules/web-console/DEVNOTES.txt | 22 +- modules/web-console/backend/.babelrc | 9 + modules/web-console/backend/.eslintrc | 188 + modules/web-console/backend/.gitignore | 8 + .../web-console/backend/agent_dists/README.txt | 7 + modules/web-console/backend/app/agent.js | 753 ++++ modules/web-console/backend/app/app.js | 61 + modules/web-console/backend/app/browser.js | 404 ++ modules/web-console/backend/app/configure.js | 86 + modules/web-console/backend/app/index.js | 116 + modules/web-console/backend/app/mongo.js | 673 ++++ modules/web-console/backend/app/nconf.js | 48 + modules/web-console/backend/app/routes.js | 64 + modules/web-console/backend/app/settings.js | 80 + .../backend/config/settings.json.sample | 30 + .../backend/errors/AppErrorException.js | 36 + .../backend/errors/AuthFailedException.js | 30 + .../backend/errors/DuplicateKeyException.js | 28 + .../backend/errors/IllegalAccessError.js | 29 + .../backend/errors/IllegalArgumentException.js | 29 + .../backend/errors/MissingResourceException.js | 30 + .../backend/errors/ServerErrorException.js | 36 + modules/web-console/backend/errors/index.js | 39 + modules/web-console/backend/index.js | 19 + modules/web-console/backend/injector.js | 30 + modules/web-console/backend/middlewares/api.js | 44 + modules/web-console/backend/middlewares/host.js | 39 + modules/web-console/backend/middlewares/user.js | 36 + modules/web-console/backend/package.json | 71 + modules/web-console/backend/routes/admin.js | 84 + modules/web-console/backend/routes/agent.js | 53 + modules/web-console/backend/routes/caches.js | 65 + modules/web-console/backend/routes/clusters.js | 64 + .../web-console/backend/routes/configuration.js | 41 + modules/web-console/backend/routes/demo.js | 133 + .../web-console/backend/routes/demo/caches.json | 87 + .../backend/routes/demo/clusters.json | 50 + .../backend/routes/demo/domains.json | 307 ++ .../web-console/backend/routes/demo/igfss.json | 10 + modules/web-console/backend/routes/domains.js | 76 + modules/web-console/backend/routes/igfss.js | 65 + modules/web-console/backend/routes/notebooks.js | 80 + modules/web-console/backend/routes/profile.js | 73 + modules/web-console/backend/routes/public.js | 168 + modules/web-console/backend/services/agents.js | 82 + modules/web-console/backend/services/auth.js | 47 + modules/web-console/backend/services/caches.js | 144 + .../web-console/backend/services/clusters.js | 141 + .../backend/services/configurations.js | 59 + modules/web-console/backend/services/domains.js | 187 + modules/web-console/backend/services/igfss.js | 136 + modules/web-console/backend/services/mails.js | 131 + .../web-console/backend/services/notebooks.js | 104 + .../web-console/backend/services/sessions.js | 63 + modules/web-console/backend/services/spaces.js | 75 + modules/web-console/backend/services/users.js | 229 ++ .../backend/test/config/settings.json | 20 + .../web-console/backend/test/data/accounts.json | 18 + .../web-console/backend/test/data/caches.json | 87 + .../web-console/backend/test/data/clusters.json | 50 + .../web-console/backend/test/data/domains.json | 307 ++ .../web-console/backend/test/data/igfss.json | 10 + modules/web-console/backend/test/injector.js | 31 + .../backend/test/unit/CacheService.test.js | 192 + .../backend/test/unit/ClusterService.test.js | 190 + .../backend/test/unit/DomainService.test.js | 198 + .../backend/test/unit/IgfsService.test.js | 190 + .../docker/compose/backend/.dockerignore | 1 + .../docker/compose/backend/Dockerfile | 30 + .../web-console/docker/compose/backend/build.sh | 57 + .../docker/compose/docker-compose.yml | 59 + .../docker/compose/frontend/.dockerignore | 3 + .../docker/compose/frontend/Dockerfile | 32 + .../docker/compose/frontend/DockerfileBuild | 30 + .../docker/compose/frontend/build.sh | 59 + .../docker/compose/frontend/nginx/nginx.conf | 57 + .../compose/frontend/nginx/web-console.conf | 59 + .../web-console/docker/standalone/.dockerignore | 2 + .../web-console/docker/standalone/Dockerfile | 87 + modules/web-console/docker/standalone/build.sh | 59 + .../docker/standalone/docker-compose.yml | 41 + .../web-console/docker/standalone/entrypoint.sh | 23 + .../docker/standalone/nginx/nginx.conf | 55 + .../docker/standalone/nginx/web-console.conf | 54 + modules/web-console/frontend/.babelrc | 9 + modules/web-console/frontend/.eslintrc | 202 + modules/web-console/frontend/.gitignore | 7 + modules/web-console/frontend/app/app.config.js | 86 + modules/web-console/frontend/app/app.js | 270 ++ .../frontend/app/controllers/auth.controller.js | 30 + .../controllers/reset-password.controller.js | 50 + .../web-console/frontend/app/data/colors.json | 22 + .../frontend/app/data/countries.json | 94 + .../frontend/app/data/demo-info.json | 14 + .../frontend/app/data/event-types.json | 169 + .../frontend/app/data/getting-started.json | 109 + .../frontend/app/data/java-classes.json | 19 + .../frontend/app/data/java-keywords.json | 55 + .../frontend/app/data/java-primitives.json | 9 + .../frontend/app/data/pom-dependencies.json | 20 + .../frontend/app/decorator/select.js | 77 + .../frontend/app/decorator/tooltip.js | 56 + .../app/directives/auto-focus.directive.js | 26 + .../app/directives/bs-affix-update.directive.js | 34 + .../app/directives/centered/centered.css | 37 + .../directives/centered/centered.directive.js | 26 + .../directives/copy-to-clipboard.directive.js | 29 + .../hide-on-state-change.directive.js | 31 + .../information/information.directive.js | 30 + .../app/directives/information/information.jade | 20 + .../app/directives/information/information.scss | 56 + .../frontend/app/directives/match.directive.js | 27 + .../app/directives/on-click-focus.directive.js | 26 + .../directives/on-enter-focus-move.directive.js | 29 + .../app/directives/on-enter.directive.js | 32 + .../app/directives/on-escape.directive.js | 32 + .../ui-ace-docker/ui-ace-docker.controller.js | 33 + .../ui-ace-docker/ui-ace-docker.directive.js | 46 + .../directives/ui-ace-docker/ui-ace-docker.jade | 31 + .../ui-ace-java/ui-ace-java.controller.js | 32 + .../ui-ace-java/ui-ace-java.directive.js | 147 + .../app/directives/ui-ace-java/ui-ace-java.jade | 22 + .../ui-ace-pojos/ui-ace-pojos.controller.js | 95 + .../ui-ace-pojos/ui-ace-pojos.directive.js | 46 + .../directives/ui-ace-pojos/ui-ace-pojos.jade | 40 + .../ui-ace-pom/ui-ace-pom.controller.js | 33 + .../ui-ace-pom/ui-ace-pom.directive.js | 41 + .../app/directives/ui-ace-pom/ui-ace-pom.jade | 17 + .../app/directives/ui-ace-tabs.directive.js | 24 + .../ui-ace-xml/ui-ace-xml.controller.js | 27 + .../ui-ace-xml/ui-ace-xml.directive.js | 147 + .../app/directives/ui-ace-xml/ui-ace-xml.jade | 17 + .../frontend/app/filters/byName.filter.js | 23 + .../app/filters/domainsValidation.filter.js | 33 + .../frontend/app/filters/duration.filter.js | 38 + .../frontend/app/filters/hasPojo.filter.js | 18 + .../frontend/app/helpers/jade/form.jade | 27 + .../helpers/jade/form/form-field-checkbox.jade | 38 + .../helpers/jade/form/form-field-datalist.jade | 51 + .../app/helpers/jade/form/form-field-down.jade | 18 + .../helpers/jade/form/form-field-dropdown.jade | 50 + .../helpers/jade/form/form-field-feedback.jade | 29 + .../app/helpers/jade/form/form-field-label.jade | 23 + .../helpers/jade/form/form-field-number.jade | 52 + .../app/helpers/jade/form/form-field-text.jade | 47 + .../app/helpers/jade/form/form-field-up.jade | 18 + .../app/helpers/jade/form/form-group.jade | 23 + .../frontend/app/helpers/jade/mixins.jade | 541 +++ .../frontend/app/modules/Demo/Demo.module.js | 166 + .../frontend/app/modules/ace.module.js | 269 ++ .../frontend/app/modules/agent/agent.module.js | 341 ++ .../app/modules/branding/branding.module.js | 45 + .../app/modules/branding/branding.provider.js | 111 + .../app/modules/branding/features.directive.js | 35 + .../app/modules/branding/footer.directive.js | 34 + .../modules/branding/header-logo.directive.js | 34 + .../app/modules/branding/header-logo.jade | 18 + .../modules/branding/header-title.directive.js | 35 + .../branding/powered-by-apache.directive.js | 35 + .../app/modules/branding/powered-by-apache.jade | 18 + .../app/modules/branding/terms.directive.js | 30 + .../configuration/EventGroups.provider.js | 30 + .../modules/configuration/Sidebar.provider.js | 39 + .../configuration/configuration.module.js | 41 + .../configuration/generator/Docker.service.js | 78 + .../configuration/generator/Java.service.js | 21 + .../configuration/generator/Pom.service.js | 226 ++ .../configuration/generator/Xml.service.js | 21 + .../modules/configuration/sidebar.directive.js | 30 + .../modules/dialog/dialog-content.directive.js | 31 + .../modules/dialog/dialog-title.directive.js | 31 + .../app/modules/dialog/dialog.controller.js | 40 + .../app/modules/dialog/dialog.directive.js | 32 + .../app/modules/dialog/dialog.factory.js | 32 + .../frontend/app/modules/dialog/dialog.jade | 26 + .../app/modules/dialog/dialog.module.js | 32 + .../field/bs-select-placeholder.directive.js | 47 + .../app/modules/form/field/down.directive.js | 39 + .../app/modules/form/field/feedback.scss | 37 + .../frontend/app/modules/form/field/field.scss | 43 + .../field/form-control-feedback.directive.js | 40 + .../form/field/input/autofocus.directive.js | 30 + .../app/modules/form/field/input/select.scss | 21 + .../app/modules/form/field/input/text.scss | 41 + .../app/modules/form/field/label.directive.js | 47 + .../app/modules/form/field/tooltip.directive.js | 49 + .../app/modules/form/field/up.directive.js | 39 + .../frontend/app/modules/form/form.module.js | 96 + .../app/modules/form/group/add.directive.js | 40 + .../app/modules/form/group/tooltip.directive.js | 40 + .../app/modules/form/panel/chevron.directive.js | 53 + .../app/modules/form/panel/field.directive.js | 69 + .../app/modules/form/panel/panel.directive.js | 37 + .../app/modules/form/panel/revert.directive.js | 54 + .../form/validator/ipaddress.directive.js | 86 + .../validator/java-built-in-class.directive.js | 31 + .../form/validator/java-identifier.directive.js | 31 + .../form/validator/java-keywords.directive.js | 42 + .../validator/java-package-name.directive.js | 31 + .../java-package-specified.directive.js | 34 + .../form/validator/property-unique.directive.js | 47 + .../property-value-specified.directive.js | 31 + .../modules/form/validator/unique.directive.js | 49 + .../modules/form/validator/uuid.directive.js | 37 + .../getting-started/GettingStarted.provider.js | 112 + .../frontend/app/modules/loading/loading.css | 73 + .../app/modules/loading/loading.directive.js | 51 + .../frontend/app/modules/loading/loading.jade | 23 + .../app/modules/loading/loading.module.js | 26 + .../app/modules/loading/loading.service.js | 48 + .../app/modules/navbar/Navbar.provider.js | 28 + .../app/modules/navbar/Userbar.provider.js | 28 + .../app/modules/navbar/navbar.directive.js | 30 + .../app/modules/navbar/navbar.module.js | 33 + .../app/modules/navbar/userbar.directive.js | 48 + .../frontend/app/modules/socket.module.js | 41 + .../frontend/app/modules/sql/Notebook.data.js | 157 + .../app/modules/sql/Notebook.service.js | 74 + .../app/modules/sql/notebook.controller.js | 60 + .../app/modules/sql/scan-filter-input.jade | 39 + .../modules/sql/scan-filter-input.service.js | 51 + .../frontend/app/modules/sql/sql.controller.js | 1632 ++++++++ .../frontend/app/modules/sql/sql.module.js | 60 + .../frontend/app/modules/states/admin.state.js | 35 + .../app/modules/states/configuration.state.js | 97 + .../configuration/Configuration.resource.js | 42 + .../configuration/caches/concurrency.jade | 65 + .../states/configuration/caches/general.jade | 66 + .../states/configuration/caches/memory.jade | 102 + .../configuration/caches/node-filter.jade | 108 + .../states/configuration/caches/query.jade | 95 + .../states/configuration/caches/rebalance.jade | 65 + .../configuration/caches/server-near-cache.jade | 51 + .../states/configuration/caches/statistics.jade | 39 + .../states/configuration/caches/store.jade | 244 ++ .../states/configuration/clusters/atomic.jade | 53 + .../configuration/clusters/attributes.jade | 57 + .../states/configuration/clusters/binary.jade | 77 + .../configuration/clusters/cache-key-cfg.jade | 53 + .../configuration/clusters/collision.jade | 62 + .../clusters/collision/custom.jade | 24 + .../clusters/collision/fifo-queue.jade | 27 + .../clusters/collision/job-stealing.jade | 63 + .../clusters/collision/priority-queue.jade | 42 + .../configuration/clusters/communication.jade | 99 + .../configuration/clusters/connector.jade | 103 + .../configuration/clusters/deployment.jade | 113 + .../configuration/clusters/discovery.jade | 87 + .../states/configuration/clusters/events.jade | 37 + .../states/configuration/clusters/failover.jade | 72 + .../states/configuration/clusters/general.jade | 73 + .../clusters/general/discovery/cloud.jade | 134 + .../clusters/general/discovery/google.jade | 38 + .../clusters/general/discovery/jdbc.jade | 32 + .../clusters/general/discovery/multicast.jade | 99 + .../clusters/general/discovery/s3.jade | 27 + .../clusters/general/discovery/shared.jade | 23 + .../clusters/general/discovery/vm.jade | 79 + .../clusters/general/discovery/zookeeper.jade | 83 + .../bounded-exponential-backoff.jade | 27 + .../discovery/zookeeper/retrypolicy/custom.jade | 24 + .../retrypolicy/exponential-backoff.jade | 27 + .../zookeeper/retrypolicy/forever.jade | 22 + .../zookeeper/retrypolicy/n-times.jade | 25 + .../zookeeper/retrypolicy/one-time.jade | 23 + .../zookeeper/retrypolicy/until-elapsed.jade | 25 + .../states/configuration/clusters/igfs.jade | 37 + .../states/configuration/clusters/logger.jade | 66 + .../configuration/clusters/logger/custom.jade | 25 + .../configuration/clusters/logger/log4j.jade | 50 + .../configuration/clusters/logger/log4j2.jade | 39 + .../configuration/clusters/marshaller.jade | 75 + .../states/configuration/clusters/metrics.jade | 51 + .../states/configuration/clusters/ssl.jade | 109 + .../states/configuration/clusters/swap.jade | 71 + .../states/configuration/clusters/thread.jade | 48 + .../states/configuration/clusters/time.jade | 47 + .../configuration/clusters/transactions.jade | 69 + .../states/configuration/domains/general.jade | 46 + .../states/configuration/domains/query.jade | 170 + .../states/configuration/domains/store.jade | 126 + .../modules/states/configuration/igfs/dual.jade | 42 + .../states/configuration/igfs/fragmentizer.jade | 43 + .../states/configuration/igfs/general.jade | 54 + .../modules/states/configuration/igfs/ipc.jade | 60 + .../modules/states/configuration/igfs/misc.jade | 108 + .../states/configuration/igfs/secondary.jade | 44 + .../configuration/preview-panel.directive.js | 239 ++ .../summary/summary-tabs.directive.js | 50 + .../configuration/summary/summary.controller.js | 365 ++ .../frontend/app/modules/states/errors.state.js | 43 + .../frontend/app/modules/states/logout.state.js | 35 + .../app/modules/states/password.state.js | 46 + .../app/modules/states/profile.state.js | 35 + .../frontend/app/modules/states/signin.state.js | 43 + .../app/modules/user/AclRoute.provider.js | 47 + .../frontend/app/modules/user/Auth.service.js | 56 + .../frontend/app/modules/user/User.service.js | 51 + .../frontend/app/modules/user/permissions.js | 28 + .../frontend/app/modules/user/user.module.js | 73 + .../app/modules/version/Version.provider.js | 32 + .../app/services/ChartColors.service.js | 22 + .../frontend/app/services/Clone.service.js | 64 + .../frontend/app/services/Confirm.service.js | 68 + .../app/services/ConfirmBatch.service.js | 92 + .../app/services/CopyToClipboard.service.js | 50 + .../frontend/app/services/Countries.service.js | 31 + .../app/services/ErrorPopover.service.js | 126 + .../frontend/app/services/Focus.service.js | 33 + .../frontend/app/services/FormUtils.service.js | 435 +++ .../app/services/InetAddress.service.js | 53 + .../frontend/app/services/JavaTypes.service.js | 93 + .../app/services/LegacyTable.service.js | 209 ++ .../app/services/LegacyUtils.service.js | 572 +++ .../frontend/app/services/Messages.service.js | 63 + .../app/services/ModelNormalizer.service.js | 59 + .../app/services/UnsavedChangesGuard.service.js | 38 + modules/web-console/frontend/app/vendor.js | 55 + .../frontend/controllers/admin-controller.js | 92 + .../frontend/controllers/caches-controller.js | 524 +++ .../frontend/controllers/clusters-controller.js | 689 ++++ .../frontend/controllers/domains-controller.js | 1790 +++++++++ .../frontend/controllers/igfs-controller.js | 416 +++ .../frontend/controllers/profile-controller.js | 94 + .../frontend/generator/generator-common.js | 612 +++ .../frontend/generator/generator-java.js | 3534 ++++++++++++++++++ .../frontend/generator/generator-optional.js | 25 + .../frontend/generator/generator-properties.js | 175 + .../frontend/generator/generator-readme.js | 85 + .../frontend/generator/generator-xml.js | 2093 +++++++++++ .../frontend/gulpfile.babel.js/index.js | 26 + .../frontend/gulpfile.babel.js/paths.js | 74 + .../frontend/gulpfile.babel.js/tasks/build.js | 21 + .../frontend/gulpfile.babel.js/tasks/bundle.js | 32 + .../frontend/gulpfile.babel.js/tasks/clean.js | 32 + .../frontend/gulpfile.babel.js/tasks/copy.js | 33 + .../gulpfile.babel.js/tasks/ignite-modules.js | 55 + .../frontend/gulpfile.babel.js/tasks/jade.js | 40 + .../frontend/gulpfile.babel.js/tasks/test.js | 92 + .../frontend/gulpfile.babel.js/tasks/watch.js | 31 + .../gulpfile.babel.js/webpack/common.js | 189 + .../webpack/environments/development.js | 69 + .../webpack/environments/production.js | 45 + .../frontend/gulpfile.babel.js/webpack/index.js | 32 + .../webpack/plugins/progress.js | 82 + .../frontend/ignite_modules/README.txt | 6 + .../frontend/ignite_modules/index.js | 27 + modules/web-console/frontend/package.json | 125 + modules/web-console/frontend/public/favicon.ico | Bin 0 -> 1150 bytes .../frontend/public/images/cache.png | Bin 0 -> 23700 bytes .../frontend/public/images/cluster.png | Bin 0 -> 29376 bytes .../frontend/public/images/docker.png | Bin 0 -> 521 bytes .../frontend/public/images/domains.png | Bin 0 -> 23828 bytes .../web-console/frontend/public/images/igfs.png | Bin 0 -> 14307 bytes .../frontend/public/images/ignite-logo.png | Bin 0 -> 1982 bytes .../frontend/public/images/[email protected] | Bin 0 -> 3325 bytes .../frontend/public/images/ignite-puzzle.png | Bin 0 -> 71974 bytes .../web-console/frontend/public/images/java.png | Bin 0 -> 170 bytes .../frontend/public/images/pb-ignite.png | Bin 0 -> 3493 bytes .../frontend/public/images/[email protected] | Bin 0 -> 8558 bytes .../frontend/public/images/query-chart.png | Bin 0 -> 16637 bytes .../frontend/public/images/query-metadata.png | Bin 0 -> 32298 bytes .../frontend/public/images/query-table.png | Bin 0 -> 29189 bytes .../frontend/public/images/summary.png | Bin 0 -> 31997 bytes .../web-console/frontend/public/images/xml.png | Bin 0 -> 232 bytes .../public/stylesheets/_bootstrap-custom.scss | 65 + .../stylesheets/_bootstrap-variables.scss | 891 +++++ .../stylesheets/_font-awesome-custom.scss | 32 + .../public/stylesheets/blocks/error.scss | 31 + .../frontend/public/stylesheets/style.scss | 2171 +++++++++++ .../frontend/public/stylesheets/variables.scss | 28 + .../frontend/test/e2e/exampe.test.js | 40 + modules/web-console/frontend/test/karma.conf.js | 113 + .../frontend/test/protractor.conf.js | 50 + .../frontend/test/unit/JavaTypes.test.js | 69 + .../frontend/test/unit/UserAuth.test.js | 35 + modules/web-console/frontend/views/403.jade | 22 + modules/web-console/frontend/views/404.jade | 22 + modules/web-console/frontend/views/base.jade | 22 + .../frontend/views/configuration/caches.jade | 53 + .../frontend/views/configuration/clusters.jade | 66 + .../views/configuration/domains-import.jade | 223 ++ .../frontend/views/configuration/domains.jade | 66 + .../frontend/views/configuration/igfs.jade | 51 + .../frontend/views/configuration/sidebar.jade | 29 + .../summary-project-structure.jade | 27 + .../views/configuration/summary-tabs.jade | 25 + .../frontend/views/configuration/summary.jade | 122 + .../frontend/views/includes/footer.jade | 23 + .../frontend/views/includes/header.jade | 51 + modules/web-console/frontend/views/index.jade | 47 + modules/web-console/frontend/views/reset.jade | 48 + .../frontend/views/settings/admin.jade | 76 + .../frontend/views/settings/profile.jade | 76 + modules/web-console/frontend/views/signin.jade | 163 + .../frontend/views/sql/cache-metadata.jade | 40 + .../frontend/views/sql/chart-settings.jade | 40 + .../frontend/views/sql/notebook-new.jade | 31 + .../frontend/views/sql/paragraph-rate.jade | 31 + modules/web-console/frontend/views/sql/sql.jade | 193 + .../views/templates/agent-download.jade | 48 + .../frontend/views/templates/alert.jade | 21 + .../frontend/views/templates/batch-confirm.jade | 32 + .../frontend/views/templates/clone.jade | 37 + .../frontend/views/templates/confirm.jade | 31 + .../frontend/views/templates/demo-info.jade | 45 + .../frontend/views/templates/dropdown.jade | 24 + .../views/templates/getting-started.jade | 32 + .../frontend/views/templates/message.jade | 26 + .../frontend/views/templates/pagination.jade | 32 + .../frontend/views/templates/select.jade | 26 + .../views/templates/validation-error.jade | 25 + modules/web-console/pom.xml | 33 +- modules/web-console/src/main/js/.babelrc | 3 - modules/web-console/src/main/js/.eslintrc | 202 - modules/web-console/src/main/js/.gitignore | 9 - .../web-console/src/main/js/app/app.config.js | 86 - modules/web-console/src/main/js/app/app.js | 274 -- .../main/js/app/controllers/auth.controller.js | 30 - .../js/app/controllers/notebooks.controller.js | 69 - .../controllers/reset-password.controller.js | 51 - .../src/main/js/app/data/colors.json | 22 - .../src/main/js/app/data/countries.json | 94 - .../src/main/js/app/data/demo-info.json | 14 - .../src/main/js/app/data/event-types.json | 169 - .../src/main/js/app/data/getting-started.json | 109 - .../src/main/js/app/data/java-classes.json | 18 - .../src/main/js/app/data/java-keywords.json | 55 - .../src/main/js/app/data/java-primitives.json | 9 - .../src/main/js/app/data/pom-dependencies.json | 20 - .../src/main/js/app/decorator/select.js | 77 - .../src/main/js/app/decorator/tooltip.js | 56 - .../js/app/directives/auto-focus.directive.js | 26 - .../app/directives/bs-affix-update.directive.js | 34 - .../js/app/directives/centered/centered.css | 37 - .../directives/centered/centered.directive.js | 26 - .../directives/copy-to-clipboard.directive.js | 29 - .../hide-on-state-change.directive.js | 31 - .../information/information.directive.js | 30 - .../app/directives/information/information.jade | 20 - .../app/directives/information/information.scss | 56 - .../main/js/app/directives/match.directive.js | 27 - .../app/directives/on-click-focus.directive.js | 26 - .../directives/on-enter-focus-move.directive.js | 29 - .../js/app/directives/on-enter.directive.js | 32 - .../js/app/directives/on-escape.directive.js | 32 - .../ui-ace-docker/ui-ace-docker.controller.js | 33 - .../ui-ace-docker/ui-ace-docker.directive.js | 46 - .../directives/ui-ace-docker/ui-ace-docker.jade | 31 - .../ui-ace-java/ui-ace-java.controller.js | 32 - .../ui-ace-java/ui-ace-java.directive.js | 133 - .../app/directives/ui-ace-java/ui-ace-java.jade | 22 - .../ui-ace-pojos/ui-ace-pojos.controller.js | 95 - .../ui-ace-pojos/ui-ace-pojos.directive.js | 46 - .../directives/ui-ace-pojos/ui-ace-pojos.jade | 40 - .../ui-ace-pom/ui-ace-pom.controller.js | 33 - .../ui-ace-pom/ui-ace-pom.directive.js | 41 - .../app/directives/ui-ace-pom/ui-ace-pom.jade | 17 - .../js/app/directives/ui-ace-tabs.directive.js | 23 - .../ui-ace-xml/ui-ace-xml.controller.js | 27 - .../ui-ace-xml/ui-ace-xml.directive.js | 133 - .../app/directives/ui-ace-xml/ui-ace-xml.jade | 17 - .../src/main/js/app/filters/byName.filter.js | 23 - .../js/app/filters/domainsValidation.filter.js | 33 - .../src/main/js/app/filters/hasPojo.filter.js | 18 - .../src/main/js/app/helpers/jade/mixins.jade | 588 --- .../src/main/js/app/modules/Demo/Demo.module.js | 166 - .../js/app/modules/Version/Version.provider.js | 32 - .../src/main/js/app/modules/ace.module.js | 269 -- .../main/js/app/modules/agent/agent.module.js | 323 -- .../js/app/modules/branding/branding.module.js | 45 - .../app/modules/branding/branding.provider.js | 111 - .../app/modules/branding/features.directive.js | 35 - .../js/app/modules/branding/footer.directive.js | 34 - .../modules/branding/header-logo.directive.js | 34 - .../js/app/modules/branding/header-logo.jade | 18 - .../modules/branding/header-title.directive.js | 35 - .../branding/powered-by-apache.directive.js | 35 - .../app/modules/branding/powered-by-apache.jade | 18 - .../js/app/modules/branding/terms.directive.js | 30 - .../configuration/EventGroups.provider.js | 30 - .../modules/configuration/Sidebar.provider.js | 39 - .../configuration/configuration.module.js | 41 - .../configuration/generator/Docker.service.js | 78 - .../configuration/generator/Java.service.js | 21 - .../configuration/generator/Pom.service.js | 210 -- .../configuration/generator/Xml.service.js | 21 - .../modules/configuration/sidebar.directive.js | 30 - .../modules/dialog/dialog-content.directive.js | 31 - .../modules/dialog/dialog-title.directive.js | 31 - .../js/app/modules/dialog/dialog.controller.js | 40 - .../js/app/modules/dialog/dialog.directive.js | 32 - .../js/app/modules/dialog/dialog.factory.js | 32 - .../src/main/js/app/modules/dialog/dialog.jade | 26 - .../main/js/app/modules/dialog/dialog.module.js | 32 - .../field/bs-select-placeholder.directive.js | 47 - .../js/app/modules/form/field/down.directive.js | 43 - .../modules/form/field/dropdown.directive.js | 83 - .../js/app/modules/form/field/dropdown.jade | 61 - .../main/js/app/modules/form/field/field.css | 23 - .../app/modules/form/field/field.directive.js | 44 - .../main/js/app/modules/form/field/field.jade | 27 - .../field/form-control-feedback.directive.js | 40 - .../form/field/input/autofocus.directive.js | 30 - .../form/field/input/checkbox.directive.js | 66 - .../app/modules/form/field/input/checkbox.jade | 30 - .../form/field/input/datalist.directive.js | 122 - .../app/modules/form/field/input/datalist.jade | 51 - .../form/field/input/number.directive.js | 76 - .../js/app/modules/form/field/input/number.jade | 50 - .../js/app/modules/form/field/input/text.css | 41 - .../modules/form/field/input/text.directive.js | 126 - .../js/app/modules/form/field/input/text.jade | 48 - .../app/modules/form/field/label.directive.js | 47 - .../app/modules/form/field/tooltip.directive.js | 49 - .../js/app/modules/form/field/up.directive.js | 44 - .../src/main/js/app/modules/form/form.module.js | 101 - .../js/app/modules/form/group/add.directive.js | 40 - .../app/modules/form/group/group.directive.js | 81 - .../main/js/app/modules/form/group/group.jade | 21 - .../app/modules/form/group/table.directive.js | 29 - .../main/js/app/modules/form/group/table.jade | 17 - .../app/modules/form/group/tooltip.directive.js | 40 - .../app/modules/form/panel/chevron.directive.js | 53 - .../app/modules/form/panel/panel.directive.js | 37 - .../app/modules/form/panel/revert.directive.js | 53 - .../form/validator/ipaddress.directive.js | 86 - .../validator/java-built-in-class.directive.js | 31 - .../form/validator/java-identifier.directive.js | 31 - .../form/validator/java-keywords.directive.js | 42 - .../validator/java-package-name.directive.js | 31 - .../java-package-specified.directive.js | 34 - .../form/validator/property-unique.directive.js | 47 - .../property-value-specified.directive.js | 31 - .../modules/form/validator/unique.directive.js | 49 - .../getting-started/GettingStarted.provider.js | 112 - .../src/main/js/app/modules/loading/loading.css | 73 - .../js/app/modules/loading/loading.directive.js | 51 - .../main/js/app/modules/loading/loading.jade | 23 - .../js/app/modules/loading/loading.module.js | 26 - .../js/app/modules/loading/loading.service.js | 48 - .../js/app/modules/navbar/Navbar.provider.js | 28 - .../js/app/modules/navbar/Userbar.provider.js | 28 - .../js/app/modules/navbar/navbar.directive.js | 30 - .../main/js/app/modules/navbar/navbar.module.js | 33 - .../js/app/modules/navbar/userbar.directive.js | 48 - .../query-notebooks/query-notebooks.module.js | 115 - .../src/main/js/app/modules/socket.module.js | 41 - .../main/js/app/modules/states/admin.state.js | 34 - .../app/modules/states/configuration.state.js | 226 -- .../caches/concurrency.directive.js | 27 - .../configuration/caches/concurrency.jade | 65 - .../configuration/caches/general.directive.js | 27 - .../states/configuration/caches/general.jade | 65 - .../configuration/caches/memory.directive.js | 27 - .../states/configuration/caches/memory.jade | 88 - .../configuration/caches/query.directive.js | 27 - .../states/configuration/caches/query.jade | 93 - .../configuration/caches/rebalance.directive.js | 27 - .../states/configuration/caches/rebalance.jade | 65 - .../caches/server-near-cache.directive.js | 27 - .../configuration/caches/server-near-cache.jade | 45 - .../caches/statistics.directive.js | 27 - .../states/configuration/caches/statistics.jade | 37 - .../configuration/caches/store.directive.js | 27 - .../states/configuration/caches/store.jade | 271 -- .../configuration/clusters/atomic.directive.js | 27 - .../states/configuration/clusters/atomic.jade | 53 - .../clusters/attributes.directive.js | 27 - .../configuration/clusters/attributes.jade | 58 - .../configuration/clusters/binary.directive.js | 27 - .../states/configuration/clusters/binary.jade | 100 - .../clusters/collision.directive.js | 27 - .../configuration/clusters/collision.jade | 60 - .../clusters/collision/custom.directive.js | 27 - .../clusters/collision/custom.jade | 24 - .../clusters/collision/fifo-queue.directive.js | 27 - .../clusters/collision/fifo-queue.jade | 28 - .../collision/job-stealing.directive.js | 27 - .../clusters/collision/job-stealing.jade | 64 - .../collision/priority-queue.directive.js | 27 - .../clusters/collision/priority-queue.jade | 43 - .../clusters/communication.directive.js | 27 - .../configuration/clusters/communication.jade | 96 - .../clusters/connector.directive.js | 27 - .../configuration/clusters/connector.jade | 103 - .../clusters/deployment.directive.js | 27 - .../configuration/clusters/deployment.jade | 119 - .../clusters/discovery.directive.js | 27 - .../configuration/clusters/discovery.jade | 83 - .../configuration/clusters/events.directive.js | 27 - .../states/configuration/clusters/events.jade | 37 - .../clusters/failover.directive.js | 27 - .../states/configuration/clusters/failover.jade | 82 - .../configuration/clusters/general.directive.js | 27 - .../states/configuration/clusters/general.jade | 68 - .../general/discovery/cloud.directive.js | 27 - .../clusters/general/discovery/cloud.jade | 127 - .../general/discovery/google.directive.js | 27 - .../clusters/general/discovery/google.jade | 38 - .../general/discovery/jdbc.directive.js | 27 - .../clusters/general/discovery/jdbc.jade | 24 - .../general/discovery/multicast.directive.js | 27 - .../clusters/general/discovery/multicast.jade | 109 - .../clusters/general/discovery/s3.directive.js | 27 - .../clusters/general/discovery/s3.jade | 27 - .../general/discovery/shared.directive.js | 27 - .../clusters/general/discovery/shared.jade | 23 - .../clusters/general/discovery/vm.directive.js | 27 - .../clusters/general/discovery/vm.jade | 90 - .../general/discovery/zookeeper.directive.js | 27 - .../clusters/general/discovery/zookeeper.jade | 74 - .../bounded-exponential-backoff.directive.js | 27 - .../bounded-exponential-backoff.jade | 27 - .../zookeeper/retrypolicy/custom.directive.js | 27 - .../discovery/zookeeper/retrypolicy/custom.jade | 24 - .../exponential-backoff.directive.js | 27 - .../retrypolicy/exponential-backoff.jade | 27 - .../zookeeper/retrypolicy/forever.directive.js | 27 - .../zookeeper/retrypolicy/forever.jade | 22 - .../zookeeper/retrypolicy/n-times.directive.js | 27 - .../zookeeper/retrypolicy/n-times.jade | 25 - .../zookeeper/retrypolicy/one-time.directive.js | 27 - .../zookeeper/retrypolicy/one-time.jade | 23 - .../retrypolicy/until-elapsed.directive.js | 27 - .../zookeeper/retrypolicy/until-elapsed.jade | 25 - .../configuration/clusters/igfs.directive.js | 27 - .../states/configuration/clusters/igfs.jade | 37 - .../configuration/clusters/logger.directive.js | 27 - .../states/configuration/clusters/logger.jade | 65 - .../clusters/logger/custom.directive.js | 27 - .../configuration/clusters/logger/custom.jade | 24 - .../clusters/logger/log4j.directive.js | 27 - .../configuration/clusters/logger/log4j.jade | 49 - .../clusters/logger/log4j2.directive.js | 27 - .../configuration/clusters/logger/log4j2.jade | 38 - .../clusters/marshaller.directive.js | 27 - .../configuration/clusters/marshaller.jade | 69 - .../configuration/clusters/metrics.directive.js | 27 - .../states/configuration/clusters/metrics.jade | 50 - .../configuration/clusters/ssl.directive.js | 27 - .../states/configuration/clusters/ssl.jade | 108 - .../configuration/clusters/swap.directive.js | 27 - .../states/configuration/clusters/swap.jade | 67 - .../configuration/clusters/thread.directive.js | 27 - .../states/configuration/clusters/thread.jade | 48 - .../configuration/clusters/time.directive.js | 27 - .../states/configuration/clusters/time.jade | 47 - .../clusters/transactions.directive.js | 27 - .../configuration/clusters/transactions.jade | 59 - .../configuration/domains/general.directive.js | 27 - .../states/configuration/domains/general.jade | 46 - .../configuration/domains/query.directive.js | 27 - .../states/configuration/domains/query.jade | 169 - .../configuration/domains/store.directive.js | 27 - .../states/configuration/domains/store.jade | 126 - .../states/configuration/igfs/dual.directive.js | 27 - .../modules/states/configuration/igfs/dual.jade | 42 - .../igfs/fragmentizer.directive.js | 27 - .../states/configuration/igfs/fragmentizer.jade | 43 - .../configuration/igfs/general.directive.js | 27 - .../states/configuration/igfs/general.jade | 53 - .../states/configuration/igfs/ipc.directive.js | 27 - .../modules/states/configuration/igfs/ipc.jade | 57 - .../states/configuration/igfs/misc.directive.js | 27 - .../modules/states/configuration/igfs/misc.jade | 108 - .../configuration/igfs/secondary.directive.js | 27 - .../states/configuration/igfs/secondary.jade | 44 - .../configuration/preview-panel.directive.js | 239 -- .../summary/summary-tabs.directive.js | 50 - .../configuration/summary/summary.controller.js | 359 -- .../configuration/summary/summary.resource.js | 40 - .../main/js/app/modules/states/logout.state.js | 36 - .../js/app/modules/states/password.state.js | 46 - .../main/js/app/modules/states/profile.state.js | 34 - .../main/js/app/modules/states/signin.state.js | 53 - .../src/main/js/app/modules/states/sql.state.js | 46 - .../main/js/app/modules/user/Auth.service.js | 76 - .../main/js/app/modules/user/User.service.js | 65 - .../src/main/js/app/modules/user/user.module.js | 28 - .../main/js/app/services/ChartColors.service.js | 22 - .../src/main/js/app/services/Clone.service.js | 64 - .../src/main/js/app/services/Confirm.service.js | 70 - .../js/app/services/ConfirmBatch.service.js | 92 - .../js/app/services/CopyToClipboard.service.js | 50 - .../main/js/app/services/Countries.service.js | 31 - .../src/main/js/app/services/Focus.service.js | 33 - .../main/js/app/services/InetAddress.service.js | 53 - .../main/js/app/services/JavaTypes.service.js | 84 - .../main/js/app/services/LegacyTable.service.js | 205 - .../main/js/app/services/LegacyUtils.service.js | 948 ----- .../main/js/app/services/Messages.service.js | 63 - .../js/app/services/ModelNormalizer.service.js | 59 - .../app/services/UnsavedChangesGuard.service.js | 38 - modules/web-console/src/main/js/app/vendor.js | 54 - .../src/main/js/controllers/admin-controller.js | 91 - .../main/js/controllers/caches-controller.js | 470 --- .../main/js/controllers/clusters-controller.js | 626 ---- .../main/js/controllers/domains-controller.js | 1746 --------- .../src/main/js/controllers/igfs-controller.js | 401 -- .../main/js/controllers/profile-controller.js | 91 - .../src/main/js/controllers/sql-controller.js | 1588 -------- .../src/main/js/generator/generator-common.js | 611 --- .../src/main/js/generator/generator-java.js | 3404 ----------------- .../src/main/js/generator/generator-optional.js | 25 - .../main/js/generator/generator-properties.js | 150 - .../src/main/js/generator/generator-readme.js | 85 - .../src/main/js/generator/generator-xml.js | 1978 ---------- .../src/main/js/gulpfile.babel.js/index.js | 26 - .../src/main/js/gulpfile.babel.js/paths.js | 70 - .../main/js/gulpfile.babel.js/tasks/build.js | 21 - .../main/js/gulpfile.babel.js/tasks/bundle.js | 32 - .../main/js/gulpfile.babel.js/tasks/clean.js | 32 - .../src/main/js/gulpfile.babel.js/tasks/copy.js | 33 - .../gulpfile.babel.js/tasks/ignite-modules.js | 55 - .../src/main/js/gulpfile.babel.js/tasks/jade.js | 40 - .../main/js/gulpfile.babel.js/tasks/watch.js | 31 - .../main/js/gulpfile.babel.js/webpack/common.js | 192 - .../webpack/environments/development.js | 64 - .../webpack/environments/production.js | 45 - .../main/js/gulpfile.babel.js/webpack/index.js | 32 - .../webpack/plugins/progress.js | 82 - .../src/main/js/ignite_modules/README.txt | 6 - .../src/main/js/ignite_modules/index.js | 27 - modules/web-console/src/main/js/package.json | 128 - .../web-console/src/main/js/public/favicon.ico | Bin 1150 -> 0 bytes .../src/main/js/public/images/cache.png | Bin 23700 -> 0 bytes .../src/main/js/public/images/cluster.png | Bin 29376 -> 0 bytes .../src/main/js/public/images/docker.png | Bin 521 -> 0 bytes .../src/main/js/public/images/domains.png | Bin 23828 -> 0 bytes .../src/main/js/public/images/igfs.png | Bin 14307 -> 0 bytes .../src/main/js/public/images/ignite-logo.png | Bin 1982 -> 0 bytes .../main/js/public/images/[email protected] | Bin 3325 -> 0 bytes .../src/main/js/public/images/ignite-puzzle.png | Bin 71974 -> 0 bytes .../src/main/js/public/images/java.png | Bin 170 -> 0 bytes .../src/main/js/public/images/pb-ignite.png | Bin 3493 -> 0 bytes .../src/main/js/public/images/[email protected] | Bin 8558 -> 0 bytes .../src/main/js/public/images/query-chart.png | Bin 16637 -> 0 bytes .../main/js/public/images/query-metadata.png | Bin 32298 -> 0 bytes .../src/main/js/public/images/query-table.png | Bin 29189 -> 0 bytes .../src/main/js/public/images/summary.png | Bin 31997 -> 0 bytes .../src/main/js/public/images/xml.png | Bin 232 -> 0 bytes .../public/stylesheets/_bootstrap-custom.scss | 65 - .../stylesheets/_bootstrap-variables.scss | 891 ----- .../stylesheets/_font-awesome-custom.scss | 32 - .../src/main/js/public/stylesheets/style.scss | 2156 ----------- .../main/js/public/stylesheets/variables.scss | 28 - modules/web-console/src/main/js/serve.js | 116 - modules/web-console/src/main/js/serve/agent.js | 714 ---- .../src/main/js/serve/agent_dists/README.txt | 7 - modules/web-console/src/main/js/serve/app.js | 42 - .../web-console/src/main/js/serve/browser.js | 378 -- .../main/js/serve/config/settings.json.sample | 26 - .../web-console/src/main/js/serve/configure.js | 84 - modules/web-console/src/main/js/serve/mail.js | 75 - modules/web-console/src/main/js/serve/mongo.js | 676 ---- .../src/main/js/serve/routes/admin.js | 126 - .../src/main/js/serve/routes/agent.js | 81 - .../src/main/js/serve/routes/caches.js | 132 - .../src/main/js/serve/routes/clusters.js | 146 - .../src/main/js/serve/routes/demo.js | 135 - .../src/main/js/serve/routes/demo/caches.json | 87 - .../src/main/js/serve/routes/demo/clusters.json | 50 - .../src/main/js/serve/routes/demo/domains.json | 307 -- .../src/main/js/serve/routes/demo/igfss.json | 10 - .../src/main/js/serve/routes/domains.js | 195 - .../src/main/js/serve/routes/igfs.js | 122 - .../src/main/js/serve/routes/notebooks.js | 121 - .../src/main/js/serve/routes/profile.js | 102 - .../src/main/js/serve/routes/public.js | 235 -- .../src/main/js/serve/routes/routes.js | 103 - .../web-console/src/main/js/serve/settings.js | 84 - modules/web-console/src/main/js/views/base.jade | 22 - .../src/main/js/views/configuration/caches.jade | 52 - .../main/js/views/configuration/clusters.jade | 64 - .../js/views/configuration/domains-import.jade | 211 -- .../main/js/views/configuration/domains.jade | 66 - .../src/main/js/views/configuration/igfs.jade | 51 - .../main/js/views/configuration/sidebar.jade | 29 - .../summary-project-structure.jade | 27 - .../js/views/configuration/summary-tabs.jade | 25 - .../main/js/views/configuration/summary.jade | 152 - .../src/main/js/views/includes/footer.jade | 23 - .../src/main/js/views/includes/header.jade | 51 - .../web-console/src/main/js/views/index.jade | 48 - .../web-console/src/main/js/views/reset.jade | 48 - .../src/main/js/views/settings/admin.jade | 76 - .../src/main/js/views/settings/profile.jade | 76 - .../web-console/src/main/js/views/signin.jade | 163 - .../src/main/js/views/sql/cache-metadata.jade | 40 - .../src/main/js/views/sql/chart-settings.jade | 40 - .../src/main/js/views/sql/notebook-new.jade | 31 - .../src/main/js/views/sql/paragraph-rate.jade | 31 - .../web-console/src/main/js/views/sql/sql.jade | 201 - .../main/js/views/templates/agent-download.jade | 48 - .../src/main/js/views/templates/alert.jade | 21 - .../main/js/views/templates/batch-confirm.jade | 32 - .../src/main/js/views/templates/clone.jade | 31 - .../src/main/js/views/templates/confirm.jade | 31 - .../src/main/js/views/templates/demo-info.jade | 45 - .../src/main/js/views/templates/dropdown.jade | 21 - .../js/views/templates/getting-started.jade | 32 - .../src/main/js/views/templates/message.jade | 26 - .../src/main/js/views/templates/pagination.jade | 32 - .../src/main/js/views/templates/select.jade | 26 - .../js/views/templates/validation-error.jade | 25 - modules/web-console/src/test/js/routes/agent.js | 94 - modules/web-console/web-agent/.gitignore | 2 + modules/web-console/web-agent/README.txt | 88 + .../web-agent/assembly/release-web-agent.xml | 66 + .../web-agent/bin/ignite-web-agent.bat | 70 + .../web-agent/bin/ignite-web-agent.sh | 87 + modules/web-console/web-agent/demo/README.txt | 4 + modules/web-console/web-agent/demo/db-init.sql | 102 + .../web-agent/jdbc-drivers/README.txt | 10 + modules/web-console/web-agent/logs/README.txt | 5 + modules/web-console/web-agent/pom.xml | 199 + .../console/agent/AgentConfiguration.java | 268 ++ .../ignite/console/agent/AgentLauncher.java | 344 ++ .../apache/ignite/console/agent/AgentUtils.java | 111 + .../console/agent/handlers/AbstractHandler.java | 110 + .../console/agent/handlers/DatabaseHandler.java | 298 ++ .../console/agent/handlers/RestHandler.java | 276 ++ .../ignite/console/demo/AgentClusterDemo.java | 641 ++++ .../ignite/console/demo/AgentMetadataDemo.java | 92 + .../apache/ignite/console/demo/model/Car.java | 152 + .../ignite/console/demo/model/Country.java | 152 + .../ignite/console/demo/model/Department.java | 152 + .../ignite/console/demo/model/Employee.java | 356 ++ .../ignite/console/demo/model/Parking.java | 152 + .../src/main/resources/log4j.properties | 53 + pom.xml | 2 +- 861 files changed, 45009 insertions(+), 41666 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java new file mode 100644 index 0000000..b66aacf --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java @@ -0,0 +1,80 @@ +/* + * 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.ignite.internal.visor.event; + +import java.util.UUID; +import org.apache.ignite.internal.util.typedef.internal.S; +import org.apache.ignite.lang.IgniteUuid; +import org.jetbrains.annotations.Nullable; + +/** + * Lightweight counterpart for {@link org.apache.ignite.events.DiscoveryEvent}. + */ +public class VisorGridDiscoveryEventV2 extends VisorGridDiscoveryEvent { + /** */ + private static final long serialVersionUID = 0L; + + /** Topology version. */ + private final long topVer; + + /** + * Create event with given parameters. + * + * @param typeId Event type. + * @param id Event id. + * @param name Event name. + * @param nid Event node ID. + * @param ts Event timestamp. + * @param msg Event message. + * @param shortDisplay Shortened version of {@code toString()} result. + * @param evtNodeId Event node id. + * @param addr Event node address. + * @param isDaemon If event node is daemon on not. + * @param topVer Topology version. + */ + public VisorGridDiscoveryEventV2( + int typeId, + IgniteUuid id, + String name, + UUID nid, + long ts, + @Nullable String msg, + String shortDisplay, + UUID evtNodeId, + String addr, + boolean isDaemon, + long topVer + ) { + super(typeId, id, name, nid, ts, msg, shortDisplay, evtNodeId, addr, isDaemon); + + this.topVer = topVer; + } + + /** + * @return Topology version or {@code 0} if configured discovery SPI implementation + * does not support versioning. + **/ + public long topologyVersion() { + return topVer; + } + + /** {@inheritDoc} */ + @Override public String toString() { + return S.toString(VisorGridDiscoveryEventV2.class, this); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java index 611dcde..abe1364 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java @@ -41,6 +41,8 @@ import org.apache.ignite.lang.IgniteProductVersion; import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isIgfsCache; import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isSystemCache; import static org.apache.ignite.internal.visor.compute.VisorComputeMonitoringHolder.COMPUTE_MONITORING_HOLDER_KEY; +import static org.apache.ignite.internal.visor.util.VisorTaskUtils.EVT_MAPPER; +import static org.apache.ignite.internal.visor.util.VisorTaskUtils.EVT_MAPPER_V2; import static org.apache.ignite.internal.visor.util.VisorTaskUtils.VISOR_TASK_EVTS; import static org.apache.ignite.internal.visor.util.VisorTaskUtils.checkExplicitTaskMonitoring; import static org.apache.ignite.internal.visor.util.VisorTaskUtils.collectEvents; @@ -62,6 +64,9 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa /** */ private static final IgniteProductVersion VER_1_5_26 = IgniteProductVersion.fromString("1.5.26"); + /** */ + protected static final IgniteProductVersion VER_1_7_2 = IgniteProductVersion.fromString("1.7.2"); + /** * Create job with given argument. * @@ -82,7 +87,8 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa */ protected void events0(VisorNodeDataCollectorJobResult res, String evtOrderKey, String evtThrottleCntrKey, final boolean all) { - res.events().addAll(collectEvents(ignite, evtOrderKey, evtThrottleCntrKey, all)); + res.events().addAll(collectEvents(ignite, evtOrderKey, evtThrottleCntrKey, all, + compatibleWith(VER_1_7_2) ? EVT_MAPPER_V2 : EVT_MAPPER)); } /** @@ -132,7 +138,7 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa * @param ver Version to check. * @return {@code true} if found at least one compatible node with specified version. */ - private boolean compatibleWith(IgniteProductVersion ver) { + protected boolean compatibleWith(IgniteProductVersion ver) { for (ClusterNode node : ignite.cluster().nodes()) if (node.version().compareToIgnoreTimestamp(ver) <= 0) return true; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java index 7e3ae96..829adb3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java @@ -55,38 +55,88 @@ public class VisorEventMapper implements IgniteClosure<Event, VisorGridEvent> { */ protected VisorGridEvent map(Event evt, int type, IgniteUuid id, String name, UUID nid, long ts, String msg, String shortDisplay) { - if (evt instanceof TaskEvent) { - TaskEvent te = (TaskEvent)evt; + if (evt instanceof TaskEvent) + return taskEvent((TaskEvent)evt, type, id, name, nid, ts, msg, shortDisplay); - return new VisorGridTaskEvent(type, id, name, nid, ts, msg, shortDisplay, - te.taskName(), te.taskClassName(), te.taskSessionId(), te.internal()); - } + if (evt instanceof JobEvent) + return jobEvent((JobEvent)evt, type, id, name, nid, ts, msg, shortDisplay); - if (evt instanceof JobEvent) { - JobEvent je = (JobEvent)evt; + if (evt instanceof DeploymentEvent) + return deploymentEvent((DeploymentEvent)evt, type, id, name, nid, ts, msg, shortDisplay); - return new VisorGridJobEvent(type, id, name, nid, ts, msg, shortDisplay, - je.taskName(), je.taskClassName(), je.taskSessionId(), je.jobId()); - } + if (evt instanceof DiscoveryEvent) + return discoveryEvent((DiscoveryEvent)evt, type, id, name, nid, ts, msg, shortDisplay); - if (evt instanceof DeploymentEvent) { - DeploymentEvent de = (DeploymentEvent)evt; - - return new VisorGridDeploymentEvent(type, id, name, nid, ts, msg, shortDisplay, de.alias()); - } + return null; + } - if (evt instanceof DiscoveryEvent) { - DiscoveryEvent de = (DiscoveryEvent)evt; + /** + * @param te Task event. + * @param type Event's type. + * @param id Event id. + * @param name Event name. + * @param nid Event node ID. + * @param ts Event timestamp. + * @param msg Event message. + * @param shortDisplay Shortened version of {@code toString()} result. + * @return Visor data transfer object for event. + */ + protected VisorGridEvent taskEvent(TaskEvent te, int type, IgniteUuid id, String name, UUID nid, long ts, + String msg, String shortDisplay) { + return new VisorGridTaskEvent(type, id, name, nid, ts, msg, shortDisplay, + te.taskName(), te.taskClassName(), te.taskSessionId(), te.internal()); + } - ClusterNode node = de.eventNode(); + /** + * @param je Job event. + * @param type Event's type. + * @param id Event id. + * @param name Event name. + * @param nid Event node ID. + * @param ts Event timestamp. + * @param msg Event message. + * @param shortDisplay Shortened version of {@code toString()} result. + * @return Visor data transfer object for event. + */ + protected VisorGridEvent jobEvent(JobEvent je, int type, IgniteUuid id, String name, UUID nid, long ts, + String msg, String shortDisplay) { + return new VisorGridJobEvent(type, id, name, nid, ts, msg, shortDisplay, je.taskName(), je.taskClassName(), + je.taskSessionId(), je.jobId()); + } - String addr = F.first(node.addresses()); + /** + * @param de Deployment event. + * @param type Event's type. + * @param id Event id. + * @param name Event name. + * @param nid Event node ID. + * @param ts Event timestamp. + * @param msg Event message. + * @param shortDisplay Shortened version of {@code toString()} result. + * @return Visor data transfer object for event. + */ + protected VisorGridEvent deploymentEvent(DeploymentEvent de, int type, IgniteUuid id, String name, UUID nid, + long ts, String msg, String shortDisplay) { + return new VisorGridDeploymentEvent(type, id, name, nid, ts, msg, shortDisplay, de.alias()); + } - return new VisorGridDiscoveryEvent(type, id, name, nid, ts, msg, shortDisplay, - node.id(), addr, node.isDaemon()); - } + /** + * @param de Discovery event. + * @param type Event's type. + * @param id Event id. + * @param name Event name. + * @param nid Event node ID. + * @param ts Event timestamp. + * @param msg Event message. + * @param shortDisplay Shortened version of {@code toString()} result. + * @return Visor data transfer object for event. + */ + protected VisorGridEvent discoveryEvent(DiscoveryEvent de, int type, IgniteUuid id, String name, UUID nid, + long ts, String msg, String shortDisplay) { + ClusterNode node = de.eventNode(); - return null; + return new VisorGridDiscoveryEvent(type, id, name, nid, ts, msg, shortDisplay, node.id(), + F.first(node.addresses()), node.isDaemon()); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java index 2721be4..25aaab5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java @@ -41,6 +41,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.SortedMap; +import java.util.UUID; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.zip.ZipEntry; @@ -54,18 +55,21 @@ import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicyMBean; import org.apache.ignite.cache.eviction.lru.LruEvictionPolicyMBean; import org.apache.ignite.cache.eviction.random.RandomEvictionPolicyMBean; import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.events.DiscoveryEvent; import org.apache.ignite.events.Event; import org.apache.ignite.internal.processors.igfs.IgfsEx; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.SB; import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.internal.visor.event.VisorGridDiscoveryEventV2; import org.apache.ignite.internal.visor.event.VisorGridEvent; import org.apache.ignite.internal.visor.event.VisorGridEventsLost; import org.apache.ignite.internal.visor.file.VisorFileBlock; import org.apache.ignite.internal.visor.log.VisorLogFile; import org.apache.ignite.lang.IgniteClosure; import org.apache.ignite.lang.IgnitePredicate; +import org.apache.ignite.lang.IgniteUuid; import org.jetbrains.annotations.Nullable; import static java.lang.System.getProperty; @@ -382,6 +386,17 @@ public class VisorTaskUtils { /** Mapper from grid event to Visor data transfer object. */ public static final VisorEventMapper EVT_MAPPER = new VisorEventMapper(); + /** Mapper from grid event to Visor data transfer object. */ + public static final VisorEventMapper EVT_MAPPER_V2 = new VisorEventMapper() { + @Override protected VisorGridEvent discoveryEvent(DiscoveryEvent de, int type, IgniteUuid id, String name, + UUID nid, long ts, String msg, String shortDisplay) { + ClusterNode node = de.eventNode(); + + return new VisorGridDiscoveryEventV2(type, id, name, nid, ts, msg, shortDisplay, node.id(), + F.first(node.addresses()), node.isDaemon(), de.topologyVersion()); + } + }; + /** * Grabs local events and detects if events was lost since last poll. * @@ -389,17 +404,18 @@ public class VisorTaskUtils { * @param evtOrderKey Unique key to take last order key from node local map. * @param evtThrottleCntrKey Unique key to take throttle count from node local map. * @param all If {@code true} then collect all events otherwise collect only non task events. + * @param evtMapper Closure to map grid events to Visor data transfer objects. * @return Collections of node events */ public static Collection<VisorGridEvent> collectEvents(Ignite ignite, String evtOrderKey, String evtThrottleCntrKey, - final boolean all) { + boolean all, IgniteClosure<Event, VisorGridEvent> evtMapper) { int[] evtTypes = all ? VISOR_ALL_EVTS : VISOR_NON_TASK_EVTS; // Collect discovery events for Web Console. if (evtOrderKey.startsWith("CONSOLE_")) evtTypes = concat(evtTypes, EVTS_DISCOVERY); - return collectEvents(ignite, evtOrderKey, evtThrottleCntrKey, evtTypes, EVT_MAPPER); + return collectEvents(ignite, evtOrderKey, evtThrottleCntrKey, evtTypes, evtMapper); } /** @@ -413,7 +429,7 @@ public class VisorTaskUtils { * @return Collections of node events */ public static Collection<VisorGridEvent> collectEvents(Ignite ignite, String evtOrderKey, String evtThrottleCntrKey, - final int[] evtTypes, IgniteClosure<Event, VisorGridEvent> evtMapper) { + int[] evtTypes, IgniteClosure<Event, VisorGridEvent> evtMapper) { assert ignite != null; assert evtTypes != null && evtTypes.length > 0; http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-agent/.gitignore ---------------------------------------------------------------------- diff --git a/modules/web-agent/.gitignore b/modules/web-agent/.gitignore deleted file mode 100644 index 57dd45e..0000000 --- a/modules/web-agent/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -logs/*.log.* -jdbc-drivers/*.jar http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-agent/README.txt ---------------------------------------------------------------------- diff --git a/modules/web-agent/README.txt b/modules/web-agent/README.txt deleted file mode 100644 index c6e625b..0000000 --- a/modules/web-agent/README.txt +++ /dev/null @@ -1,88 +0,0 @@ -Ignite Web Agent -====================================== -Ignite Web Agent is a java standalone application that allow to connect Ignite Grid to Ignite Web Console. -Ignite Web Agent communicates with grid nodes via REST interface and connects to Ignite Web Console via web-socket. - -Two main functions of Ignite Web Agent: - 1. Proxy between Ignite Web Console and Ignite Grid to execute SQL statements and collect metrics for monitoring. - You may need to specify URI for connect to Ignite REST server via "-n" option. - - 2. Proxy between Ignite Web Console and user RDBMS to collect database metadata for later CacheTypeMetadata configuration. - You may need to copy JDBC driver into "./jdbc-drivers" subfolder or specify path via "-d" option. - -Usage example: - ignite-web-agent.sh - -Configuration file: - Should be a file with simple line-oriented format as described here: http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load(java.io.Reader) - - Available entries names: - tokens - server-uri - node-uri - driver-folder - - Example configuration file: - tokens=1a2b3c4d5f,2j1s134d12 - serverURI=https://console.example.com:3001 - -Security tokens: - 1) By default security token of current user will be included into "default.properties" inside downloaded "ignite-web-agent-x.x.x.zip". - 2) One can get/reset token in Web Console profile (https://<your_console_address>/settings/profile). - 3) One may specify several comma separated tokens using configuration file or command line arguments of web agent. - -Ignite Web agent requirements: - 1) In order to communicate with web agent Ignite node should be started with REST server (move ignite-rest-http folder from lib/optional/ to lib/). - 2) Configure web agent serverURI property by Ignite node REST server URI. - -Options: - -h, --help - Print this help message - -c, --config - Path to configuration file - -d, --driver-folder - Path to folder with JDBC drivers, default value: ./jdbc-drivers - -n, --node-uri - URI for connect to Ignite REST server, default value: - http://localhost:8080 - -s, --server-uri - URI for connect to Ignite Web Console via web-socket protocol, default - value: http://localhost:3001 - -t, --tokens - User's security tokens - -How to build: - To build from sources run following command in Ignite project root folder: - mvn clean package -pl :ignite-web-agent -am -P web-console -DskipTests=true - -Demo of Ignite Web Agent: - In order to simplify evaluation demo mode was implemented. To start demo, you need to click button "Start demo". - New tab will be open with prepared demo data. - - 1) Demo for import domain model from database. - In this mode an in-memory H2 database will be started. - How to evaluate: - 1.1) Go to Ignite Web Console "Domain model" screen. - 1.2) Click "Import from database". You should see modal with demo description. - 1.3) Click "Next" button. You should see list of available schemas. - 1.4) Click "Next" button. You should see list of available tables. - 1.5) Click "Next" button. You should see import options. - 1.6) Select some of them and click "Save". - - 2) Demo for SQL. - How to evaluate: - In this mode internal Ignite node will be started. Cache created and populated with data. - 2.1) Click "SQL" in Ignite Web Console top menu. - 2.2) "Demo" notebook with preconfigured queries will be opened. - 2.3) You can also execute any SQL queries for tables: "Country, Department, Employee, Parking, Car". - - For example: - 2.4) Enter SQL statement: - SELECT p.name, count(*) AS cnt - FROM "ParkingCache".Parking p - INNER JOIN "CarCache".Car c - ON (p.id) = (c.parkingId) - GROUP BY P.NAME - 2.5) Click "Execute" button. You should get some data in table. - 2.6) Click charts buttons to see auto generated charts. - http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-agent/assembly/release-web-agent.xml ---------------------------------------------------------------------- diff --git a/modules/web-agent/assembly/release-web-agent.xml b/modules/web-agent/assembly/release-web-agent.xml deleted file mode 100644 index aa85b59..0000000 --- a/modules/web-agent/assembly/release-web-agent.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> - <id>release-ignite-web-agent</id> - - <formats> - <format>zip</format> - </formats> - - <fileSets> - <fileSet> - <directory>${basedir}</directory> - <outputDirectory>/</outputDirectory> - <includes> - <include>jdbc-drivers/README*</include> - <include>demo/README*</include> - <include>demo/*.sql</include> - <include>README*</include> - <include>LICENSE*</include> - <include>NOTICE*</include> - </includes> - </fileSet> - <fileSet> - <directory>${basedir}/bin</directory> - <outputDirectory>/</outputDirectory> - <includes> - <include>**/*.bat</include> - </includes> - </fileSet> - <fileSet> - <directory>${basedir}/bin</directory> - <outputDirectory>/</outputDirectory> - <fileMode>0755</fileMode> - <includes> - <include>**/*.sh</include> - </includes> - </fileSet> - <fileSet> - <directory>${basedir}/logs</directory> - <outputDirectory>/logs</outputDirectory> - <includes> - <include>README*</include> - </includes> - </fileSet> - <fileSet> - <directory>${project.build.directory}</directory> - <outputDirectory>/</outputDirectory> - <includes> - <include>ignite-web-agent-${project.version}.jar</include> - </includes> - </fileSet> - </fileSets> -</assembly> http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-agent/bin/ignite-web-agent.bat ---------------------------------------------------------------------- diff --git a/modules/web-agent/bin/ignite-web-agent.bat b/modules/web-agent/bin/ignite-web-agent.bat deleted file mode 100644 index f16eb35..0000000 --- a/modules/web-agent/bin/ignite-web-agent.bat +++ /dev/null @@ -1,70 +0,0 @@ -:: -:: Licensed to the Apache Software Foundation (ASF) under one or more -:: contributor license agreements. See the NOTICE file distributed with -:: this work for additional information regarding copyright ownership. -:: The ASF licenses this file to You under the Apache License, Version 2.0 -:: (the "License"); you may not use this file except in compliance with -:: the License. You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@echo off -Setlocal EnableDelayedExpansion - -if "%OS%" == "Windows_NT" setlocal - -:: Check JAVA_HOME. -if defined JAVA_HOME goto checkJdk - echo %0, ERROR: - echo JAVA_HOME environment variable is not found. - echo Please point JAVA_HOME variable to location of JDK 1.7 or JDK 1.8. - echo You can also download latest JDK at http://java.com/download. -goto error_finish - -:checkJdk -:: Check that JDK is where it should be. -if exist "%JAVA_HOME%\bin\java.exe" goto checkJdkVersion - echo %0, ERROR: - echo JAVA is not found in JAVA_HOME=%JAVA_HOME%. - echo Please point JAVA_HOME variable to installation of JDK 1.7 or JDK 1.8. - echo You can also download latest JDK at http://java.com/download. -goto error_finish - -:checkJdkVersion -"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr "1\.[78]\." > nul -if %ERRORLEVEL% equ 0 goto run_java - echo %0, ERROR: - echo The version of JAVA installed in %JAVA_HOME% is incorrect. - echo Please point JAVA_HOME variable to installation of JDK 1.7 or JDK 1.8. - echo You can also download latest JDK at http://java.com/download. -goto error_finish - -:run_java - -:: -:: JVM options. See http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp for more details. -:: -:: ADD YOUR/CHANGE ADDITIONAL OPTIONS HERE -:: -if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms1g -Xmx1g -server -XX:+AggressiveOpts -XX:MaxPermSize=256m - -"%JAVA_HOME%\bin\java.exe" %JVM_OPTS% -cp "*" org.apache.ignite.console.agent.AgentLauncher %* - -set JAVA_ERRORLEVEL=%ERRORLEVEL% - -:: errorlevel 130 if aborted with Ctrl+c -if %JAVA_ERRORLEVEL%==130 goto eof - -:error_finish - -if not "%NO_PAUSE%" == "1" pause - -goto :eof - http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-agent/bin/ignite-web-agent.sh ---------------------------------------------------------------------- diff --git a/modules/web-agent/bin/ignite-web-agent.sh b/modules/web-agent/bin/ignite-web-agent.sh deleted file mode 100644 index 3f2c2bc..0000000 --- a/modules/web-agent/bin/ignite-web-agent.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash -# -# 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. -# - -# Check JAVA_HOME. -if [ "$JAVA_HOME" = "" ]; then - JAVA=`type -p java` - RETCODE=$? - - if [ $RETCODE -ne 0 ]; then - echo $0", ERROR:" - echo "JAVA_HOME environment variable is not found." - echo "Please point JAVA_HOME variable to location of JDK 1.7 or JDK 1.8." - echo "You can also download latest JDK at http://java.com/download" - - exit 1 - fi - - JAVA_HOME= -else - JAVA=${JAVA_HOME}/bin/java -fi - -# -# Check JDK. -# -if [ ! -e "$JAVA" ]; then - echo $0", ERROR:" - echo "JAVA is not found in JAVA_HOME=$JAVA_HOME." - echo "Please point JAVA_HOME variable to installation of JDK 1.7 or JDK 1.8." - echo "You can also download latest JDK at http://java.com/download" - - exit 1 -fi - -JAVA_VER=`"$JAVA" -version 2>&1 | egrep "1\.[78]\."` - -if [ "$JAVA_VER" == "" ]; then - echo $0", ERROR:" - echo "The version of JAVA installed in JAVA_HOME=$JAVA_HOME is incorrect." - echo "Please point JAVA_HOME variable to installation of JDK 1.7 or JDK 1.8." - echo "You can also download latest JDK at http://java.com/download" - - exit 1 -fi - -SOURCE="${BASH_SOURCE[0]}" - -DIR="$( dirname "$SOURCE" )" - -while [ -h "$SOURCE" ] - do - SOURCE="$(readlink "$SOURCE")" - - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" - - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - done - -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -cd $DIR - -# -# JVM options. See http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp for more details. -# -# ADD YOUR/CHANGE ADDITIONAL OPTIONS HERE -# -if [ -z "$JVM_OPTS" ] ; then - JVM_OPTS="-Xms1g -Xmx1g -server -XX:+AggressiveOpts -XX:MaxPermSize=256m" -fi - -"$JAVA" ${JVM_OPTS} -cp "*" org.apache.ignite.console.agent.AgentLauncher "$@" http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-agent/demo/README.txt ---------------------------------------------------------------------- diff --git a/modules/web-agent/demo/README.txt b/modules/web-agent/demo/README.txt deleted file mode 100644 index 17e5074..0000000 --- a/modules/web-agent/demo/README.txt +++ /dev/null @@ -1,4 +0,0 @@ -Ignite Web Agent -====================================== - -This is folder for demo files.
