Repository: ignite Updated Branches: refs/heads/ignite-843 120c11cf7 -> 0ed91729f
IGNITE-843 WIP preview. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0ed91729 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0ed91729 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0ed91729 Branch: refs/heads/ignite-843 Commit: 0ed91729fb9bfc76aad4e145edbf1a771e5caa2d Parents: 120c11c Author: AKuznetsov <[email protected]> Authored: Tue Aug 25 23:44:22 2015 +0700 Committer: AKuznetsov <[email protected]> Committed: Tue Aug 25 23:44:22 2015 +0700 ---------------------------------------------------------------------- .../main/js/controllers/caches-controller.js | 4 +- .../main/js/controllers/metadata-controller.js | 10 +- .../main/js/controllers/models/metadata.json | 3 + .../main/js/routes/generator/generator-xml.js | 125 +++++++++++-------- 4 files changed, 84 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ed91729/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 0062c21..3cb2893 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 @@ -256,8 +256,8 @@ controlCenterModule.controller('cachesController', [ $scope.preview.store = $generatorXml.cacheStore(val).join(''); $scope.preview.concurrency = $generatorXml.cacheConcurrency(val).join(''); $scope.preview.rebalance = $generatorXml.cacheRebalance(val).join(''); - $scope.preview.serverNearCache = $generatorXml.serverNearCache(val).join(''); - $scope.preview.statistics = $generatorXml.statistics(val).join(''); + $scope.preview.serverNearCache = $generatorXml.cacheServerNearCache(val).join(''); + $scope.preview.statistics = $generatorXml.cacheStatistics(val).join(''); } }, true); http://git-wip-us.apache.org/repos/asf/ignite/blob/0ed91729/modules/control-center-web/src/main/js/controllers/metadata-controller.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/metadata-controller.js b/modules/control-center-web/src/main/js/controllers/metadata-controller.js index 09d6afa..c42f528 100644 --- a/modules/control-center-web/src/main/js/controllers/metadata-controller.js +++ b/modules/control-center-web/src/main/js/controllers/metadata-controller.js @@ -51,6 +51,8 @@ controlCenterModule.controller('metadataController', [ var showPopoverMessage = $common.showPopoverMessage; + $scope.preview = {}; + var presets = [ { db: 'oracle', @@ -498,15 +500,19 @@ controlCenterModule.controller('metadataController', [ } else selectFirstItem(); - $scope.selectedItem = sel; $timeout(function () { $scope.$apply(); }); $scope.$watch('backupItem', function (val) { - if (val) + if (val) { sessionStorage.metadataBackupItem = angular.toJson(val); + + $scope.preview.general = $generatorXml.metadataGeneral(val).join(''); + $scope.preview.query = $generatorXml.metadataQuery(val).join(''); + $scope.preview.store = $generatorXml.metadataStore(val).join(''); + } }, true); }) .error(function (errMsg) { http://git-wip-us.apache.org/repos/asf/ignite/blob/0ed91729/modules/control-center-web/src/main/js/controllers/models/metadata.json ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/models/metadata.json b/modules/control-center-web/src/main/js/controllers/models/metadata.json index 86b3315..4efb3d9 100644 --- a/modules/control-center-web/src/main/js/controllers/models/metadata.json +++ b/modules/control-center-web/src/main/js/controllers/models/metadata.json @@ -28,6 +28,7 @@ { "label": "Metadata common", "id": "metadata-data", + "preview": "general", "tip": [ "Metadata properties common to Query and Store." ], @@ -67,6 +68,7 @@ { "label": "Metadata for SQL query", "id": "metadataQuery-data", + "preview": "query", "tip": [], "fields": [ { @@ -148,6 +150,7 @@ { "label": "Metadata for cache store", "id": "metadataCache-data", + "preview": "store", "tip": [], "fields": [ { http://git-wip-us.apache.org/repos/asf/ignite/blob/0ed91729/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 2695813..667ff2d 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 @@ -23,13 +23,6 @@ if (typeof window === 'undefined') { $generatorCommon = require('./generator-common'); } -function _escape(s) { - if (typeof(s) != 'string') - return s; - - return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); -} - function _escapeAttr(s) { if (typeof(s) != 'string') return s; @@ -50,7 +43,7 @@ function _addClassNameProperty(res, obj, propName) { var val = obj[propName]; if ($commonUtils.isDefined(val)) - _addElement(res, 'property', 'name', propName, 'value', $generatorCommon.javaBuildInClass(val)); + _addElement(res, 'property', 'name', propName, 'value', $dataStructures.fullClassName(val)); } function _addListProperty(res, obj, propName, listType, rowFactory) { @@ -155,6 +148,8 @@ function _addCacheTypeMetadataDatabaseFields(res, meta, fieldProperty) { var fields = meta[fieldProperty]; if (fields && fields.length > 0) { + res.emptyLineIfNeeded(); + res.startBlock('<property name="' + fieldProperty + '">'); res.startBlock('<list>'); @@ -177,6 +172,8 @@ function _addCacheTypeMetadataDatabaseFields(res, meta, fieldProperty) { res.endBlock('</list>'); res.endBlock('</property>'); + + res.needEmptyLine = true; } } @@ -184,17 +181,19 @@ function _addCacheTypeMetadataQueryFields(res, meta, fieldProperty) { var fields = meta[fieldProperty]; if (fields && fields.length > 0) { - res.startBlock('<property name="' + fieldProperty + '">'); + res.emptyLineIfNeeded(); + res.startBlock('<property name="' + fieldProperty + '">'); res.startBlock('<map>'); _.forEach(fields, function (field) { - _addElement(res, 'entry', 'key', field.name, 'value', $generatorCommon.javaBuildInClass(field.className)); + _addElement(res, 'entry', 'key', field.name, 'value', $dataStructures.fullClassName(field.className)); }); res.endBlock('</map>'); - res.endBlock('</property>'); + + res.needEmptyLine = true; } } @@ -202,6 +201,8 @@ function _addCacheTypeMetadataGroups(res, meta) { var groups = meta.groups; if (groups && groups.length > 0) { + res.emptyLineIfNeeded(); + res.startBlock('<property name="groups">'); res.startBlock('<map>'); @@ -216,7 +217,7 @@ function _addCacheTypeMetadataGroups(res, meta) { res.startBlock('<entry key="' + field.name + '">'); res.startBlock('<bean class="org.apache.ignite.lang.IgniteBiTuple">'); - res.line('<constructor-arg value="' + $generatorCommon.javaBuildInClass(field.className) + '"/>'); + res.line('<constructor-arg value="' + $dataStructures.fullClassName(field.className) + '"/>'); res.line('<constructor-arg value="' + field.direction + '"/>'); res.endBlock('</bean>'); @@ -230,44 +231,9 @@ function _addCacheTypeMetadataGroups(res, meta) { res.endBlock('</map>'); res.endBlock('</property>'); - } -} -function _generateCacheTypeMetadataConfiguration(res, meta) { - if (!res) - res = $generatorCommon.builder(); - - res.startBlock('<bean class="org.apache.ignite.cache.CacheTypeMetadata">'); - - var kind = meta.kind; - - var keyType = _addClassNameProperty(res, meta, 'keyType'); - - _addProperty(res, meta, 'valueType'); - - if (kind != 'query') { - _addProperty(res, meta, 'databaseSchema'); - _addProperty(res, meta, 'databaseTable'); - - if (!$dataStructures.isJavaBuildInClass(keyType)) - _addCacheTypeMetadataDatabaseFields(res, meta, 'keyFields'); - - _addCacheTypeMetadataDatabaseFields(res, meta, 'valueFields'); - } - - if (kind != 'store') { - _addCacheTypeMetadataQueryFields(res, meta, 'queryFields'); - _addCacheTypeMetadataQueryFields(res, meta, 'ascendingFields'); - _addCacheTypeMetadataQueryFields(res, meta, 'descendingFields'); - - _addListProperty(res, meta, 'textFields'); - - _addCacheTypeMetadataGroups(res, meta); + res.needEmptyLine = true; } - - res.endBlock('</bean>'); - - return res; } function _addElement(res, tag, attr1, val1, attr2, val2) { @@ -751,7 +717,7 @@ $generatorXml.cacheRebalance = function(cache, res) { return res; }; -$generatorXml.serverNearCache = function(cache, res) { +$generatorXml.cacheServerNearCache = function(cache, res) { if (!res) res = $generatorCommon.builder(); @@ -776,7 +742,7 @@ $generatorXml.serverNearCache = function(cache, res) { return res; }; -$generatorXml.statistics = function(cache, res) { +$generatorXml.cacheStatistics = function(cache, res) { if (!res) res = $generatorCommon.builder(); @@ -788,6 +754,52 @@ $generatorXml.statistics = function(cache, res) { return res; }; +$generatorXml.metadataGeneral = function(meta, res) { + if (!res) + res = $generatorCommon.builder(); + + _addClassNameProperty(res, meta, 'keyType'); + _addProperty(res, meta, 'valueType'); + + res.needEmptyLine = true; + + return res; +}; + +$generatorXml.metadataQuery = function(meta, res) { + if (!res) + res = $generatorCommon.builder(); + + _addCacheTypeMetadataQueryFields(res, meta, 'queryFields'); + _addCacheTypeMetadataQueryFields(res, meta, 'ascendingFields'); + _addCacheTypeMetadataQueryFields(res, meta, 'descendingFields'); + + _addListProperty(res, meta, 'textFields'); + + _addCacheTypeMetadataGroups(res, meta); + + res.needEmptyLine = true; + + return res; +}; + +$generatorXml.metadataStore = function(meta, res) { + if (!res) + res = $generatorCommon.builder(); + + _addProperty(res, meta, 'databaseSchema'); + _addProperty(res, meta, 'databaseTable'); + + if (!$dataStructures.isJavaBuildInClass(meta.keyType)) + _addCacheTypeMetadataDatabaseFields(res, meta, 'keyFields'); + + _addCacheTypeMetadataDatabaseFields(res, meta, 'valueFields'); + + res.needEmptyLine = true; + + return res; +}; + // Generate caches configs. $generatorXml.cache = function(cache, res) { if (!res) @@ -807,10 +819,9 @@ $generatorXml.cache = function(cache, res) { $generatorXml.cacheRebalance(cache, res); - $generatorXml.serverNearCache(cache, res); - - $generatorXml.statistics(cache, res); + $generatorXml.cacheServerNearCache(cache, res); + $generatorXml.cacheStatistics(cache, res); // Generate cache type metadata configs. if ((cache.queryMetadata && cache.queryMetadata.length > 0) || @@ -827,7 +838,13 @@ $generatorXml.cache = function(cache, res) { if (!_.contains(metaNames, meta.name)) { metaNames.push(meta.name); - _generateCacheTypeMetadataConfiguration(res, meta); + res.startBlock('<bean class="org.apache.ignite.cache.CacheTypeMetadata">'); + + $generatorXml.metadataGeneral(meta, res); + $generatorXml.metadataQuery(meta, res); + $generatorXml.metadataStore(meta, res); + + res.endBlock('</bean>'); } }); }
