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);
     }
 }

Reply via email to