You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/07/31 04:28:33 UTC

[20/41] incubator-ignite git commit: IGNITE-843: Finished XML generation for cache type metadata groups.

IGNITE-843: Finished XML generation for cache type metadata groups.


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

Branch: refs/heads/ignite-1121
Commit: 9018cc4bc7616828384b6e6fdef77667d57b77a1
Parents: 34cd6ec
Author: AKuznetsov <ak...@gridgain.com>
Authored: Tue Jul 28 15:31:32 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Tue Jul 28 15:31:32 2015 +0700

----------------------------------------------------------------------
 .../main/js/controllers/metadata-controller.js  |  4 +-
 modules/web-control-center/src/main/js/db.js    |  2 +-
 .../src/main/js/routes/generator/common.js      | 11 ++++-
 .../src/main/js/routes/generator/xml.js         | 43 +++++++++-----------
 .../src/main/js/views/includes/controls.jade    |  4 +-
 5 files changed, 34 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9018cc4b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/controllers/metadata-controller.js b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
index 47c8687..db10ddc 100644
--- a/modules/web-control-center/src/main/js/controllers/metadata-controller.js
+++ b/modules/web-control-center/src/main/js/controllers/metadata-controller.js
@@ -104,8 +104,8 @@ controlCenterModule.controller('metadataController', ['$scope', '$http', '$commo
         ];
 
         $scope.sortDirections = [
-            {value: 'ASC', label: 'ASC'},
-            {value: 'DESC', label: 'DESC'}
+            {value: false, label: 'ASC'},
+            {value: true, label: 'DESC'}
         ];
 
         $scope.data = {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9018cc4b/modules/web-control-center/src/main/js/db.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/db.js b/modules/web-control-center/src/main/js/db.js
index e6fb99b..5232e24 100644
--- a/modules/web-control-center/src/main/js/db.js
+++ b/modules/web-control-center/src/main/js/db.js
@@ -78,7 +78,7 @@ var CacheTypeMetadataSchema = new Schema({
     ascendingFields: [{name: String, className: String}],
     descendingFields:  [{name: String, className: String}],
     textFields: [String],
-    groups: [{name: String, fields: [{name: String, className: String, direction: String}]}]
+    groups: [{name: String, fields: [{name: String, className: String, direction: Boolean}]}]
 });
 
 exports.CacheTypeMetadata = mongoose.model('CacheTypeMetadata', CacheTypeMetadataSchema);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9018cc4b/modules/web-control-center/src/main/js/routes/generator/common.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/routes/generator/common.js b/modules/web-control-center/src/main/js/routes/generator/common.js
index 05405d3..a300bb5 100644
--- a/modules/web-control-center/src/main/js/routes/generator/common.js
+++ b/modules/web-control-center/src/main/js/routes/generator/common.js
@@ -174,7 +174,7 @@ exports.marshallers = {
     JdkMarshaller: new ClassDescriptor('org.apache.ignite.marshaller.jdk.JdkMarshaller', {})
 };
 
-exports.knownBuildInClasses = {
+var javaBuildInClasses = {
     BigDecimal: {className: 'java.math.Boolean'},
     Boolean: {className: 'java.lang.Boolean'},
     Byte: {className: 'java.lang.Byte'},
@@ -190,6 +190,15 @@ exports.knownBuildInClasses = {
     UUID: {className: 'java.util.UUID'}
 };
 
+exports.javaBuildInClass = function (className) {
+    var fullClassName = javaBuildInClasses[className];
+
+    if (fullClassName)
+        return fullClassName.className;
+
+    return className;
+};
+
 exports.knownClasses = {
     Oracle: new ClassDescriptor('org.apache.ignite.cache.store.jdbc.dialect.OracleDialect', {}),
     DB2: new ClassDescriptor('org.apache.ignite.cache.store.jdbc.dialect.DB2Dialect', {}),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9018cc4b/modules/web-control-center/src/main/js/routes/generator/xml.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/routes/generator/xml.js b/modules/web-control-center/src/main/js/routes/generator/xml.js
index c266722..dbb6935 100644
--- a/modules/web-control-center/src/main/js/routes/generator/xml.js
+++ b/modules/web-control-center/src/main/js/routes/generator/xml.js
@@ -337,7 +337,7 @@ function createEvictionPolicy(res, evictionPolicy, propertyName) {
     }
 }
 
-function addFields(res, meta, fieldsProperty) {
+function addCacheTypeMetadataDatabaseFields(res, meta, fieldsProperty) {
     var fields = meta[fieldsProperty];
 
     if (fields && fields.length > 0) {
@@ -350,11 +350,13 @@ function addFields(res, meta, fieldsProperty) {
 
             addProperty(res, field, 'databaseName');
 
-            addProperty(res, field, 'databaseType');
-            //addPropertyAsConst(res, field, databaseType, toJdbcTypeConst);
+            res.startBlock('<property name="databaseType">');
+            res.line('<util:constant static-field="java.sql.Types.' + field.databaseType + '"/>');
+            res.endBlock('</property>');
 
             addProperty(res, field, 'javaName');
-            addElement(res, 'property', 'name', 'javaType', 'value', knownBuildInClasses(field.javaType));
+
+            addElement(res, 'property', 'name', 'javaType', 'value', generatorUtils.javaBuildInClass(field.javaType));
 
             res.endBlock('</bean>');
         });
@@ -364,16 +366,7 @@ function addFields(res, meta, fieldsProperty) {
     }
 }
 
-function knownBuildInClasses(className) {
-    var fullClassName = generatorUtils.knownBuildInClasses[className];
-
-    if (fullClassName)
-        return fullClassName.className;
-
-    return className;
-}
-
-function addQueryFields(res, meta, fieldsProperty) {
+function addCacheTypeMetadataQueryFields(res, meta, fieldsProperty) {
     var fields = meta[fieldsProperty];
 
     if (fields && fields.length > 0) {
@@ -382,7 +375,7 @@ function addQueryFields(res, meta, fieldsProperty) {
         res.startBlock('<map>');
 
         _.forEach(fields, function (field) {
-            addElement(res, 'entry', 'key', field.name, 'value', knownBuildInClasses(field.className));
+            addElement(res, 'entry', 'key', field.name, 'value', generatorUtils.javaBuildInClass(field.className));
         });
 
         res.endBlock('</map>');
@@ -407,10 +400,12 @@ function addCacheTypeMetadataGroups(res, meta) {
 
                 _.forEach(fields, function (field) {
                     res.startBlock('<entry key="' + field.name + '">');
+
                     res.startBlock('<bean class="org.apache.ignite.lang.IgniteBiTuple">');
-                    res.line('<constructor-arg value="java.lang.String"/>');
-                    res.line('<constructor-arg value="false"/>');
+                    res.line('<constructor-arg value="' + generatorUtils.javaBuildInClass(field.className) + '"/>');
+                    res.line('<constructor-arg value="' + field.direction + '"/>');
                     res.endBlock('</bean>');
+
                     res.endBlock('</entry>');
                 });
 
@@ -436,12 +431,12 @@ function generateCacheTypeMetadataConfiguration(metaCfg, res) {
     addProperty(res, metaCfg, 'keyType');
     addProperty(res, metaCfg, 'valueType');
 
-    addFields(res, metaCfg, 'keyFields');
-    addFields(res, metaCfg, 'valueFields');
+    addCacheTypeMetadataDatabaseFields(res, metaCfg, 'keyFields');
+    addCacheTypeMetadataDatabaseFields(res, metaCfg, 'valueFields');
 
-    addQueryFields(res, metaCfg, 'queryFields');
-    addQueryFields(res, metaCfg, 'ascendingFields');
-    addQueryFields(res, metaCfg, 'descendingFields');
+    addCacheTypeMetadataQueryFields(res, metaCfg, 'queryFields');
+    addCacheTypeMetadataQueryFields(res, metaCfg, 'ascendingFields');
+    addCacheTypeMetadataQueryFields(res, metaCfg, 'descendingFields');
 
     addListProperty(res, metaCfg, 'textFields');
 
@@ -511,8 +506,8 @@ function generateCacheConfiguration(cacheCfg, res) {
         for (var i = 0; i < cacheCfg.indexedTypes.length; i++) {
             var pair = cacheCfg.indexedTypes[i];
 
-            res.line('<value>' + knownBuildInClasses(pair.keyClass) + '</value>');
-            res.line('<value>' + knownBuildInClasses(pair.valueClass) + '</value>');
+            res.line('<value>' + generatorUtils.javaBuildInClass(pair.keyClass) + '</value>');
+            res.line('<value>' + generatorUtils.javaBuildInClass(pair.valueClass) + '</value>');
         }
 
         res.endBlock('</list>');

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9018cc4b/modules/web-control-center/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/includes/controls.jade b/modules/web-control-center/src/main/js/views/includes/controls.jade
index 340a612..5bca8fc 100644
--- a/modules/web-control-center/src/main/js/views/includes/controls.jade
+++ b/modules/web-control-center/src/main/js/views/includes/controls.jade
@@ -173,7 +173,7 @@ mixin table-group-item-edit(fieldName, className, direction)
         button.form-control(ng-model=direction bs-select data-placeholder='Sort' bs-options='item.value as item.label for item in {{sortDirections}}')
     label.fieldSep /
     div(style='width: 38%; float: right')
-        input.form-control(type='text' ng-model=className placeholder='Class name')
+        input.form-control(type='text' ng-model=className placeholder='Class name' bs-typeahead data-min-length='1' bs-options='javaType for javaType in javaBuildInTypes')
     label.fieldSep /
     .input-tip
         input.form-control(type='text' ng-model=fieldName placeholder='Field name')
@@ -330,7 +330,7 @@ mixin form-row-custom(lblClasses, fieldClasses)
                                                     tr(ng-repeat='groupItem in group.fields')
                                                         td
                                                             div(ng-show='!tableGroupItemEditing(groupIndex, $index)')
-                                                                a.labelFormField(ng-click='curGroupItem = tableGroupItemStartEdit(groupIndex, $index); curFieldName = curGroupItem.name; curClassName = curGroupItem.className; curDirection = curGroupItem.direction') {{$index + 1}}) {{groupItem.name}} / {{groupItem.className}} / {{groupItem.direction}}
+                                                                a.labelFormField(ng-click='curGroupItem = tableGroupItemStartEdit(groupIndex, $index); curFieldName = curGroupItem.name; curClassName = curGroupItem.className; curDirection = curGroupItem.direction') {{$index + 1}}) {{groupItem.name}} / {{groupItem.className}} / {{groupItem.direction ? "DESC" : "ASC"}}
                                                                 +btn-remove('tableRemoveGroupItem(group, $index)', 'field.removeItemTip')
                                                             div(ng-show='tableGroupItemEditing(groupIndex, $index)')
                                                                 label.labelField {{$index + 1}})