Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 0c64be58b -> f074e6114


IGNITE-843 Moved Memory, Query & Store to general from advanced settings.


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

Branch: refs/heads/ignite-843
Commit: f074e611429079509fee33fea4e390f7a93be47c
Parents: 0c64be5
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Thu Aug 13 15:30:39 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Thu Aug 13 15:30:39 2015 +0700

----------------------------------------------------------------------
 .../src/main/js/controllers/models/caches.json  | 833 ++++++++++---------
 .../src/main/js/helpers/data-structures.js      |  35 -
 .../src/main/js/views/configuration/caches.jade |   8 +-
 3 files changed, 423 insertions(+), 453 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f074e611/modules/control-center-web/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git 
a/modules/control-center-web/src/main/js/controllers/models/caches.json 
b/modules/control-center-web/src/main/js/controllers/models/caches.json
index 7561d7b..ec426dc 100644
--- a/modules/control-center-web/src/main/js/controllers/models/caches.json
+++ b/modules/control-center-web/src/main/js/controllers/models/caches.json
@@ -18,123 +18,83 @@
   },
   "general": [
     {
-      "label": "Name",
-      "type": "text",
-      "model": "name",
-      "required": true,
-      "placeholder": "Input name",
-      "id": "defaultFocusId"
-    },
-    {
-      "label": "Mode",
-      "type": "select",
-      "model": "mode",
-      "placeholder": "PARTITIONED",
-      "items": "modes",
-      "tip": [
-        "Cache modes:",
-        "<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>",
-        "  <li>Replicated - in this mode all the keys are distributed to all 
participating nodes.</li>",
-        "  <li>Local - in this mode caches residing on different grid nodes 
will not know about each other.</li>",
-        "</ul>"
-      ]
-    },
-    {
-      "label": "Atomicity",
-      "type": "select",
-      "model": "atomicityMode",
-      "placeholder": "ATOMIC",
-      "items": "atomicities",
-      "tip": [
-        "Atomicity:",
-        "<ul>",
-        "  <li>Transactional - in this mode specified fully ACID-compliant 
transactional cache behavior.</li>",
-        "  <li>Atomic - in this mode distributed transactions and distributed 
locking are not supported.</li>",
-        "</ul>"
-      ]
-    },
-    {
-      "label": "Backups",
-      "type": "number",
-      "model": "backups",
-      "hide": "backupItem.mode != 'PARTITIONED'",
-      "placeholder": 0,
-      "tip": [
-        "Number of nodes used to back up single partition for partitioned 
cache."
-      ]
-    },
-    {
-      "label": "Read from backup",
-      "type": "check",
-      "model": "readFromBackup",
-      "placeholder": true,
-      "hide": "!backupItem.backups || backupItem.mode == 'LOCAL'",
-      "tip": [
-        "Flag indicating whether data can be read from backup.",
-        "If not set then always get data from primary node (never from 
backup)."
-      ]
-    },
-    {
-      "label": "Copy on read",
-      "type": "check",
-      "model": "copyOnRead",
-      "placeholder": true,
-      "tip": [
-        "Flag indicating whether copy of of the value stored in cache should 
be created for cache operation implying return value.",
-        "Also if this flag is set copies are created for values passed to 
CacheInterceptor and to CacheEntryProcessor."
-      ]
-    },
-    {
-      "label": "Invalidate near cache",
-      "type": "check",
-      "model": "invalidate",
-      "tip": [
-        "Invalidation flag for near cache entries in transaction.",
-        "If set then values will be invalidated (nullified) upon commit in 
near cache."
-      ]
-    }
-  ],
-  "advanced": [
-    {
-      "label": "Concurrency control",
-      "tip": [
-        "Cache concurrent usage settings."
-      ],
+      "label": "General",
       "fields": [
         {
-          "label": "Max async operations",
-          "type": "number",
-          "model": "maxConcurrentAsyncOperations",
-          "placeholder": 500,
+          "label": "Name",
+          "type": "text",
+          "model": "name",
+          "required": true,
+          "placeholder": "Input name",
+          "id": "defaultFocusId"
+        },
+        {
+          "label": "Mode",
+          "type": "select",
+          "model": "mode",
+          "placeholder": "PARTITIONED",
+          "items": "modes",
           "tip": [
-            "Maximum number of allowed concurrent asynchronous operations.",
-            "If 0 then number of concurrent asynchronous operations is 
unlimited."
+            "Cache modes:",
+            "<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>",
+            "  <li>Replicated - in this mode all the keys are distributed to 
all participating nodes.</li>",
+            "  <li>Local - in this mode caches residing on different grid 
nodes will not know about each other.</li>",
+            "</ul>"
           ]
         },
         {
-          "label": "Default lock timeout",
+          "label": "Atomicity",
+          "type": "select",
+          "model": "atomicityMode",
+          "placeholder": "ATOMIC",
+          "items": "atomicities",
+          "tip": [
+            "Atomicity:",
+            "<ul>",
+            "  <li>Transactional - in this mode specified fully ACID-compliant 
transactional cache behavior.</li>",
+            "  <li>Atomic - in this mode distributed transactions and 
distributed locking are not supported.</li>",
+            "</ul>"
+          ]
+        },
+        {
+          "label": "Backups",
           "type": "number",
-          "model": "defaultLockTimeout",
+          "model": "backups",
+          "hide": "backupItem.mode != 'PARTITIONED'",
           "placeholder": 0,
           "tip": [
-            "Default lock acquisition timeout.",
-            "If 0 then lock acquisition will never timeout."
+            "Number of nodes used to back up single partition for partitioned 
cache."
           ]
         },
         {
-          "label": "Entry versioning",
-          "type": "dropdown",
-          "model": "atomicWriteOrderMode",
-          "placeholder": "Choose versioning",
-          "items": "atomicWriteOrderModes",
-          "hide": "backupItem.atomicityMode == 'TRANSACTIONAL'",
+          "label": "Read from backup",
+          "type": "check",
+          "model": "readFromBackup",
+          "placeholder": true,
+          "hide": "!backupItem.backups || backupItem.mode == 'LOCAL'",
           "tip": [
-            "Write ordering mode determines which node assigns the write 
version, sender or the primary node.",
-            "<ul>",
-            "  <li>CLOCK - in this mode write versions are assigned on a 
sender node which generally leads to better performance.</li>",
-            "  <li>PRIMARY - in this mode version is assigned only on primary 
node. This means that sender will only send write request to primary node, 
which in turn will assign write version and forward it to backups.</li>",
-            "</ul>"
+            "Flag indicating whether data can be read from backup.",
+            "If not set then always get data from primary node (never from 
backup)."
+          ]
+        },
+        {
+          "label": "Copy on read",
+          "type": "check",
+          "model": "copyOnRead",
+          "placeholder": true,
+          "tip": [
+            "Flag indicating whether copy of of the value stored in cache 
should be created for cache operation implying return value.",
+            "Also if this flag is set copies are created for values passed to 
CacheInterceptor and to CacheEntryProcessor."
+          ]
+        },
+        {
+          "label": "Invalidate near cache",
+          "type": "check",
+          "model": "invalidate",
+          "tip": [
+            "Invalidation flag for near cache entries in transaction.",
+            "If set then values will be invalidated (nullified) upon commit in 
near cache."
           ]
         }
       ]
@@ -381,7 +341,7 @@
             "label": "Add metadata(s)",
             "ref": "/configuration/metadata"
           }
-        } ,
+        },
         {
           "ui": "table-pair",
           "type": "indexedTypes",
@@ -413,339 +373,71 @@
       ]
     },
     {
-      "label": "Rebalance",
-      "hide": "backupItem.mode == 'LOCAL'",
-      "tip": [
-        "Cache rebalance settings."
-      ],
-      "fields": [
-        {
-          "label": "Mode",
-          "type": "dropdown",
-          "model": "rebalanceMode",
-          "placeholder": "ASYNC",
-          "items": "rebalanceModes",
-          "tip": [
-            "Rebalance modes:",
-            "<ul>",
-            "  <li>Synchronous - in this mode distributed caches will not 
start until all necessary data is loaded from other available grid nodes.</li>",
-            "  <li>Asynchronous - in this mode distributed caches will start 
immediately and will load all necessary data from other available grid nodes in 
the background.</li>",
-            "  <li>None - in this mode no rebalancing will take place which 
means that caches will be either loaded on demand from persistent store 
whenever data is accessed, or will be populated explicitly.</li>",
-            "</ul>"
-          ]
-        },
-        {
-          "label": "Pool size",
-          "type": "number",
-          "model": "rebalanceThreadPoolSize",
-          "placeholder": 2,
-          "tip": [
-            "Size of rebalancing thread pool.<br>",
-            "Note that size serves as a hint and implementation may create 
more threads for rebalancing than specified here (but never less threads)."
-          ]
-        },
-        {
-          "label": "Batch size",
-          "type": "number",
-          "model": "rebalanceBatchSize",
-          "placeholder": "512 * 1024",
-          "tip": [
-            "Size (in bytes) to be loaded within a single rebalance message.",
-            "Rebalancing algorithm will split total data set on every node 
into multiple batches prior to sending data."
-          ]
-        },
-        {
-          "label": "Order",
-          "type": "number",
-          "model": "rebalanceOrder",
-          "placeholder": 0,
-          "tip": [
-            "If cache rebalance order is positive, rebalancing for this cache 
will be started only when rebalancing for all caches with smaller rebalance 
order (except caches with rebalance order 0) will be completed."
-          ]
-        },
-        {
-          "label": "Delay",
-          "type": "number",
-          "model": "rebalanceDelay",
-          "placeholder": 0,
-          "tip": [
-            "Delay in milliseconds upon a node joining or leaving topology (or 
crash) after which rebalancing should be started automatically."
-          ]
-        },
-        {
-          "label": "Timeout",
-          "type": "number",
-          "model": "rebalanceTimeout",
-          "placeholder": 10000,
-          "tip": [
-            "Rebalance timeout in milliseconds."
-          ]
-        },
-        {
-          "label": "Throttle",
-          "type": "number",
-          "model": "rebalanceThrottle",
-          "placeholder": 0,
-          "tip": [
-            "Time in milliseconds to wait between rebalance messages to avoid 
overloading of CPU or network."
-          ]
-        }
-      ]
-    },
-    {
-      "label": "Server near cache",
-      "hide": "backupItem.mode != 'PARTITIONED'",
+      "label": "Store",
       "tip": [
-        "Near cache settings.",
-        "Near cache is a small local cache that stores most recently or most 
frequently accessed data.",
-        "Should be used in case when it is impossible to send computations to 
remote nodes."
+        "Cache store settings."
       ],
       "fields": [
         {
-          "label": "Enabled",
-          "type": "check",
-          "model": "nearCacheEnabled",
-          "tip": [
-            "Flag indicating whether to configure near cache."
-          ]
-        },
-        {
-          "label": "Start size",
-          "type": "number",
-          "path": "nearConfiguration",
-          "model": "nearStartSize",
-          "hide": "!backupItem.nearCacheEnabled",
-          "placeholder": 375000,
-          "tip": [
-            "Initial cache size for near cache which will be used to 
pre-create internal hash table after start."
-          ]
-        },
-        {
-          "label": "Eviction policy",
+          "label": "Store factory",
           "type": "dropdown-details",
-          "path": "nearConfiguration.nearEvictionPolicy",
+          "path": "cacheStoreFactory",
           "model": "kind",
-          "placeholder": "Choose eviction policy",
-          "items": "evictionPolicies",
-          "hide": "!backupItem.nearCacheEnabled",
+          "placeholder": "Choose store factory",
+          "items": "cacheStoreFactories",
           "tip": [
-            "Cache expiration policy."
+            "Factory for persistent storage for cache data."
           ],
           "details": {
-            "LRU": {
-              "expanded": false,
+            "CacheJdbcPojoStoreFactory": {
+              "expanded": true,
               "fields": [
                 {
-                  "label": "Batch size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.LRU",
-                  "model": "batchSize",
-                  "placeholder": 1,
+                  "label": "Data source bean",
+                  "type": "text",
+                  "path": "cacheStoreFactory.CacheJdbcPojoStoreFactory",
+                  "model": "dataSourceBean",
+                  "required": true,
+                  "placeholder": "Bean name in Spring context",
                   "tip": [
-                    "Number of entries to remove on shrink."
+                    "Name of the data source bean in Spring context."
                   ]
                 },
                 {
-                  "label": "Max memory size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.LRU",
-                  "model": "maxMemorySize",
-                  "placeholder": 0,
+                  "label": "Dialect",
+                  "type": "dropdown",
+                  "path": "cacheStoreFactory.CacheJdbcPojoStoreFactory",
+                  "model": "dialect",
+                  "required": true,
+                  "placeholder": "Choose JDBC dialect",
+                  "items": "cacheStoreJdbcDialects",
                   "tip": [
-                    "Maximum allowed cache size in bytes."
+                    "Dialect of SQL implemented by a particular RDBMS:",
+                    "<ul>",
+                    "  <li>Generic JDBC dialect.</li>",
+                    "  <li>Oracle database.</li>",
+                    "  <li>IBM DB2.</li>",
+                    "  <li>Microsoft SQL Server.</li>",
+                    "  <li>My SQL.</li>",
+                    "  <li>H2 database.</li>",
+                    "</ul>"
                   ]
                 },
                 {
-                  "label": "Max size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.LRU",
-                  "model": "maxSize",
-                  "placeholder": 100000,
+                  "label": "Metadata",
+                  "type": "dropdown-multiple",
+                  "path": "cacheStoreFactory.CacheJdbcPojoStoreFactory",
+                  "model": "storeMetadata",
+                  "placeholder": "Choose metadata",
+                  "items": "storeMetadata",
                   "tip": [
-                    "Maximum allowed size of cache before entry will start 
getting evicted."
+                    "Select cache type metadata to associate database with 
cache."
                   ]
                 }
               ]
             },
-            "RND": {
-              "expanded": false,
-              "fields": [
-                {
-                  "label": "Max size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.RND",
-                  "model": "maxSize",
-                  "placeholder": 100000,
-                  "tip": [
-                    "Maximum allowed size of cache before entry will start 
getting evicted."
-                  ]
-                }
-              ]
-            },
-            "FIFO": {
-              "expanded": false,
-              "fields": [
-                {
-                  "label": "Batch size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.FIFO",
-                  "model": "batchSize",
-                  "placeholder": 1,
-                  "tip": [
-                    "Number of entries to remove on shrink."
-                  ]
-                },
-                {
-                  "label": "Max memory size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.FIFO",
-                  "model": "maxMemorySize",
-                  "placeholder": 0,
-                  "tip": [
-                    "Maximum allowed cache size in bytes."
-                  ]
-                },
-                {
-                  "label": "Max size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.FIFO",
-                  "model": "maxSize",
-                  "placeholder": 100000,
-                  "tip": [
-                    "Maximum allowed size of cache before entry will start 
getting evicted."
-                  ]
-                }
-              ]
-            },
-            "SORTED": {
-              "expanded": false,
-              "fields": [
-                {
-                  "label": "Batch size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.SORTED",
-                  "model": "batchSize",
-                  "placeholder": 1,
-                  "tip": [
-                    "Number of entries to remove on shrink."
-                  ]
-                },
-                {
-                  "label": "Max memory size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.SORTED",
-                  "model": "maxMemorySize",
-                  "placeholder": 0,
-                  "tip": [
-                    "Maximum allowed cache size in bytes."
-                  ]
-                },
-                {
-                  "label": "Max size",
-                  "type": "number",
-                  "path": "nearConfiguration.nearEvictionPolicy.SORTED",
-                  "model": "maxSize",
-                  "placeholder": 100000,
-                  "tip": [
-                    "Maximum allowed size of cache before entry will start 
getting evicted."
-                  ]
-                }
-              ]
-            }
-          }
-        }
-      ]
-    },
-    {
-      "label": "Statistics",
-      "tip": [
-        "Cache statistics and management settings."
-      ],
-      "fields": [
-        {
-          "label": "Statistics enabled",
-          "type": "check",
-          "model": "statisticsEnabled",
-          "tip": [
-            "Flag indicating whether statistics gathering is enabled on a 
cache."
-          ]
-        },
-        {
-          "label": "Management enabled",
-          "type": "check",
-          "model": "managementEnabled",
-          "tip": [
-            "Flag indicating whether management is enabled on this cache."
-          ]
-        }
-      ]
-    },
-    {
-      "label": "Store",
-      "tip": [
-        "Cache store settings."
-      ],
-      "fields": [
-        {
-          "label": "Store factory",
-          "type": "dropdown-details",
-          "path": "cacheStoreFactory",
-          "model": "kind",
-          "placeholder": "Choose store factory",
-          "items": "cacheStoreFactories",
-          "tip": [
-            "Factory for persistent storage for cache data."
-          ],
-          "details": {
-            "CacheJdbcPojoStoreFactory": {
-              "expanded": true,
-              "fields": [
-                {
-                  "label": "Data source bean",
-                  "type": "text",
-                  "path": "cacheStoreFactory.CacheJdbcPojoStoreFactory",
-                  "model": "dataSourceBean",
-                  "required": true,
-                  "placeholder": "Bean name in Spring context",
-                  "tip": [
-                    "Name of the data source bean in Spring context."
-                  ]
-                },
-                {
-                  "label": "Dialect",
-                  "type": "dropdown",
-                  "path": "cacheStoreFactory.CacheJdbcPojoStoreFactory",
-                  "model": "dialect",
-                  "required": true,
-                  "placeholder": "Choose JDBC dialect",
-                  "items": "cacheStoreJdbcDialects",
-                  "tip": [
-                    "Dialect of SQL implemented by a particular RDBMS:",
-                    "<ul>",
-                    "  <li>Generic JDBC dialect.</li>",
-                    "  <li>Oracle database.</li>",
-                    "  <li>IBM DB2.</li>",
-                    "  <li>Microsoft SQL Server.</li>",
-                    "  <li>My SQL.</li>",
-                    "  <li>H2 database.</li>",
-                    "</ul>"
-                  ]
-                },
-                {
-                  "label": "Metadata",
-                  "type": "dropdown-multiple",
-                  "path": "cacheStoreFactory.CacheJdbcPojoStoreFactory",
-                  "model": "storeMetadata",
-                  "placeholder": "Choose metadata",
-                  "items": "storeMetadata",
-                  "tip": [
-                    "Select cache type metadata to associate database with 
cache."
-                  ]
-                }
-              ]
-            },
-            "CacheJdbcBlobStoreFactory": {
-              "expanded": true,
+            "CacheJdbcBlobStoreFactory": {
+              "expanded": true,
               "fields": [
                 {
                   "label": "user",
@@ -889,6 +581,319 @@
           ]
         }
       ]
+    }
+  ],
+  "advanced": [
+    {
+      "label": "Concurrency control",
+      "tip": [
+        "Cache concurrent usage settings."
+      ],
+      "fields": [
+        {
+          "label": "Max async operations",
+          "type": "number",
+          "model": "maxConcurrentAsyncOperations",
+          "placeholder": 500,
+          "tip": [
+            "Maximum number of allowed concurrent asynchronous operations.",
+            "If 0 then number of concurrent asynchronous operations is 
unlimited."
+          ]
+        },
+        {
+          "label": "Default lock timeout",
+          "type": "number",
+          "model": "defaultLockTimeout",
+          "placeholder": 0,
+          "tip": [
+            "Default lock acquisition timeout.",
+            "If 0 then lock acquisition will never timeout."
+          ]
+        },
+        {
+          "label": "Entry versioning",
+          "type": "dropdown",
+          "model": "atomicWriteOrderMode",
+          "placeholder": "Choose versioning",
+          "items": "atomicWriteOrderModes",
+          "hide": "backupItem.atomicityMode == 'TRANSACTIONAL'",
+          "tip": [
+            "Write ordering mode determines which node assigns the write 
version, sender or the primary node.",
+            "<ul>",
+            "  <li>CLOCK - in this mode write versions are assigned on a 
sender node which generally leads to better performance.</li>",
+            "  <li>PRIMARY - in this mode version is assigned only on primary 
node. This means that sender will only send write request to primary node, 
which in turn will assign write version and forward it to backups.</li>",
+            "</ul>"
+          ]
+        }
+      ]
+    },
+    {
+      "label": "Rebalance",
+      "hide": "backupItem.mode == 'LOCAL'",
+      "tip": [
+        "Cache rebalance settings."
+      ],
+      "fields": [
+        {
+          "label": "Mode",
+          "type": "dropdown",
+          "model": "rebalanceMode",
+          "placeholder": "ASYNC",
+          "items": "rebalanceModes",
+          "tip": [
+            "Rebalance modes:",
+            "<ul>",
+            "  <li>Synchronous - in this mode distributed caches will not 
start until all necessary data is loaded from other available grid nodes.</li>",
+            "  <li>Asynchronous - in this mode distributed caches will start 
immediately and will load all necessary data from other available grid nodes in 
the background.</li>",
+            "  <li>None - in this mode no rebalancing will take place which 
means that caches will be either loaded on demand from persistent store 
whenever data is accessed, or will be populated explicitly.</li>",
+            "</ul>"
+          ]
+        },
+        {
+          "label": "Pool size",
+          "type": "number",
+          "model": "rebalanceThreadPoolSize",
+          "placeholder": 2,
+          "tip": [
+            "Size of rebalancing thread pool.<br>",
+            "Note that size serves as a hint and implementation may create 
more threads for rebalancing than specified here (but never less threads)."
+          ]
+        },
+        {
+          "label": "Batch size",
+          "type": "number",
+          "model": "rebalanceBatchSize",
+          "placeholder": "512 * 1024",
+          "tip": [
+            "Size (in bytes) to be loaded within a single rebalance message.",
+            "Rebalancing algorithm will split total data set on every node 
into multiple batches prior to sending data."
+          ]
+        },
+        {
+          "label": "Order",
+          "type": "number",
+          "model": "rebalanceOrder",
+          "placeholder": 0,
+          "tip": [
+            "If cache rebalance order is positive, rebalancing for this cache 
will be started only when rebalancing for all caches with smaller rebalance 
order (except caches with rebalance order 0) will be completed."
+          ]
+        },
+        {
+          "label": "Delay",
+          "type": "number",
+          "model": "rebalanceDelay",
+          "placeholder": 0,
+          "tip": [
+            "Delay in milliseconds upon a node joining or leaving topology (or 
crash) after which rebalancing should be started automatically."
+          ]
+        },
+        {
+          "label": "Timeout",
+          "type": "number",
+          "model": "rebalanceTimeout",
+          "placeholder": 10000,
+          "tip": [
+            "Rebalance timeout in milliseconds."
+          ]
+        },
+        {
+          "label": "Throttle",
+          "type": "number",
+          "model": "rebalanceThrottle",
+          "placeholder": 0,
+          "tip": [
+            "Time in milliseconds to wait between rebalance messages to avoid 
overloading of CPU or network."
+          ]
+        }
+      ]
+    },
+    {
+      "label": "Server near cache",
+      "hide": "backupItem.mode != 'PARTITIONED'",
+      "tip": [
+        "Near cache settings.",
+        "Near cache is a small local cache that stores most recently or most 
frequently accessed data.",
+        "Should be used in case when it is impossible to send computations to 
remote nodes."
+      ],
+      "fields": [
+        {
+          "label": "Enabled",
+          "type": "check",
+          "model": "nearCacheEnabled",
+          "tip": [
+            "Flag indicating whether to configure near cache."
+          ]
+        },
+        {
+          "label": "Start size",
+          "type": "number",
+          "path": "nearConfiguration",
+          "model": "nearStartSize",
+          "hide": "!backupItem.nearCacheEnabled",
+          "placeholder": 375000,
+          "tip": [
+            "Initial cache size for near cache which will be used to 
pre-create internal hash table after start."
+          ]
+        },
+        {
+          "label": "Eviction policy",
+          "type": "dropdown-details",
+          "path": "nearConfiguration.nearEvictionPolicy",
+          "model": "kind",
+          "placeholder": "Choose eviction policy",
+          "items": "evictionPolicies",
+          "hide": "!backupItem.nearCacheEnabled",
+          "tip": [
+            "Cache expiration policy."
+          ],
+          "details": {
+            "LRU": {
+              "expanded": false,
+              "fields": [
+                {
+                  "label": "Batch size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.LRU",
+                  "model": "batchSize",
+                  "placeholder": 1,
+                  "tip": [
+                    "Number of entries to remove on shrink."
+                  ]
+                },
+                {
+                  "label": "Max memory size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.LRU",
+                  "model": "maxMemorySize",
+                  "placeholder": 0,
+                  "tip": [
+                    "Maximum allowed cache size in bytes."
+                  ]
+                },
+                {
+                  "label": "Max size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.LRU",
+                  "model": "maxSize",
+                  "placeholder": 100000,
+                  "tip": [
+                    "Maximum allowed size of cache before entry will start 
getting evicted."
+                  ]
+                }
+              ]
+            },
+            "RND": {
+              "expanded": false,
+              "fields": [
+                {
+                  "label": "Max size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.RND",
+                  "model": "maxSize",
+                  "placeholder": 100000,
+                  "tip": [
+                    "Maximum allowed size of cache before entry will start 
getting evicted."
+                  ]
+                }
+              ]
+            },
+            "FIFO": {
+              "expanded": false,
+              "fields": [
+                {
+                  "label": "Batch size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.FIFO",
+                  "model": "batchSize",
+                  "placeholder": 1,
+                  "tip": [
+                    "Number of entries to remove on shrink."
+                  ]
+                },
+                {
+                  "label": "Max memory size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.FIFO",
+                  "model": "maxMemorySize",
+                  "placeholder": 0,
+                  "tip": [
+                    "Maximum allowed cache size in bytes."
+                  ]
+                },
+                {
+                  "label": "Max size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.FIFO",
+                  "model": "maxSize",
+                  "placeholder": 100000,
+                  "tip": [
+                    "Maximum allowed size of cache before entry will start 
getting evicted."
+                  ]
+                }
+              ]
+            },
+            "SORTED": {
+              "expanded": false,
+              "fields": [
+                {
+                  "label": "Batch size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.SORTED",
+                  "model": "batchSize",
+                  "placeholder": 1,
+                  "tip": [
+                    "Number of entries to remove on shrink."
+                  ]
+                },
+                {
+                  "label": "Max memory size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.SORTED",
+                  "model": "maxMemorySize",
+                  "placeholder": 0,
+                  "tip": [
+                    "Maximum allowed cache size in bytes."
+                  ]
+                },
+                {
+                  "label": "Max size",
+                  "type": "number",
+                  "path": "nearConfiguration.nearEvictionPolicy.SORTED",
+                  "model": "maxSize",
+                  "placeholder": 100000,
+                  "tip": [
+                    "Maximum allowed size of cache before entry will start 
getting evicted."
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ]
+    },
+    {
+      "label": "Statistics",
+      "tip": [
+        "Cache statistics and management settings."
+      ],
+      "fields": [
+        {
+          "label": "Statistics enabled",
+          "type": "check",
+          "model": "statisticsEnabled",
+          "tip": [
+            "Flag indicating whether statistics gathering is enabled on a 
cache."
+          ]
+        },
+        {
+          "label": "Management enabled",
+          "type": "check",
+          "model": "managementEnabled",
+          "tip": [
+            "Flag indicating whether management is enabled on this cache."
+          ]
+        }
+      ]
     },
     {
       "label": "Write behind",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f074e611/modules/control-center-web/src/main/js/helpers/data-structures.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/helpers/data-structures.js 
b/modules/control-center-web/src/main/js/helpers/data-structures.js
index 2462708..d46fb85 100644
--- a/modules/control-center-web/src/main/js/helpers/data-structures.js
+++ b/modules/control-center-web/src/main/js/helpers/data-structures.js
@@ -44,41 +44,6 @@ eventGroups = {
         'EVT_IGFS_META_UPDATED', 'EVT_IGFS_DIR_CREATED', 
'EVT_IGFS_DIR_RENAMED', 'EVT_IGFS_DIR_DELETED']
 };
 
-jdbcTypes = {
-    BIT: {value: "BIT", code: -7, label: "BIT"},
-    TINYINT: {value: "TINYINT", code: -6, label: "TINYINT"},
-    SMALLINT: {value: "SMALLINT", code: 5, label: "SMALLINT"},
-    INTEGER: {value: "INTEGER", code: 4, label: "INTEGER"},
-    BIGINT: {value: "BIGINT", code: -5, label: "BIGINT"},
-    FLOAT: {value: "FLOAT", code: 6, label: "FLOAT"},
-    REAL: {value: "REAL", code: 7, label: "REAL"},
-    DOUBLE: {value: "DOUBLE", code: 8, label: "DOUBLE"},
-    NUMERIC: {value: "NUMERIC", code: 2, label: "NUMERIC"},
-    DECIMAL: {value: "DECIMAL", code: 3, label: "DECIMAL"},
-    CHAR: {value: "CHAR", code: 1, label: "CHAR"},
-    VARCHAR: {value: "VARCHAR", code: 12, label: "VARCHAR"},
-    DATE: {value: "DATE", code: 91, label: "DATE"},
-    TIME: {value: "TIME", code: 92, label: "TIME"},
-    TIMESTAMP: {value: "TIMESTAMP", code: 93, label: "TIMESTAMP"},
-    BINARY: {value: "BINARY", code: -2, label: "BINARY"}
-};
-
-javaTypes = {
-    INTEGER: {value: "java.lang.Integer", label: "Integer"},
-    LONG: {value: "java.lang.Long", label: "Long"},
-    BIGDECIMAL: {value: "java.math.BigDecimal", label: "BigDecimal"},
-    FLOAT: {value: "java.lang.Float", label: "Float"},
-    DOUBLE: {value: "java.lang.Double", label: "Double"},
-    STRING: {value: "java.lang.String", label: "String"},
-    BOOLEAN: {value: "java.lang.Boolean", label: "Boolean"},
-    BYTE_ARRAY: {value: "byte[]", label: "byte[]"},
-    DATE: {value: "java.sql.Date", label: "Date"},
-    TIME: {value: "java.sql.Time", label: "Time"},
-    TIMESTAMP: {value: "java.sql.Timestamp", label: "Timestamp"}
-};
-
 if (typeof window === 'undefined') {
     exports.eventGroups = eventGroups;
-    exports.jdbcTypes = jdbcTypes;
-    exports.javaTypes = javaTypes;
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f074e611/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 49d20ed..cad9aab 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
@@ -40,19 +40,19 @@ block content
         hr
         form.form-horizontal(name='inputForm' ng-if='backupItem' novalidate)
             .panel-group(bs-collapse ng-model='panels.activePanels' 
data-allow-multiple='true')
-                .panel.panel-default
+                .panel.panel-default(ng-repeat='group in general')
                     .panel-heading
                         h3
-                            a(bs-collapse-toggle) General
+                            a(bs-collapse-toggle) {{::group.label}}
                     .panel-collapse(bs-collapse-target)
                         .panel-body
-                            .settings-row(ng-repeat='field in general')
+                            .settings-row(ng-repeat='field in group.fields')
                                 +form-row('backupItem')
                 div(ng-show='ui.expanded')
                     .advanced-options
                         i.fa.fa-chevron-circle-up(ng-click='toggleExpanded()')
                         a(ng-click='toggleExpanded()') {{ui.expanded ? 'Hide 
advanced settings...' : 'Show advanced settings...'}}
-                    .panel.panel-default(ng-repeat='group in advanced' 
ng-click='triggerDigest = true')
+                    .panel.panel-default(ng-repeat='group in advanced')
                         .panel-heading
                             h3
                                 a(bs-collapse-toggle) {{::group.label}}





Reply via email to