You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/07/28 08:30:56 UTC
incubator-ignite git commit: IGNITE-843: WIP Generate cache type
metadata groups.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-843 ce7ab19b3 -> 34cd6ec1a
IGNITE-843: WIP Generate 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/34cd6ec1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/34cd6ec1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/34cd6ec1
Branch: refs/heads/ignite-843
Commit: 34cd6ec1abe4bb3097d15396b082bd4a043f6613
Parents: ce7ab19
Author: AKuznetsov <ak...@gridgain.com>
Authored: Tue Jul 28 13:30:52 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Tue Jul 28 13:30:52 2015 +0700
----------------------------------------------------------------------
.../src/main/js/routes/generator/xml.js | 54 +++++++++++++++++---
1 file changed, 47 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/34cd6ec1/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 8009698..c266722 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
@@ -360,6 +360,7 @@ function addFields(res, meta, fieldsProperty) {
});
res.endBlock('</list>');
+ res.endBlock('</property>');
}
}
@@ -390,6 +391,39 @@ function addQueryFields(res, meta, fieldsProperty) {
}
}
+function addCacheTypeMetadataGroups(res, meta) {
+ var groups = meta.groups;
+
+ if (groups && groups.length > 0) {
+ res.startBlock('<property name="groups">');
+ res.startBlock('<map>');
+
+ _.forEach(groups, function (group) {
+ var fields = group.fields;
+
+ if (fields && fields.length > 0) {
+ res.startBlock('<entry key="' + group.name + '">');
+ res.startBlock('<map>');
+
+ _.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.endBlock('</bean>');
+ res.endBlock('</entry>');
+ });
+
+ res.endBlock('</map>');
+ res.endBlock('</entry>');
+ }
+ });
+
+ res.endBlock('</map>');
+ res.endBlock('</property>');
+ }
+}
+
function generateCacheTypeMetadataConfiguration(metaCfg, res) {
if (!res)
res = generatorUtils.builder();
@@ -411,6 +445,8 @@ function generateCacheTypeMetadataConfiguration(metaCfg, res) {
addListProperty(res, metaCfg, 'textFields');
+ addCacheTypeMetadataGroups(res, metaCfg);
+
res.endBlock('</bean>');
return res;
@@ -552,24 +588,28 @@ function generateCacheConfiguration(cacheCfg, res) {
res.startBlock('<property name="typeMetadata">');
res.startBlock('<list>');
- var metas = [];
+ var metaNames = [];
if (cacheCfg.queryMetadata && cacheCfg.queryMetadata.length > 0) {
_.forEach(cacheCfg.queryMetadata, function (meta) {
- metas.push(meta);
+ if (!_.contains(metaNames, meta.name)) {
+ metaNames.push(meta.name);
+
+ generateCacheTypeMetadataConfiguration(meta, res);
+ }
});
}
if (cacheCfg.storeMetadata && cacheCfg.storeMetadata.length > 0) {
_.forEach(cacheCfg.storeMetadata, function (meta) {
- metas.push(meta);
+ if (!_.contains(metaNames, meta.name)) {
+ metaNames.push(meta.name);
+
+ generateCacheTypeMetadataConfiguration(meta, res);
+ }
});
}
- _.forEach(metas, function (meta) {
- generateCacheTypeMetadataConfiguration(meta, res);
- });
-
res.endBlock('</list>');
res.endBlock('</property>');
}