IGNITE-2612 WIP reworking caches screen to Angular directives.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8909d236 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8909d236 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8909d236 Branch: refs/heads/ignite-2612 Commit: 8909d236ea1bc7676491b2fca14d10fc405213f8 Parents: 3f37fc8 Author: Alexey Kuznetsov <[email protected]> Authored: Fri Feb 19 17:55:38 2016 +0700 Committer: Alexey Kuznetsov <[email protected]> Committed: Fri Feb 19 17:55:38 2016 +0700 ---------------------------------------------------------------------- .../caches/concurrency.directive.js | 27 ++++++ .../configuration/caches/concurrency.jade | 99 ++++++++++++++++++++ .../configuration/caches/memory.directive.js | 27 ++++++ .../states/configuration/caches/memory.jade | 99 ++++++++++++++++++++ .../configuration/caches/query.directive.js | 27 ++++++ .../states/configuration/caches/query.jade | 99 ++++++++++++++++++++ .../configuration/caches/store.directive.js | 27 ++++++ .../states/configuration/caches/store.jade | 99 ++++++++++++++++++++ .../src/main/js/views/configuration/caches.jade | 8 ++ 9 files changed, 512 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.directive.js b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.directive.js new file mode 100644 index 0000000..fcf0877 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './concurrency.jade!'; + +export default ['igniteConfigurationCachesGeneral', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.jade new file mode 100644 index 0000000..689b036 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/concurrency.jade @@ -0,0 +1,99 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +- var model = 'backupItem' + +form.panel.panel-default(name='general' novalidate) + .panel-heading(bs-collapse-toggle) + ignite-form-panel-chevron + label General + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id='general') + .panel-body + .col-sm-6 + .settings-row + ignite-form-field + ignite-form-field-label + | Name: + ignite-form-field-tooltip + | Cache name + ignite-form-field-input-text( + data-id='cacheName' + data-name='cacheName' + data-ng-model='#{model}.name' + data-ng-required='true' + data-placeholder='Input name' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Clusters: #[a(ui-sref='base.configuration.clusters({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='clusters' + data-name='clusters' + data-options='clusters' + data-multiple='true' + data-ng-model='#{model}.clusters' + data-ng-disabled='!clusters.length' + data-placeholder='{{ clusters.length ? "Choose clusters": "No clusters configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Domain models: #[a(ui-sref='base.configuration.domains({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='domains' + data-name='domains' + data-options='domains' + data-multiple='true' + data-ng-model='#{model}.domains' + data-ng-disabled='!domains.length' + data-placeholder='{{ domains.length ? "Choose domain models": "No domain models configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Cache mode: + ignite-form-field-tooltip + | Cache modes:#[br] + ul: li Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes + li Replicated - in this mode all the keys are distributed to all participating nodes + li Local - in this mode caches residing on different grid nodes will not know about each other + ignite-form-field-dropdown( + data-id='cacheMode' + data-name='cacheMode' + data-options='[\ + {value: "LOCAL", label: "LOCAL"},\ + {value: "REPLICATED", label: "REPLICATED"},\ + {value: "PARTITIONED", label: "PARTITIONED"}\ + ]' + data-ng-model='#{model}.cacheMode' + data-placeholder='PARTITIONED' + ) + ignite-ui-ace.col-sm-6 + .preview-panel(ng-init='mode = false') + .preview-legend + a(ng-class='{active: !mode, inactive: mode}' ng-click='mode = false') XML + | + a(ng-class='{active: mode, inactive: !mode}' ng-click='mode = true') Java + .preview-content(ng-if='mode') + ignite-ui-ace-java(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') + .preview-content(ng-if='!mode') + ignite-ui-ace-xml(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.directive.js b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.directive.js new file mode 100644 index 0000000..0f8662d --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './memory.jade!'; + +export default ['igniteConfigurationCachesMemory', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.jade new file mode 100644 index 0000000..689b036 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/memory.jade @@ -0,0 +1,99 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +- var model = 'backupItem' + +form.panel.panel-default(name='general' novalidate) + .panel-heading(bs-collapse-toggle) + ignite-form-panel-chevron + label General + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id='general') + .panel-body + .col-sm-6 + .settings-row + ignite-form-field + ignite-form-field-label + | Name: + ignite-form-field-tooltip + | Cache name + ignite-form-field-input-text( + data-id='cacheName' + data-name='cacheName' + data-ng-model='#{model}.name' + data-ng-required='true' + data-placeholder='Input name' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Clusters: #[a(ui-sref='base.configuration.clusters({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='clusters' + data-name='clusters' + data-options='clusters' + data-multiple='true' + data-ng-model='#{model}.clusters' + data-ng-disabled='!clusters.length' + data-placeholder='{{ clusters.length ? "Choose clusters": "No clusters configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Domain models: #[a(ui-sref='base.configuration.domains({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='domains' + data-name='domains' + data-options='domains' + data-multiple='true' + data-ng-model='#{model}.domains' + data-ng-disabled='!domains.length' + data-placeholder='{{ domains.length ? "Choose domain models": "No domain models configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Cache mode: + ignite-form-field-tooltip + | Cache modes:#[br] + ul: li Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes + li Replicated - in this mode all the keys are distributed to all participating nodes + li Local - in this mode caches residing on different grid nodes will not know about each other + ignite-form-field-dropdown( + data-id='cacheMode' + data-name='cacheMode' + data-options='[\ + {value: "LOCAL", label: "LOCAL"},\ + {value: "REPLICATED", label: "REPLICATED"},\ + {value: "PARTITIONED", label: "PARTITIONED"}\ + ]' + data-ng-model='#{model}.cacheMode' + data-placeholder='PARTITIONED' + ) + ignite-ui-ace.col-sm-6 + .preview-panel(ng-init='mode = false') + .preview-legend + a(ng-class='{active: !mode, inactive: mode}' ng-click='mode = false') XML + | + a(ng-class='{active: mode, inactive: !mode}' ng-click='mode = true') Java + .preview-content(ng-if='mode') + ignite-ui-ace-java(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') + .preview-content(ng-if='!mode') + ignite-ui-ace-xml(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.directive.js b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.directive.js new file mode 100644 index 0000000..25e958c --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './query.jade!'; + +export default ['igniteConfigurationCachesMemory', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade new file mode 100644 index 0000000..689b036 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/query.jade @@ -0,0 +1,99 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +- var model = 'backupItem' + +form.panel.panel-default(name='general' novalidate) + .panel-heading(bs-collapse-toggle) + ignite-form-panel-chevron + label General + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id='general') + .panel-body + .col-sm-6 + .settings-row + ignite-form-field + ignite-form-field-label + | Name: + ignite-form-field-tooltip + | Cache name + ignite-form-field-input-text( + data-id='cacheName' + data-name='cacheName' + data-ng-model='#{model}.name' + data-ng-required='true' + data-placeholder='Input name' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Clusters: #[a(ui-sref='base.configuration.clusters({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='clusters' + data-name='clusters' + data-options='clusters' + data-multiple='true' + data-ng-model='#{model}.clusters' + data-ng-disabled='!clusters.length' + data-placeholder='{{ clusters.length ? "Choose clusters": "No clusters configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Domain models: #[a(ui-sref='base.configuration.domains({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='domains' + data-name='domains' + data-options='domains' + data-multiple='true' + data-ng-model='#{model}.domains' + data-ng-disabled='!domains.length' + data-placeholder='{{ domains.length ? "Choose domain models": "No domain models configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Cache mode: + ignite-form-field-tooltip + | Cache modes:#[br] + ul: li Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes + li Replicated - in this mode all the keys are distributed to all participating nodes + li Local - in this mode caches residing on different grid nodes will not know about each other + ignite-form-field-dropdown( + data-id='cacheMode' + data-name='cacheMode' + data-options='[\ + {value: "LOCAL", label: "LOCAL"},\ + {value: "REPLICATED", label: "REPLICATED"},\ + {value: "PARTITIONED", label: "PARTITIONED"}\ + ]' + data-ng-model='#{model}.cacheMode' + data-placeholder='PARTITIONED' + ) + ignite-ui-ace.col-sm-6 + .preview-panel(ng-init='mode = false') + .preview-legend + a(ng-class='{active: !mode, inactive: mode}' ng-click='mode = false') XML + | + a(ng-class='{active: mode, inactive: !mode}' ng-click='mode = true') Java + .preview-content(ng-if='mode') + ignite-ui-ace-java(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') + .preview-content(ng-if='!mode') + ignite-ui-ace-xml(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.directive.js b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.directive.js new file mode 100644 index 0000000..4964a7e --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './store.jade!'; + +export default ['igniteConfigurationCachesMemory', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade new file mode 100644 index 0000000..689b036 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/states/configuration/caches/store.jade @@ -0,0 +1,99 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +- var model = 'backupItem' + +form.panel.panel-default(name='general' novalidate) + .panel-heading(bs-collapse-toggle) + ignite-form-panel-chevron + label General + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id='general') + .panel-body + .col-sm-6 + .settings-row + ignite-form-field + ignite-form-field-label + | Name: + ignite-form-field-tooltip + | Cache name + ignite-form-field-input-text( + data-id='cacheName' + data-name='cacheName' + data-ng-model='#{model}.name' + data-ng-required='true' + data-placeholder='Input name' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Clusters: #[a(ui-sref='base.configuration.clusters({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='clusters' + data-name='clusters' + data-options='clusters' + data-multiple='true' + data-ng-model='#{model}.clusters' + data-ng-disabled='!clusters.length' + data-placeholder='{{ clusters.length ? "Choose clusters": "No clusters configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Domain models: #[a(ui-sref='base.configuration.domains({id: #{model}._id})') (add)] + ignite-form-field-tooltip + | Associate clusters with the current cache + ignite-form-field-dropdown( + data-id='domains' + data-name='domains' + data-options='domains' + data-multiple='true' + data-ng-model='#{model}.domains' + data-ng-disabled='!domains.length' + data-placeholder='{{ domains.length ? "Choose domain models": "No domain models configured" }}' + ) + .settings-row + ignite-form-field + ignite-form-field-label + | Cache mode: + ignite-form-field-tooltip + | Cache modes:#[br] + ul: li Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes + li Replicated - in this mode all the keys are distributed to all participating nodes + li Local - in this mode caches residing on different grid nodes will not know about each other + ignite-form-field-dropdown( + data-id='cacheMode' + data-name='cacheMode' + data-options='[\ + {value: "LOCAL", label: "LOCAL"},\ + {value: "REPLICATED", label: "REPLICATED"},\ + {value: "PARTITIONED", label: "PARTITIONED"}\ + ]' + data-ng-model='#{model}.cacheMode' + data-placeholder='PARTITIONED' + ) + ignite-ui-ace.col-sm-6 + .preview-panel(ng-init='mode = false') + .preview-legend + a(ng-class='{active: !mode, inactive: mode}' ng-click='mode = false') XML + | + a(ng-class='{active: mode, inactive: !mode}' ng-click='mode = true') Java + .preview-content(ng-if='mode') + ignite-ui-ace-java(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') + .preview-content(ng-if='!mode') + ignite-ui-ace-xml(data-cluster='backupItem' data-generator='cacheDomains' data-caches='caches') http://git-wip-us.apache.org/repos/asf/ignite/blob/8909d236/modules/control-center-web/src/main/js/views/configuration/caches.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/views/configuration/caches.jade b/modules/control-center-web/src/main/js/views/configuration/caches.jade index a00fe69..4c10464 100644 --- a/modules/control-center-web/src/main/js/views/configuration/caches.jade +++ b/modules/control-center-web/src/main/js/views/configuration/caches.jade @@ -34,3 +34,11 @@ include ../includes/infos form.form-horizontal(name='ui.inputForm' ng-show='backupItem && tableVisibleRow(displayedRows, selectedItem)' novalidate) .panel-group(bs-collapse ng-model='ui.activePanels' data-allow-multiple='true') ignite-configuration-caches-general + ignite-configuration-caches-memory + ignite-configuration-caches-query + ignite-configuration-caches-store + ignite-configuration-caches-concurrency + ignite-configuration-caches-rebalance + ignite-configuration-caches-server-near-cache + ignite-configuration-caches-statistics +
