You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by se...@apache.org on 2015/06/25 13:38:02 UTC

[2/2] incubator-ignite git commit: # IGNITE-843 Support Hibernate Store.

# IGNITE-843 Support Hibernate Store.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/20f6c154
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/20f6c154
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/20f6c154

Branch: refs/heads/ignite-843
Commit: 20f6c1548a79e723b7dfedf668fc2dbbf37024e6
Parents: e4905d4
Author: sevdokimov <se...@jetbrains.com>
Authored: Thu Jun 25 14:37:10 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Thu Jun 25 14:37:10 2015 +0300

----------------------------------------------------------------------
 modules/webconfig/nodejs/utils/generatorJava.js | 22 +++++++++++++++
 .../webconfig/nodejs/utils/generatorUtils.js    |  2 +-
 modules/webconfig/nodejs/utils/generatorXml.js  | 29 ++++++++++++++------
 3 files changed, 44 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/20f6c154/modules/webconfig/nodejs/utils/generatorJava.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/utils/generatorJava.js b/modules/webconfig/nodejs/utils/generatorJava.js
index 0ca8578..a1bc00a 100644
--- a/modules/webconfig/nodejs/utils/generatorJava.js
+++ b/modules/webconfig/nodejs/utils/generatorJava.js
@@ -479,6 +479,28 @@ function addBeanWithProperties(res, bean, objVarName, beanPropName, beanVarName,
                             addProperty(res, bean, beanVarName, propName, 'float', descr.setterName);
                             break;
                         
+                        case 'propertiesAsList':
+                            var val = bean[propName];
+                            
+                            if (val && val.length > 0) {
+                                res.line('Properties ' + descr.propVarName + ' = new Properties();');
+                                
+                                for (var i = 0; i < val.length; i++) {
+                                    var nameAndValue = val[i];
+                                    
+                                    var eqIndex = nameAndValue.indexOf('=');
+                                    if (eqIndex >= 0) {
+                                        res.line(descr.propVarName + '.setProperty(' 
+                                            + nameAndValue.substring(0, eqIndex) + ', ' 
+                                            + nameAndValue.substr(eqIndex + 1) + ');');
+                                    }
+
+                                }
+                                
+                                res.line(beanVarName + '.' + getSetterName(propName) + '(' + descr.propVarName + ');');
+                            }
+                            break;
+                        
                         case 'className':
                             if (bean[propName]) {
                                 res.line(beanVarName + '.' + getSetterName(propName) + '(new ' + bean[propName] + '());');

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/20f6c154/modules/webconfig/nodejs/utils/generatorUtils.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/utils/generatorUtils.js b/modules/webconfig/nodejs/utils/generatorUtils.js
index 618c93b..b987917 100644
--- a/modules/webconfig/nodejs/utils/generatorUtils.js
+++ b/modules/webconfig/nodejs/utils/generatorUtils.js
@@ -151,7 +151,7 @@ exports.storeFactories = {
     }),
 
     CacheHibernateBlobStoreFactory: new ClassDescriptor('org.apache.ignite.cache.store.hibernate.CacheHibernateBlobStoreFactory', {
-        hibernateProperties: {type: 'list'}
+        hibernateProperties: {type: 'propertiesAsList', propVarName: 'props'}
     })
 };
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/20f6c154/modules/webconfig/nodejs/utils/generatorXml.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/utils/generatorXml.js b/modules/webconfig/nodejs/utils/generatorXml.js
index 5fb9cf0..c716c8c 100644
--- a/modules/webconfig/nodejs/utils/generatorXml.js
+++ b/modules/webconfig/nodejs/utils/generatorXml.js
@@ -410,14 +410,6 @@ function addBeanWithProperties(res, bean, beanPropName, beanClass, props, create
     if (!bean)
         return;
 
-    var hasProp = false;
-    for (var i = 0; i < props.length; i++) {
-        if (bean[props[i]]) {
-            hasProp = true;
-            break;
-        }
-    }
-    
     if (generatorUtils.hasProperty(bean, props)) {
         res.emptyLineIfNeeded();
         res.startBlock('<property name="' + beanPropName + '">');
@@ -438,6 +430,27 @@ function addBeanWithProperties(res, bean, beanPropName, beanClass, props, create
                             res.endBlock('</property>');
                         }
                     }
+                    else if (descr.type == 'propertiesAsList') {
+                        var val = bean[propName];
+
+                        if (val && val.length > 0) {
+                            res.startBlock('<property name="' + propName + '">');
+                            res.startBlock('<props>');
+
+                            for (var i = 0; i < val.length; i++) {
+                                var nameAndValue = val[i];
+
+                                var eqIndex = nameAndValue.indexOf('=');
+                                if (eqIndex >= 0) {
+                                    res.line('<prop key="' + escapeAttr(nameAndValue.substring(0, eqIndex)) + '">' +
+                                            + escape(nameAndValue.substr(eqIndex + 1)) + '</prop>');
+                                }
+                            }
+
+                            res.endBlock('</props>');
+                            res.endBlock('</property>');
+                        }
+                    }
                     else {
                         addProperty(res, bean, propName, descr.setterName);
                     }