Small fix to stop driving cluster list off of table list
Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/55ac45bd Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/55ac45bd Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/55ac45bd Branch: refs/heads/apache-blur-0.2 Commit: 55ac45bd7f956e3f9f63125b13a31b8cc05b28fe Parents: 6cdce8e Author: Chris Rohr <[email protected]> Authored: Sat May 24 06:57:27 2014 -0400 Committer: Chris Rohr <[email protected]> Committed: Sat May 24 06:57:27 2014 -0400 ---------------------------------------------------------------------- .../blur/console/servlets/TablesServlet.java | 4 ++- .../org/apache/blur/console/util/TableUtil.java | 9 ++++-- .../src/main/webapp/js/blurconsole.fake.js | 2 +- .../src/main/webapp/js/blurconsole.model.js | 29 ++++++++++---------- .../src/main/webapp/js/blurconsole.search.js | 14 ++++++---- .../apache/blur/console/util/TableUtilTest.java | 21 +++++++------- 6 files changed, 45 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/55ac45bd/contrib/blur-console/src/main/java/org/apache/blur/console/servlets/TablesServlet.java ---------------------------------------------------------------------- diff --git a/contrib/blur-console/src/main/java/org/apache/blur/console/servlets/TablesServlet.java b/contrib/blur-console/src/main/java/org/apache/blur/console/servlets/TablesServlet.java index 8f9321e..13d8280 100644 --- a/contrib/blur-console/src/main/java/org/apache/blur/console/servlets/TablesServlet.java +++ b/contrib/blur-console/src/main/java/org/apache/blur/console/servlets/TablesServlet.java @@ -19,6 +19,7 @@ package org.apache.blur.console.servlets; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; @@ -63,8 +64,9 @@ public class TablesServlet extends BaseConsoleServlet { } } + @SuppressWarnings("rawtypes") private void sendSummaries(HttpServletResponse response) throws IOException { - List<Map<String, Object>> tableSummaries = new ArrayList<Map<String,Object>>(); + Map<String, List> tableSummaries = new HashMap<String, List>(); try { tableSummaries = TableUtil.getTableSummaries(); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/55ac45bd/contrib/blur-console/src/main/java/org/apache/blur/console/util/TableUtil.java ---------------------------------------------------------------------- diff --git a/contrib/blur-console/src/main/java/org/apache/blur/console/util/TableUtil.java b/contrib/blur-console/src/main/java/org/apache/blur/console/util/TableUtil.java index 3aad7f1..4b12308 100644 --- a/contrib/blur-console/src/main/java/org/apache/blur/console/util/TableUtil.java +++ b/contrib/blur-console/src/main/java/org/apache/blur/console/util/TableUtil.java @@ -35,7 +35,8 @@ import org.apache.blur.thrift.generated.TableStats; public class TableUtil { - public static List<Map<String, Object>> getTableSummaries() throws IOException, BlurException, TException { + @SuppressWarnings("rawtypes") + public static Map<String, List> getTableSummaries() throws IOException, BlurException, TException { Iface client = BlurClient.getClient(Config.getConnectionString()); List<Map<String, Object>> summaries = new ArrayList<Map<String, Object>>(); @@ -69,7 +70,11 @@ public class TableUtil { } } - return summaries; + Map<String, List> data = new HashMap<String, List>(); + data.put("tables", summaries); + data.put("clusters", clusters); + + return data; } public static Map<String, Map<String, Map<String, Object>>> getSchema(String table) throws IOException, BlurException, TException { http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/55ac45bd/contrib/blur-console/src/main/webapp/js/blurconsole.fake.js ---------------------------------------------------------------------- diff --git a/contrib/blur-console/src/main/webapp/js/blurconsole.fake.js b/contrib/blur-console/src/main/webapp/js/blurconsole.fake.js index 64f2587..1a817e2 100644 --- a/contrib/blur-console/src/main/webapp/js/blurconsole.fake.js +++ b/contrib/blur-console/src/main/webapp/js/blurconsole.fake.js @@ -38,7 +38,7 @@ blurconsole.fake = (function() { } setTimeout(function() { - callback(data); + callback({'tables':data, 'clusters':clusters}); }, randomNumber(1000)); }; http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/55ac45bd/contrib/blur-console/src/main/webapp/js/blurconsole.model.js ---------------------------------------------------------------------- diff --git a/contrib/blur-console/src/main/webapp/js/blurconsole.model.js b/contrib/blur-console/src/main/webapp/js/blurconsole.model.js index 146c548..0420e65 100644 --- a/contrib/blur-console/src/main/webapp/js/blurconsole.model.js +++ b/contrib/blur-console/src/main/webapp/js/blurconsole.model.js @@ -25,7 +25,8 @@ blurconsole.model = (function() { poller : null }, stateMap = { - tableNameMap: null, + currentTables: null, + currentClusters: [], nodeMap : null, queryPerformance : [], queries : {} @@ -36,19 +37,17 @@ blurconsole.model = (function() { var getClusters, getEnabledTables, getDisabledTables, isDataLoaded, disableTable, enableTable, deleteTable, getSchema, findTerms, getAllEnabledTables, getFamilies; getClusters = function() { - if (stateMap.tableNameMap === null) { + if (stateMap.currentClusters === null) { return []; } - return blurconsole.utils.unique($.map(stateMap.tableNameMap, function(table){ - return table.cluster; - }), true); + return blurconsole.utils.unique(stateMap.currentClusters, true); }; getEnabledTables = function(cluster) { var data = []; - $.each(stateMap.tableNameMap, function(idx, table) { + $.each(stateMap.currentTables, function(idx, table) { if (table.cluster === cluster && table.enabled) { data.push({name:table.name, rowCount:table.rows, recordCount:table.records}); } @@ -60,7 +59,7 @@ blurconsole.model = (function() { getDisabledTables = function(cluster) { var data = []; - $.each(stateMap.tableNameMap, function(idx, table) { + $.each(stateMap.currentTables, function(idx, table) { if (table.cluster === cluster && !table.enabled) { data.push({name:table.name, rowCount:table.rows, recordCount:table.records}); } @@ -80,7 +79,7 @@ blurconsole.model = (function() { }; isDataLoaded = function() { - return stateMap.tableNameMap !== null; + return stateMap.currentTables !== null; }; disableTable = function(tableName) { @@ -102,7 +101,7 @@ blurconsole.model = (function() { getFamilies = function(tableName) { var table; - $.each(stateMap.tableNameMap, function(idx, t) { + $.each(stateMap.currentTables, function(idx, t) { if (t.name === tableName) { table = t; return false; @@ -197,7 +196,7 @@ blurconsole.model = (function() { }; getTableChartData = function() { - var enabledData = blurconsole.utils.reduce(stateMap.tableNameMap, [], function(accumulator, table){ + var enabledData = blurconsole.utils.reduce(stateMap.currentTables, [], function(accumulator, table){ var currentCluster = $.grep(accumulator, function(item){ return item[0] === table.cluster; }); @@ -215,7 +214,7 @@ blurconsole.model = (function() { return accumulator; }); - var disabledData = blurconsole.utils.reduce(stateMap.tableNameMap, [], function(accumulator, table){ + var disabledData = blurconsole.utils.reduce(stateMap.currentTables, [], function(accumulator, table){ var currentCluster = $.grep(accumulator, function(item){ return item[0] === table.cluster; }); @@ -442,9 +441,11 @@ blurconsole.model = (function() { configMap.poller.getTableList(updateTables); }; - updateTables = function(tables) { - if (!blurconsole.utils.equals(tables, stateMap.tableNameMap)) { - stateMap.tableNameMap = tables; + updateTables = function(data) { + var tables = data.tables, clusters = data.clusters; + if (!blurconsole.utils.equals(tables, stateMap.currentTables) || !blurconsole.utils.equals(clusters, stateMap.currentClusters)) { + stateMap.currentTables = tables; + stateMap.currentClusters = clusters; $.gevent.publish('tables-updated'); } setTimeout(tablePoller, 5000); http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/55ac45bd/contrib/blur-console/src/main/webapp/js/blurconsole.search.js ---------------------------------------------------------------------- diff --git a/contrib/blur-console/src/main/webapp/js/blurconsole.search.js b/contrib/blur-console/src/main/webapp/js/blurconsole.search.js index 023d64f..678d334 100644 --- a/contrib/blur-console/src/main/webapp/js/blurconsole.search.js +++ b/contrib/blur-console/src/main/webapp/js/blurconsole.search.js @@ -255,12 +255,14 @@ blurconsole.search = (function () { $.each(tableMap, function(cluster, tables) { var optGroupString; - optGroupString = '<optgroup label="' + cluster + '">'; - $.each(tables, function(t, table){ - optGroupString += '<option value="' + table.name + '"' + (table.name === stateMap.$currentTable ? ' selected' : '') + '>' + table.name + '</option>'; - }); - optGroupString += '</optgroup>'; - jqueryMap.$tableField.append(optGroupString); + if (tables.length > 0) { + optGroupString = '<optgroup label="' + cluster + '">'; + $.each(tables, function(t, table){ + optGroupString += '<option value="' + table.name + '"' + (table.name === stateMap.$currentTable ? ' selected' : '') + '>' + table.name + '</option>'; + }); + optGroupString += '</optgroup>'; + jqueryMap.$tableField.append(optGroupString); + } }); jqueryMap.$tableSelectorStatusOption.html('Choose Table'); http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/55ac45bd/contrib/blur-console/src/test/java/org/apache/blur/console/util/TableUtilTest.java ---------------------------------------------------------------------- diff --git a/contrib/blur-console/src/test/java/org/apache/blur/console/util/TableUtilTest.java b/contrib/blur-console/src/test/java/org/apache/blur/console/util/TableUtilTest.java index 17a3109..e3d580c 100644 --- a/contrib/blur-console/src/test/java/org/apache/blur/console/util/TableUtilTest.java +++ b/contrib/blur-console/src/test/java/org/apache/blur/console/util/TableUtilTest.java @@ -47,14 +47,15 @@ public class TableUtilTest extends ConsoleTestBase { } } + @SuppressWarnings("rawtypes") @Test public void testGetTableSummariesNoTables() throws BlurException, IOException, TException { - List<Map<String, Object>> summaries = TableUtil.getTableSummaries(); + Map<String, List> data = TableUtil.getTableSummaries(); - assertEquals(0, summaries.size()); + assertEquals(0, data.get("tables").size()); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) @Test public void testGetTableSummaries() throws BlurException, TException, IOException { Iface client = BlurClient.getClient(Config.getConnectionString()); @@ -67,13 +68,13 @@ public class TableUtilTest extends ConsoleTestBase { td.setEnabled(true); client.createTable(td); - List<Map<String, Object>> summaries = TableUtil.getTableSummaries(); + Map<String, List> data = TableUtil.getTableSummaries(); - assertEquals(1, summaries.size()); - assertEquals(0l, summaries.get(0).get("rows")); - assertEquals(0l, summaries.get(0).get("records")); - assertEquals("default", summaries.get(0).get("cluster")); - assertEquals("tableUnitTable", summaries.get(0).get("name")); - assertEquals(0, ((List<String>) summaries.get(0).get("families")).size()); + assertEquals(1, data.get("tables").size()); + assertEquals(0l, ((Map<String, Object>) data.get("tables").get(0)).get("rows")); + assertEquals(0l, ((Map<String,Object>) data.get("tables").get(0)).get("records")); + assertEquals("default", ((Map<String,Object>) data.get("tables").get(0)).get("cluster")); + assertEquals("tableUnitTable", ((Map<String,Object>) data.get("tables").get(0)).get("name")); + assertEquals(0, ((List<String>) ((Map<String,Object>) data.get("tables").get(0)).get("families")).size()); } }
