IGNITE-6995 Web Console: Fixed code generation for near cache for server and client node.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e361cb66 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e361cb66 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e361cb66 Branch: refs/heads/ignite-zk Commit: e361cb66ad7d0131ee7c0d744efe9e7ed5ba8240 Parents: 79c9c75 Author: Vasiliy Sisko <[email protected]> Authored: Thu Jan 11 21:22:59 2018 +0700 Committer: Alexey Kuznetsov <[email protected]> Committed: Thu Jan 11 21:22:59 2018 +0700 ---------------------------------------------------------------------- .../configuration/generator/ConfigurationGenerator.js | 5 +++-- .../configuration/generator/JavaTransformer.service.js | 11 ++++++++--- .../generator/SpringTransformer.service.js | 12 +++++++++--- 3 files changed, 20 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/e361cb66/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js index 0c40890..39538c2 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js @@ -1881,7 +1881,8 @@ export default class IgniteConfigurationGenerator { /** * Generate eviction policy object. * @param {Object} ccfg Parent configuration. - * @param {String} name Property name. + * @param {Function} available Function to check feature is supported in Ignite current version. + * @param {Boolean} near Near cache flag. * @param {Object} src Source. * @param {Object} dflt Default. * @returns {Object} Parent configuration. @@ -2335,7 +2336,7 @@ export default class IgniteConfigurationGenerator { this.cacheNodeFilter(cache, igfs ? [igfs] : [], ccfg); this.cacheConcurrency(cache, available, ccfg); this.cacheRebalance(cache, ccfg); - this.cacheNearServer(cache, ccfg); + this.cacheNearServer(cache, available, ccfg); this.cacheStatistics(cache, ccfg); this.cacheDomains(cache.domains, available, ccfg); http://git-wip-us.apache.org/repos/asf/ignite/blob/e361cb66/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js b/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js index e5f4804..74b3fc6 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/JavaTransformer.service.js @@ -17,7 +17,9 @@ import AbstractTransformer from './AbstractTransformer'; import StringBuilder from './StringBuilder'; +import VersionService from 'app/services/Version.service'; +const versionService = new VersionService(); const STORE_FACTORY = ['org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory']; // Descriptors for generation of demo data. @@ -884,12 +886,13 @@ export default class IgniteJavaTransformer extends AbstractTransformer { * Build Java startup class with configuration. * * @param {Bean} cfg + * @param available Function to check target version of generated source to appropriate for generation. * @param pkg Package name. * @param {String} clsName Class name for generate factory class otherwise generate code snippet. * @param {Array.<Object>} clientNearCaches Is client node. * @returns {StringBuilder} */ - static igniteConfiguration(cfg, pkg, clsName, clientNearCaches) { + static igniteConfiguration(cfg, available, pkg, clsName, clientNearCaches) { const sb = new StringBuilder(); sb.append(`package ${pkg};`); @@ -903,7 +906,7 @@ export default class IgniteJavaTransformer extends AbstractTransformer { imports.push('org.apache.ignite.configuration.NearCacheConfiguration'); _.forEach(clientNearCaches, (cache) => { - const nearCacheBean = this.generator.cacheNearClient(cache); + const nearCacheBean = this.generator.cacheNearClient(cache, available); nearCacheBean.cacheName = cache.name; @@ -1045,7 +1048,9 @@ export default class IgniteJavaTransformer extends AbstractTransformer { const clientNearCaches = client ? _.filter(cluster.caches, (cache) => cache.cacheMode === 'PARTITIONED' && _.get(cache, 'clientNearConfiguration.enabled')) : []; - return this.igniteConfiguration(cfg, pkg, clsName, clientNearCaches); + const available = versionService.since.bind(versionService, targetVer.ignite); + + return this.igniteConfiguration(cfg, available, pkg, clsName, clientNearCaches); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/e361cb66/modules/web-console/frontend/app/modules/configuration/generator/SpringTransformer.service.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/SpringTransformer.service.js b/modules/web-console/frontend/app/modules/configuration/generator/SpringTransformer.service.js index f0bfdb6..9e35e5d 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/SpringTransformer.service.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/SpringTransformer.service.js @@ -19,6 +19,9 @@ import _ from 'lodash'; import AbstractTransformer from './AbstractTransformer'; import StringBuilder from './StringBuilder'; +import VersionService from 'app/services/Version.service'; + +const versionService = new VersionService(); export default class IgniteSpringTransformer extends AbstractTransformer { static escapeXml(str) { @@ -252,10 +255,11 @@ export default class IgniteSpringTransformer extends AbstractTransformer { * Build final XML. * * @param {Bean} cfg Ignite configuration. + * @param available Function to check target version of generated source to appropriate for generation. * @param {Boolean} clientNearCaches * @returns {StringBuilder} */ - static igniteConfiguration(cfg, clientNearCaches) { + static igniteConfiguration(cfg, available, clientNearCaches) { const sb = new StringBuilder(); // 0. Add header. @@ -302,7 +306,7 @@ export default class IgniteSpringTransformer extends AbstractTransformer { _.forEach(clientNearCaches, (cache) => { this.commentBlock(sb, `Configuration of near cache for cache "${cache.name}"`); - this.appendBean(sb, this.generator.cacheNearClient(cache), true); + this.appendBean(sb, this.generator.cacheNearClient(cache, available), true); sb.emptyLine(); }); @@ -322,6 +326,8 @@ export default class IgniteSpringTransformer extends AbstractTransformer { const clientNearCaches = client ? _.filter(cluster.caches, (cache) => cache.cacheMode === 'PARTITIONED' && _.get(cache, 'clientNearConfiguration.enabled')) : []; - return this.igniteConfiguration(cfg, clientNearCaches); + const available = versionService.since.bind(versionService, targetVer.ignite); + + return this.igniteConfiguration(cfg, available, clientNearCaches); } }
