Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1427018C98 for ; Tue, 25 Aug 2015 10:12:55 +0000 (UTC) Received: (qmail 7625 invoked by uid 500); 25 Aug 2015 10:12:55 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 7586 invoked by uid 500); 25 Aug 2015 10:12:55 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 7577 invoked by uid 99); 25 Aug 2015 10:12:54 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Aug 2015 10:12:54 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 6DE70E00C5; Tue, 25 Aug 2015 10:12:54 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: akuznetsov@apache.org To: commits@ignite.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: ignite git commit: IGNITE-843 WIP on preview. Date: Tue, 25 Aug 2015 10:12:54 +0000 (UTC) Repository: ignite Updated Branches: refs/heads/ignite-843 a35325c85 -> b81de27d1 IGNITE-843 WIP on preview. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b81de27d Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b81de27d Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b81de27d Branch: refs/heads/ignite-843 Commit: b81de27d1031689c2b3bef6904aa9f99b2e9fcca Parents: a35325c Author: Alexey Kuznetsov Authored: Tue Aug 25 17:13:14 2015 +0700 Committer: Alexey Kuznetsov Committed: Tue Aug 25 17:13:14 2015 +0700 ---------------------------------------------------------------------- .../main/js/controllers/caches-controller.js | 21 +++- .../main/js/controllers/clusters-controller.js | 28 ++--- .../src/main/js/controllers/models/caches.json | 13 ++- .../main/js/controllers/models/clusters.json | 21 ++-- modules/control-center-web/src/main/js/db.js | 2 +- .../main/js/routes/generator/generator-xml.js | 110 ++++++++++++------- .../src/main/js/routes/summary.js | 6 +- .../src/main/js/views/includes/controls.jade | 2 +- 8 files changed, 123 insertions(+), 80 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/caches-controller.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/caches-controller.js b/modules/control-center-web/src/main/js/controllers/caches-controller.js index 5621dcf..fc97cbd 100644 --- a/modules/control-center-web/src/main/js/controllers/caches-controller.js +++ b/modules/control-center-web/src/main/js/controllers/caches-controller.js @@ -16,8 +16,8 @@ */ controlCenterModule.controller('cachesController', [ - '$scope', '$http', '$common', '$focus', '$confirm', '$copy', '$table', '$preview', - function ($scope, $http, $common, $focus, $confirm, $copy, $table, $preview) { + '$scope', '$http', '$timeout', '$common', '$focus', '$confirm', '$copy', '$table', '$preview', + function ($scope, $http, $timeout, $common, $focus, $confirm, $copy, $table, $preview) { $scope.joinTip = $common.joinTip; $scope.getModel = $common.getModel; $scope.javaBuildInClasses = $common.javaBuildInClasses; @@ -47,7 +47,7 @@ controlCenterModule.controller('cachesController', [ $scope.atomicities = $common.mkOptions(['ATOMIC', 'TRANSACTIONAL']); - $scope.modes = $common.mkOptions(['PARTITIONED', 'REPLICATED', 'LOCAL']); + $scope.cacheModes = $common.mkOptions(['PARTITIONED', 'REPLICATED', 'LOCAL']); $scope.atomicWriteOrderModes = $common.mkOptions(['CLOCK', 'PRIMARY']); @@ -112,6 +112,8 @@ controlCenterModule.controller('cachesController', [ $scope.queryMetadata = []; $scope.storeMetadata = []; + $scope.preview = {}; + $scope.required = function (field) { var model = $common.isDefined(field.path) ? field.path + '.' + field.model : field.model; @@ -245,10 +247,17 @@ controlCenterModule.controller('cachesController', [ $scope.selectItem($scope.caches[0]); $scope.$watch('backupItem', function (val) { - if (val) + if (val) { sessionStorage.cacheBackupItem = angular.toJson(val); + + $scope.preview.general = $generatorXml.cacheGeneral(val).join(''); + } }, true); - }) + + $timeout(function () { + $common.initPreview(); + }) + }) .error(function (errMsg) { $common.showError(errMsg); }); @@ -282,7 +291,7 @@ controlCenterModule.controller('cachesController', [ var newItem = { space: $scope.spaces[0]._id, - mode: 'PARTITIONED', + cacheModes: 'PARTITIONED', atomicityMode: 'ATOMIC', readFromBackup: true, copyOnRead: true, http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/clusters-controller.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/clusters-controller.js b/modules/control-center-web/src/main/js/controllers/clusters-controller.js index 497892f..c1ef33d 100644 --- a/modules/control-center-web/src/main/js/controllers/clusters-controller.js +++ b/modules/control-center-web/src/main/js/controllers/clusters-controller.js @@ -201,18 +201,18 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$timeo return memo; }, []); - $scope.preview.general = $generatorXml.caches(clusterCaches, $generatorXml.general(val)).join(''); - $scope.preview.atomics = $generatorXml.atomics(val).join(''); - $scope.preview.communication = $generatorXml.communication(val).join(''); - $scope.preview.deployment = $generatorXml.deployment(val).join(''); - $scope.preview.events = $generatorXml.events(val).join(''); - $scope.preview.marshaller = $generatorXml.marshaller(val).join(''); - $scope.preview.metrics = $generatorXml.metrics(val).join(''); - $scope.preview.p2p = $generatorXml.p2p(val).join(''); - $scope.preview.swap = $generatorXml.swap(val).join(''); - $scope.preview.time = $generatorXml.time(val).join(''); - $scope.preview.pools = $generatorXml.pools(val).join(''); - $scope.preview.transactions = $generatorXml.transactions(val).join(''); + $scope.preview.general = $generatorXml.clusterCaches(clusterCaches, $generatorXml.clusterGeneral(val)).join(''); + $scope.preview.atomics = $generatorXml.clusterAtomics(val).join(''); + $scope.preview.communication = $generatorXml.clusterCommunication(val).join(''); + $scope.preview.deployment = $generatorXml.clusterDeployment(val).join(''); + $scope.preview.events = $generatorXml.clusterEvents(val).join(''); + $scope.preview.marshaller = $generatorXml.clusterMarshaller(val).join(''); + $scope.preview.metrics = $generatorXml.clusterMetrics(val).join(''); + $scope.preview.p2p = $generatorXml.clusterP2p(val).join(''); + $scope.preview.swap = $generatorXml.clusterSwap(val).join(''); + $scope.preview.time = $generatorXml.clusterTime(val).join(''); + $scope.preview.pools = $generatorXml.clusterPools(val).join(''); + $scope.preview.transactions = $generatorXml.clusterTransactions(val).join(''); } }, true); @@ -236,10 +236,6 @@ controlCenterModule.controller('clustersController', ['$scope', '$http', '$timeo else $scope.backupItem = undefined; - $timeout(function () { - $common.previewHeightUpdate(); - }); - if (item) sessionStorage.clusterSelectedItem = angular.toJson(item); else http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/models/caches.json ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/models/caches.json b/modules/control-center-web/src/main/js/controllers/models/caches.json index 71a4e07..d5d27a4 100644 --- a/modules/control-center-web/src/main/js/controllers/models/caches.json +++ b/modules/control-center-web/src/main/js/controllers/models/caches.json @@ -21,6 +21,7 @@ { "label": "General", "id": "general-data", + "preview": "general", "fields": [ { "label": "Name", @@ -47,9 +48,9 @@ { "label": "Mode", "type": "dropdown", - "model": "mode", + "model": "cacheMode", "placeholder": "PARTITIONED", - "items": "modes", + "items": "cacheModes", "tip": [ "Cache modes:", "
    ", @@ -77,7 +78,7 @@ "label": "Backups", "type": "number", "model": "backups", - "hide": "backupItem.mode != 'PARTITIONED'", + "hide": "backupItem.cacheMode != 'PARTITIONED'", "placeholder": 0, "tip": [ "Number of nodes used to back up single partition for partitioned cache." @@ -88,7 +89,7 @@ "type": "check", "model": "readFromBackup", "placeholder": true, - "hide": "!backupItem.backups || backupItem.mode == 'LOCAL'", + "hide": "!backupItem.backups || backupItem.cacheMode == 'LOCAL'", "tip": [ "Flag indicating whether data can be read from backup.", "If not set then always get data from primary node (never from backup)." @@ -717,7 +718,7 @@ { "label": "Rebalance", "id": "rebalance-data", - "hide": "backupItem.mode == 'LOCAL'", + "hide": "backupItem.cacheMode == 'LOCAL'", "tip": [ "Cache rebalance settings." ], @@ -798,7 +799,7 @@ { "label": "Server near cache", "id": "serverNearCache-data", - "hide": "backupItem.mode != 'PARTITIONED'", + "hide": "backupItem.cacheMode != 'PARTITIONED'", "tip": [ "Near cache settings.", "Near cache is a small local cache that stores most recently or most frequently accessed data.", http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/models/clusters.json ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json index 747264c..9f79ac6 100644 --- a/modules/control-center-web/src/main/js/controllers/models/clusters.json +++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json @@ -338,16 +338,6 @@ ], "fields": [ { - "label": "Backups", - "type": "number", - "path": "atomicConfiguration", - "model": "backups", - "placeholder": 0, - "tip": [ - "Number of backup nodes." - ] - }, - { "label": "Cache mode", "type": "dropdown", "path": "atomicConfiguration", @@ -373,6 +363,17 @@ "Default number of sequence values reserved for IgniteAtomicSequence instances.", "After a certain number has been reserved, consequent increments of sequence will happen locally, without communication with other nodes, until the next reservation has to be made." ] + }, + { + "label": "Backups", + "type": "number", + "path": "atomicConfiguration", + "model": "backups", + "hide": "backupItem.atomicConfiguration && backupItem.atomicConfiguration.cacheMode && backupItem.atomicConfiguration.cacheMode != 'PARTITIONED'", + "placeholder": 0, + "tip": [ + "Number of backup nodes." + ] } ] }, http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/db.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/db.js b/modules/control-center-web/src/main/js/db.js index 06ba915..d461cf7 100644 --- a/modules/control-center-web/src/main/js/db.js +++ b/modules/control-center-web/src/main/js/db.js @@ -93,7 +93,7 @@ var CacheSchema = new Schema({ space: {type: ObjectId, ref: 'Space'}, name: String, clusters: [{type: ObjectId, ref: 'Cluster'}], - mode: {type: String, enum: ['PARTITIONED', 'REPLICATED', 'LOCAL']}, + cacheMode: {type: String, enum: ['PARTITIONED', 'REPLICATED', 'LOCAL']}, atomicityMode: {type: String, enum: ['ATOMIC', 'TRANSACTIONAL']}, backups: Number, http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/routes/generator/generator-xml.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js index 869d0f8..be85924 100644 --- a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js +++ b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js @@ -288,7 +288,7 @@ function _addElement(res, tag, attr1, val1, attr2, val2) { $generatorXml = {}; // Generate discovery. -$generatorXml.general = function (cluster, caches, res) { +$generatorXml.clusterGeneral = function (cluster, caches, res) { if (!res) res = $generatorCommon.builder(); @@ -400,7 +400,7 @@ $generatorXml.general = function (cluster, caches, res) { }; // Generate atomics group. -$generatorXml.atomics = function (cluster, res) { +$generatorXml.clusterAtomics = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -414,7 +414,7 @@ $generatorXml.atomics = function (cluster, res) { }; // Generate communication group. -$generatorXml.communication = function (cluster, res) { +$generatorXml.clusterCommunication = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -431,7 +431,7 @@ $generatorXml.communication = function (cluster, res) { }; // Generate deployment group. -$generatorXml.deployment = function (cluster, res) { +$generatorXml.clusterDeployment = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -443,7 +443,7 @@ $generatorXml.deployment = function (cluster, res) { }; // Generate events group. -$generatorXml.events = function (cluster, res) { +$generatorXml.clusterEvents = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -484,7 +484,7 @@ $generatorXml.events = function (cluster, res) { }; // Generate marshaller group. -$generatorXml.marshaller = function (cluster, res) { +$generatorXml.clusterMarshaller = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -508,7 +508,7 @@ $generatorXml.marshaller = function (cluster, res) { }; // Generate metrics group. -$generatorXml.metrics = function (cluster, res) { +$generatorXml.clusterMetrics = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -523,7 +523,7 @@ $generatorXml.metrics = function (cluster, res) { }; // Generate PeerClassLoading group. -$generatorXml.p2p = function (cluster, res) { +$generatorXml.clusterP2p = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -538,7 +538,7 @@ $generatorXml.p2p = function (cluster, res) { }; // Generate swap group. -$generatorXml.swap = function (cluster, res) { +$generatorXml.clusterSwap = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -555,7 +555,7 @@ $generatorXml.swap = function (cluster, res) { }; // Generate time group. -$generatorXml.time = function (cluster, res) { +$generatorXml.clusterTime = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -570,7 +570,7 @@ $generatorXml.time = function (cluster, res) { }; // Generate thread pools group. -$generatorXml.pools = function (cluster, res) { +$generatorXml.clusterPools = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -584,7 +584,7 @@ $generatorXml.pools = function (cluster, res) { }; // Generate transactions group. -$generatorXml.transactions = function (cluster, res) { +$generatorXml.clusterTransactions = function (cluster, res) { if (!res) res = $generatorCommon.builder(); @@ -597,25 +597,63 @@ $generatorXml.transactions = function (cluster, res) { return res; }; -// Generate caches configs. -$generatorXml.cache = function(cache, res) { +$generatorXml.cacheGeneral = function(cache, res) { if (!res) res = $generatorCommon.builder(); - res.startBlock(''); - _addProperty(res, cache, 'name'); res.needEmptyLine = true; - var cacheMode = _addProperty(res, cache, 'mode', 'cacheMode'); - + _addProperty(res, cache, 'cacheMode'); _addProperty(res, cache, 'atomicityMode'); - if (cacheMode == 'PARTITIONED') + if (cache.cacheMode == 'PARTITIONED') _addProperty(res, cache, 'backups'); _addProperty(res, cache, 'readFromBackup'); + _addProperty(res, cache, 'copyOnRead'); + _addProperty(res, cache, 'invalidate'); + + return res; +}; + +$generatorXml.cacheMemory = function(cache, res) { + if (!res) + res = $generatorCommon.builder(); + + return res; +}; + +$generatorXml.cacheQuery = function(cache, res) { + if (!res) + res = $generatorCommon.builder(); + + return res; +}; + +$generatorXml.cacheStore = function(cache, res) { + if (!res) + res = $generatorCommon.builder(); + + return res; +}; + +$generatorXml.cacheConcurrency = function(cache, res) { + if (!res) + res = $generatorCommon.builder(); + + return res; +}; + +// Generate caches configs. +$generatorXml.cache = function(cache, res) { + if (!res) + res = $generatorCommon.builder(); + + res.startBlock(''); + + $generatorXml.cacheGeneral(cache, res); _addProperty(res, cache, 'startSize'); @@ -624,7 +662,6 @@ $generatorXml.cache = function(cache, res) { _addProperty(res, cache, 'memoryMode'); _addProperty(res, cache, 'offHeapMaxMemory'); _addProperty(res, cache, 'swapEnabled'); - _addProperty(res, cache, 'copyOnRead'); res.needEmptyLine = true; @@ -673,7 +710,7 @@ $generatorXml.cache = function(cache, res) { res.needEmptyLine = true; - if (cacheMode != 'LOCAL') { + if (cache.cacheMode != 'LOCAL') { _addProperty(res, cache, 'rebalanceMode'); _addProperty(res, cache, 'rebalanceThreadPoolSize'); _addProperty(res, cache, 'rebalanceBatchSize'); @@ -712,7 +749,6 @@ $generatorXml.cache = function(cache, res) { res.needEmptyLine = true; - _addProperty(res, cache, 'invalidate'); _addProperty(res, cache, 'defaultLockTimeout'); _addProperty(res, cache, 'transactionManagerLookupClassName'); @@ -773,7 +809,7 @@ $generatorXml.cache = function(cache, res) { }; // Generate caches configs. -$generatorXml.caches = function(caches, res) { +$generatorXml.clusterCaches = function(caches, res) { if (!res) res = $generatorCommon.builder(); @@ -799,7 +835,7 @@ $generatorXml.caches = function(caches, res) { return res; }; -$generatorXml.clusterConfiguration = function (cluster, clientNearConfiguration) { +$generatorXml.cluster = function (cluster, clientNearConfiguration) { var res = $generatorCommon.builder(); if (clientNearConfiguration) { @@ -825,31 +861,31 @@ $generatorXml.clusterConfiguration = function (cluster, clientNearConfiguration) res.line(); } - $generatorXml.general(cluster, res); + $generatorXml.clusterGeneral(cluster, res); - $generatorXml.atomics(cluster, res); + $generatorXml.clusterAtomics(cluster, res); - $generatorXml.communication(cluster, res); + $generatorXml.clusterCommunication(cluster, res); - $generatorXml.deployment(cluster, res); + $generatorXml.clusterDeployment(cluster, res); - $generatorXml.events(cluster, res); + $generatorXml.clusterEvents(cluster, res); - $generatorXml.marshaller(cluster, res); + $generatorXml.clusterMarshaller(cluster, res); - $generatorXml.metrics(cluster, res); + $generatorXml.clusterMetrics(cluster, res); - $generatorXml.p2p(cluster, res); + $generatorXml.clusterP2p(cluster, res); - $generatorXml.swap(cluster, res); + $generatorXml.clusterSwap(cluster, res); - $generatorXml.time(cluster, res); + $generatorXml.clusterTime(cluster, res); - $generatorXml.pools(cluster, res); + $generatorXml.clusterPools(cluster, res); - $generatorXml.transactions(cluster, res); + $generatorXml.clusterTransactions(cluster, res); - $generatorXml.caches(cluster.caches, res); + $generatorXml.clusterCaches(cluster.caches, res); res.endBlock(''); http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/routes/summary.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/routes/summary.js b/modules/control-center-web/src/main/js/routes/summary.js index cf560b3..c7ba20a 100644 --- a/modules/control-center-web/src/main/js/routes/summary.js +++ b/modules/control-center-web/src/main/js/routes/summary.js @@ -42,12 +42,12 @@ router.post('/generator', function (req, res) { if (clientCache) return res.send({ - xmlClient: $generatorXml.clusterConfiguration(cluster, clientCache), + xmlClient: $generatorXml.cluster(cluster, clientCache), javaClient: $generatorJava.generateClusterConfiguration(cluster, req.body.javaClass, clientCache) }); return res.send({ - xmlServer: $generatorXml.clusterConfiguration(cluster), + xmlServer: $generatorXml.cluster(cluster), javaSnippetServer: $generatorJava.generateClusterConfiguration(cluster, false), javaClassServer: $generatorJava.generateClusterConfiguration(cluster, true), docker: $generatorDocker.generateClusterConfiguration(cluster, '%OS%') @@ -95,7 +95,7 @@ router.post('/download', function (req, res) { zip.append(props, {name: 'secret.properties'}); } - zip.append($generatorXml.clusterConfiguration(cluster, clientNearConfiguration), {name: cluster.name + '.xml'}) + zip.append($generatorXml.cluster(cluster, clientNearConfiguration), {name: cluster.name + '.xml'}) .append($generatorJava.generateClusterConfiguration(cluster, false, clientNearConfiguration), {name: cluster.name + '.snippet.java'}) .append($generatorJava.generateClusterConfiguration(cluster, true, clientNearConfiguration), http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/views/includes/controls.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/views/includes/controls.jade b/modules/control-center-web/src/main/js/views/includes/controls.jade index 14ab944..3c48c07 100644 --- a/modules/control-center-web/src/main/js/views/includes/controls.jade +++ b/modules/control-center-web/src/main/js/views/includes/controls.jade @@ -312,7 +312,7 @@ mixin form-row-custom(lblClasses, fieldClasses, dataSource) +tipField('field.tip') .input-tip button.form-control(bs-select ng-disabled=fieldDisabled data-placeholder='{{::field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}' tabindex='0')&attributes(fieldCommon) - a.customize(ng-show='#{fieldMdl} && field.settings && field.details[#{fieldMdl}].fields.length > 0' ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? 'Hide settings' : 'Show settings'}} + a.customize(ng-if='#{fieldMdl} && field.settings && field.details[#{fieldMdl}].fields.length > 0' ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? 'Hide settings' : 'Show settings'}} .col-sm-12.panel-details(ng-show='(#{expanded} || !field.settings) && #{fieldMdl}') .details-row(ng-repeat='detail in field.details[#{fieldMdl}].fields') +details-row