Repository: incubator-ignite Updated Branches: refs/heads/ignite-843 76738eae9 -> 827e559f3
# ignite-843 Fixed summary Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/827e559f Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/827e559f Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/827e559f Branch: refs/heads/ignite-843 Commit: 827e559f3c615d98379376fd0e9f62c8b7dabeae Parents: 76738ea Author: Andrey <anovi...@gridgain.com> Authored: Mon Jul 20 15:51:05 2015 +0700 Committer: Andrey <anovi...@gridgain.com> Committed: Mon Jul 20 15:51:05 2015 +0700 ---------------------------------------------------------------------- modules/web-control-center/nodejs/app.js | 1 + .../nodejs/controllers/common-module.js | 40 ++++++++++---------- .../nodejs/controllers/summary-controller.js | 28 ++++++-------- modules/web-control-center/nodejs/package.json | 22 ++++++----- .../nodejs/routes/generator/java.js | 4 +- .../nodejs/routes/generator/xml.js | 14 +++---- .../web-control-center/nodejs/routes/public.js | 5 +++ .../web-control-center/nodejs/routes/summary.js | 12 +++--- .../nodejs/views/configuration/summary.jade | 8 ++-- 9 files changed, 70 insertions(+), 64 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/app.js ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/app.js b/modules/web-control-center/nodejs/app.js index 8c347db..713426b 100644 --- a/modules/web-control-center/nodejs/app.js +++ b/modules/web-control-center/nodejs/app.js @@ -53,6 +53,7 @@ app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false})); app.use(require('less-middleware')(path.join(__dirname, 'public'), { + debug: true, render: { compress: false } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/controllers/common-module.js ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/controllers/common-module.js b/modules/web-control-center/nodejs/controllers/common-module.js index 2205203..a94d23c 100644 --- a/modules/web-control-center/nodejs/controllers/common-module.js +++ b/modules/web-control-center/nodejs/controllers/common-module.js @@ -190,32 +190,32 @@ controlCenterModule.service('$saveAs', function ($modal, $rootScope, $q) { // Tables support service. controlCenterModule.service('$table', ['$common', function ($common) { - function swapSimpleItems(a, ix1, ix2) { + function _swapSimpleItems(a, ix1, ix2) { var tmp = a[ix1]; a[ix1] = a[ix2]; a[ix2] = tmp; } - function model(item, field) { + function _model(item, field) { return $common.getModel(item, field); } var table = {name: 'none', editIndex: -1}; - function tableReset() { + function _tableReset() { table.name = 'none'; table.editIndex = -1; } - function tableState(name, editIndex) { + function _tableState(name, editIndex) { table.name = name; table.editIndex = editIndex; } return { tableNewItem: function (field) { - tableState(field.model, -1); + _tableState(field.model, -1); }, tableNewItemActive: function (field) { return table.name == field.model && table.editIndex < 0; @@ -224,48 +224,48 @@ controlCenterModule.service('$table', ['$common', function ($common) { return table.name == field.model && table.editIndex == index; }, tableStartEdit: function (item, field, index) { - tableState(field.model, index); + _tableState(field.model, index); - return model(item, field)[field.model][index]; + return _model(item, field)[field.model][index]; }, tableRemove: function (item, field, index) { - tableReset(); + _tableReset(); - model(item, field)[field.model].splice(index, 1); + _model(item, field)[field.model].splice(index, 1); }, tableSimpleSave: function (valueValid, item, field, newValue, index) { if (valueValid(item, field, newValue, index)) { - tableReset(); + _tableReset(); if (index < 0) { - if (model(item, field)[field.model]) - model(item, field)[field.model].push(newValue); + if (_model(item, field)[field.model]) + _model(item, field)[field.model].push(newValue); else - model(item, field)[field.model] = [newValue]; + _model(item, field)[field.model] = [newValue]; } else - model(item, field)[field.model][index] = newValue; + _model(item, field)[field.model][index] = newValue; } }, tableSimpleSaveVisible: function(newValue) { return $common.isDefined(newValue) && newValue.trim().length > 0; }, tableSimpleUp: function (item, field, index) { - tableReset(); + _tableReset(); - swapSimpleItems(model(item, field)[field.model], index, index - 1); + _swapSimpleItems(_model(item, field)[field.model], index, index - 1); }, tableSimpleDown: function (item, field, index) { - tableReset(); + _tableReset(); - swapSimpleItems(model(item, field)[field.model], index, index + 1); + _swapSimpleItems(_model(item, field)[field.model], index, index + 1); }, tableSimpleDownVisible: function (item, field, index) { - return index < model(item, field)[field.model].length - 1; + return index < _model(item, field)[field.model].length - 1; }, tablePairSave: function (pairValid, item, field, newKey, newValue, index) { if (pairValid(item, field, newKey, newValue, index)) { - tableReset(); + _tableReset(); var pair = {}; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/controllers/summary-controller.js ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/controllers/summary-controller.js b/modules/web-control-center/nodejs/controllers/summary-controller.js index 7c9cd12..19bbbb4 100644 --- a/modules/web-control-center/nodejs/controllers/summary-controller.js +++ b/modules/web-control-center/nodejs/controllers/summary-controller.js @@ -32,7 +32,10 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', '$common {value: undefined, label: 'Not set'} ]; - $scope.backupItem = {}; + $scope.oss = ['debian:8', 'ubuntu:14.10']; + + $scope.configServer = {javaClassServer: false, os: undefined}; + $scope.backupItem = {javaClassClient: false}; $http.get('/models/summary.json') .success(function (data) { @@ -44,14 +47,6 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', '$common $common.showError(errMsg); }); - $scope.oss = ['debian:8', 'ubuntu:14.10']; - - $scope.javaClassServer = false; - $scope.javaClassClient = false; - - $scope.os = undefined; - - $scope.configServer = {}; $scope.clusters = []; $scope.aceInit = function(editor) { @@ -62,10 +57,10 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', '$common }; $scope.reloadServer = function() { - $scope.javaServer = $scope.javaClass ? $scope.configServer.javaClass : $scope.configServer.javaSnippet; + $scope.javaServer = $scope.configServer.javaClassServer ? $scope.configServer.javaClass : $scope.configServer.javaSnippet; if ($scope.configServer.docker) { - var os = $scope.os ? $scope.os : $scope.oss[0]; + var os = $scope.configServer.os ? $scope.configServer.os : $scope.oss[0]; $scope.dockerServer = $scope.configServer.docker.replace(new RegExp('\%OS\%', 'g'), os); } @@ -84,11 +79,13 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', '$common $scope.reloadServer(); + $scope.$watch('configServer', function() { + $scope.reloadServer(); + }, true); + $scope.$watch('backupItem', function() { $scope.generateClient(); }, true); - - $scope.$watch('javaClassClient', $scope.generateClient); }; $scope.generateServer = function(cluster) { @@ -99,15 +96,14 @@ controlCenterModule.controller('summaryController', ['$scope', '$http', '$common $scope.configServer.javaClass = data.javaClassServer; $scope.configServer.javaSnippet = data.javaSnippetServer; $scope.configServer.docker = data.docker; - - $scope.reloadServer(); }).error(function (errMsg) { $common.showError('Failed to generate config: ' + errMsg); }); }; $scope.generateClient = function() { - $http.post('summary/generator', {_id: $scope.selectedItem._id, javaClass: $scope.javaClassClient, clientCache: $scope.backupItem}) + $http.post('summary/generator', {_id: $scope.selectedItem._id, javaClass: $scope.backupItem.javaClassClient, + clientNearConfiguration: $scope.backupItem.nearConfiguration}) .success(function (data) { $scope.xmlClient = data.xmlClient; $scope.javaClient = data.javaClient; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/package.json ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/package.json b/modules/web-control-center/nodejs/package.json index 2b1e592..5e5463c 100644 --- a/modules/web-control-center/nodejs/package.json +++ b/modules/web-control-center/nodejs/package.json @@ -6,15 +6,19 @@ "scripts": { "start": "node ./bin/www" }, - "author" : "", - "contributors": [{ - "name": "", - "email": "" - }], - "license" : "Apache-2.0", - "keywords" : "grid", - "homepage" : "https://ignite.incubator.apache.org/", - "engines" : { "node" : ">=0.12.4" }, + "author": "", + "contributors": [ + { + "name": "", + "email": "" + } + ], + "license": "Apache-2.0", + "keywords": "grid", + "homepage": "https://ignite.incubator.apache.org/", + "engines": { + "node": ">=0.12.4" + }, "dependencies": { "angular-ui-ace": "^0.2.3", "archiver": "^0.14.4", http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/routes/generator/java.js ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/routes/generator/java.js b/modules/web-control-center/nodejs/routes/generator/java.js index f237086..31cd2ac 100644 --- a/modules/web-control-center/nodejs/routes/generator/java.js +++ b/modules/web-control-center/nodejs/routes/generator/java.js @@ -19,7 +19,7 @@ var _ = require('lodash'); var generatorUtils = require("./common"); -exports.generateClusterConfiguration = function(cluster, javaClass, clientCache) { +exports.generateClusterConfiguration = function(cluster, javaClass, clientNearConfiguration) { var res = generatorUtils.builder(); res.datasourceBeans = []; @@ -40,7 +40,7 @@ exports.generateClusterConfiguration = function(cluster, javaClass, clientCache) res.line('IgniteConfiguration cfg = new IgniteConfiguration();'); res.line(); - if (clientCache) { + if (clientNearConfiguration) { res.line('cfg.setClientMode(true);'); res.line(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/routes/generator/xml.js ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/routes/generator/xml.js b/modules/web-control-center/nodejs/routes/generator/xml.js index 6fc7257..16ef23b 100644 --- a/modules/web-control-center/nodejs/routes/generator/xml.js +++ b/modules/web-control-center/nodejs/routes/generator/xml.js @@ -20,20 +20,20 @@ var _ = require('lodash'); var generatorUtils = require("./common"); var dataStructures = require("../../helpers/data-structures.js"); -exports.generateClusterConfiguration = function(cluster, clientCache) { +exports.generateClusterConfiguration = function(cluster, clientNearConfiguration) { var res = generatorUtils.builder(); res.datasources = []; res.deep = 1; - if (clientCache && clientCache.nearConfiguration) { + if (clientNearConfiguration) { res.startBlock('<bean id="nearCacheBean" class="org.apache.ignite.configuration.NearCacheConfiguration">'); - if (clientCache.nearConfiguration.nearStartSize) - addProperty(res, clientCache.nearConfiguration, 'nearStartSize'); + if (clientNearConfiguration.nearStartSize) + addProperty(res, clientNearConfiguration, 'nearStartSize'); - if (clientCache.nearConfiguration.nearEvictionPolicy && clientCache.nearConfiguration.nearEvictionPolicy.kind) - createEvictionPolicy(res, clientCache.nearConfiguration.nearEvictionPolicy, 'nearEvictionPolicy'); + if (clientNearConfiguration.nearEvictionPolicy && clientNearConfiguration.nearEvictionPolicy.kind) + createEvictionPolicy(res, clientNearConfiguration.nearEvictionPolicy, 'nearEvictionPolicy'); res.endBlock('</bean>'); @@ -43,7 +43,7 @@ exports.generateClusterConfiguration = function(cluster, clientCache) { // Generate Ignite Configuration. res.startBlock('<bean class="org.apache.ignite.configuration.IgniteConfiguration">'); - if (clientCache) { + if (clientNearConfiguration) { res.line('<property name="clientMode" value="true" />'); res.line(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/routes/public.js ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/routes/public.js b/modules/web-control-center/nodejs/routes/public.js index 68bf964..71cf406 100644 --- a/modules/web-control-center/nodejs/routes/public.js +++ b/modules/web-control-center/nodejs/routes/public.js @@ -24,6 +24,11 @@ router.get('/select', function (req, res) { res.render('templates/select', {}); }); +// GET tabs template. +router.get('/tab', function (req, res) { + res.render('templates/tab', {}); +}); + // GET confirmation dialog. router.get('/confirm', function (req, res) { res.render('templates/confirm', {}); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/routes/summary.js ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/routes/summary.js b/modules/web-control-center/nodejs/routes/summary.js index 33af50f..f766945 100644 --- a/modules/web-control-center/nodejs/routes/summary.js +++ b/modules/web-control-center/nodejs/routes/summary.js @@ -37,7 +37,7 @@ router.post('/generator', function (req, res) { if (!cluster) return res.sendStatus(404); - var clientCache = req.body.clientCache; + var clientCache = req.body.clientNearConfiguration; if (clientCache) return res.send({ @@ -63,7 +63,7 @@ router.post('/download', function (req, res) { if (!cluster) return res.sendStatus(404); - var clientCache = req.body.clientCache; + var clientNearConfiguration = req.body.clientNearConfiguration; var archiver = require('archiver'); @@ -80,7 +80,7 @@ router.post('/download', function (req, res) { }); // Set the archive name. - res.attachment(cluster.name + (clientCache ? '-client' : '') + '-configuration.zip'); + res.attachment(cluster.name + (clientNearConfiguration ? '-client' : '') + '-configuration.zip'); var generatorCommon = require('./generator/common'); @@ -89,7 +89,7 @@ router.post('/download', function (req, res) { var javaClass = req.body.javaClass; - if (!clientCache) { + if (!clientNearConfiguration) { zip.append(generatorDocker.generateClusterConfiguration(cluster, req.body.os), {name: "Dockerfile"}); var props = generatorCommon.generateProperties(cluster); @@ -98,8 +98,8 @@ router.post('/download', function (req, res) { zip.append(props, {name: "secret.properties"}); } - zip.append(generatorXml.generateClusterConfiguration(cluster, clientCache), {name: cluster.name + ".xml"}) - .append(generatorJava.generateClusterConfiguration(cluster, javaClass, clientCache), + zip.append(generatorXml.generateClusterConfiguration(cluster, clientNearConfiguration), {name: cluster.name + ".xml"}) + .append(generatorJava.generateClusterConfiguration(cluster, javaClass, clientNearConfiguration), {name: javaClass ? 'ConfigurationFactory.java' : cluster.name + '.snipplet.java'}) .finalize(); }); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/827e559f/modules/web-control-center/nodejs/views/configuration/summary.jade ---------------------------------------------------------------------- diff --git a/modules/web-control-center/nodejs/views/configuration/summary.jade b/modules/web-control-center/nodejs/views/configuration/summary.jade index 68ec808..901d72b 100644 --- a/modules/web-control-center/nodejs/views/configuration/summary.jade +++ b/modules/web-control-center/nodejs/views/configuration/summary.jade @@ -74,7 +74,7 @@ block content .col-sm-1 label Generate: .col-sm-3 - button.form-control(type='button' ng-model='javaClassServer' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false') + button.form-control(type='button' ng-model='configServer.javaClassServer' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false') .configBox(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaServer') div(title='<img src="/images/docker.png" width="16px" height="16px"/> Dockerfile' bs-pane) .settings-row @@ -90,14 +90,14 @@ block content .col-sm-2 label(for='os') Operation System: .col-sm-4 - input#os.form-control(type='text', ng-model='os' placeholder='debian:8' data-min-length="0" data-html="1" data-auto-select="true" data-animation="am-flip-x" bs-typeahead bs-options='os for os in oss') + input#os.form-control(type='text', ng-model='configServer.os' placeholder='debian:8' data-min-length="0" data-html="1" data-auto-select="true" data-animation="am-flip-x" bs-typeahead bs-options='os for os in oss') div(ui-ace='{ onLoad: aceInit, mode: "dockerfile" }' ng-model='dockerServer') div(bs-collapse data-start-collapsed='false') .panel.panel-default form.panel-heading(role='tab' method='post' action='summary/download') input(type="hidden" name="_id" value="{{selectedItem._id}}") input(type="hidden" name="javaClass" value="{{javaClassClient}}") - input(type="hidden" name="clientCache" value="{{backupItem}}") + input(type="hidden" name="clientNearConfiguration" value="{{backupItem}}") h3 a(bs-collapse-toggle) Client @@ -115,5 +115,5 @@ block content .col-sm-1 label Generate: .col-sm-4 - button.form-control(type='button' ng-model='javaClassClient' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false') + button.form-control(type='button' ng-model='backupItem.javaClassClient' bs-select data-placeholder='{{detail.placeholder}}' bs-options='item.value as item.label for item in javaClassItems' data-sort='false') div(ui-ace='{ onLoad: aceInit, mode: "java" }' ng-model='javaClient')