Repository: incubator-blur
Updated Branches:
  refs/heads/apache-blur-0.2 15e8c679b -> 3fed5359f


Got all of the search options working


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

Branch: refs/heads/apache-blur-0.2
Commit: 3fed5359fc95e431d00ac8dd83eea6027aec3607
Parents: 15e8c67
Author: Chris Rohr <[email protected]>
Authored: Mon Jun 9 14:41:13 2014 -0400
Committer: Chris Rohr <[email protected]>
Committed: Mon Jun 9 14:41:13 2014 -0400

----------------------------------------------------------------------
 .../apache/blur/console/util/SearchUtil.java    | 44 ++------------------
 .../src/main/webapp/js/blurconsole.fake.js      | 12 +++---
 .../src/main/webapp/js/blurconsole.model.js     |  9 ++--
 .../src/main/webapp/js/blurconsole.search.js    | 26 +++++++-----
 .../main/webapp/sass/blurconsole.search.scss    |  4 +-
 5 files changed, 32 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/3fed5359/contrib/blur-console/src/main/java/org/apache/blur/console/util/SearchUtil.java
----------------------------------------------------------------------
diff --git 
a/contrib/blur-console/src/main/java/org/apache/blur/console/util/SearchUtil.java
 
b/contrib/blur-console/src/main/java/org/apache/blur/console/util/SearchUtil.java
index b0a07b7..6a72340 100644
--- 
a/contrib/blur-console/src/main/java/org/apache/blur/console/util/SearchUtil.java
+++ 
b/contrib/blur-console/src/main/java/org/apache/blur/console/util/SearchUtil.java
@@ -26,7 +26,6 @@ import org.apache.blur.thrift.generated.Row;
 import org.apache.blur.thrift.generated.ScoreType;
 import org.apache.blur.thrift.generated.Selector;
 import org.apache.blur.user.UserContext;
-import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
 
 /**
@@ -62,16 +61,12 @@ public class SearchUtil {
                String fetch = params.get("fetch")[0];
                String[] families = params.get("families[]");
                
-               if (families == null || families.length == 0) {
-                       return fullTextSearch(table, query, remoteHost);
-               }
-               
-               if (ArrayUtils.contains(families, "rowid")) {
+               if (query.indexOf("rowid:") >= 0) {
                        return fetchRow(table, query, families, remoteHost);
                }
                
-               if (ArrayUtils.contains(families, "recordid")) {
-                       return fetchRecord(table, query, families, remoteHost);
+               if (families == null || families.length == 0) {
+                       return fullTextSearch(table, query, remoteHost);
                }
                
                return searchAndFetch(table, query, rowQuery, start, fetch, 
families, remoteHost);
@@ -197,39 +192,6 @@ public class SearchUtil {
                }
        }
        
-       @SuppressWarnings({ "rawtypes", "unchecked" })
-       private static Map<String, Object> fetchRecord(String table, String 
query, String[] families, String remoteHost) throws IOException, BlurException, 
TException {
-               try {
-                       Iface client = Config.getClient(remoteHost);
-                       
-                       Selector selector = new Selector();
-                       String recordId = StringUtils.remove(query, 
"recordid:");
-                       selector.setRecordId(recordId);
-                       selector.setRecordOnly(true);
-                       selector.setColumnFamiliesToFetch(new 
HashSet<String>(Arrays.asList(families)));
-                       
-                       FetchResult fetchRow = client.fetchRow(table, selector);
-                       
-                       Map<String, Object> results = new HashMap<String, 
Object>();
-                       results.put(TOTAL_KEY, 
fetchRow.getRecordResult().getRecord() == null ? 0 : 1);
-                       
-                       Map<String, List> rows = new HashMap<String, List>();
-                       Record record = fetchRow.getRecordResult().getRecord();
-                       if (record != null) {
-                               String family = record.getFamily();
-                                       
-                               List<Map<String, String>> fam = 
(List<Map<String, String>>) getFam(family, rows, true);
-                               fam.add(buildRow(record.getColumns(), 
record.getRecordId()));
-                       }
-                       results.put(DATA_KEY, rows);
-                       results.put(FAMILY_KEY, new 
HashSet<String>(Arrays.asList(families)));
-                       
-                       return results;
-               } finally {
-                       UserContext.reset();
-               }
-       }
-       
        private static Map<String, String> buildRow(List<Column> columns, 
String recordid) {
                Map<String, String> map = new TreeMap<String, String>();
                map.put("recordid", recordid);

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/3fed5359/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 bb4b247..fc07b1d 100644
--- a/contrib/blur-console/src/main/webapp/js/blurconsole.fake.js
+++ b/contrib/blur-console/src/main/webapp/js/blurconsole.fake.js
@@ -208,27 +208,27 @@ blurconsole.fake = (function() {
                                                results[fam].push(recordRow);
                                        }
                                } else {
-                                       results[fam] = {};
+                                       results[fam] = [];
                                        for (var rowIndex = 0; rowIndex < 
_randomNumber(toFetch); rowIndex++) {
                                                var rowid = 
_randomNumber(10000000).toString();
-                                               results[fam][rowid] = [];
+                                               results[fam][rowIndex] = 
{rowid: rowid, records: []};
                                                for (var rowRecordIndex = 0; 
rowRecordIndex < _randomNumber(10); rowRecordIndex++) {
                                                        var row = {};
                                                        row.recordid = 
_randomNumber(1000000).toString();
                                                        for (var 
rowRecordColIndex=0; rowRecordColIndex < cols; rowRecordColIndex++) {
                                                                
row['col'+rowRecordColIndex] = _randomString();
                                                        }
-                                                       
results[fam][rowid].push(row);
+                                                       
results[fam][rowIndex]['records'].push(row);
                                                }
                                        }
                                }
                        });
                }
 
-               if (fams === null || fams.length === 0) {
-                       _sendCallback(callback, { total: total });
-               } else if (fams.indexOf('rowid') >= 0) {
+               if (fams.indexOf('rowid') >= 0) {
                        _sendCallback(callback, { total: total, results: 
results, families: fams });
+               } else if (fams === null || fams.length === 0) {
+                       _sendCallback(callback, { total: total });
                } else {
                        _sendCallback(callback, { families: fams, results: 
results, total: total });
                }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/3fed5359/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 45e6866..5eca890 100644
--- a/contrib/blur-console/src/main/webapp/js/blurconsole.model.js
+++ b/contrib/blur-console/src/main/webapp/js/blurconsole.model.js
@@ -409,11 +409,12 @@ blurconsole.model = (function() {
                        currentQuery = query;
                        currentTable = table;
                        currentArgs = $.extend(currentArgs, searchArgs);
-                       if (parsedFamilies.length > 0) {
-                               currentArgs.families = parsedFamilies;
-                       }
+                       currentArgs.families = parsedFamilies;
                        results = {};
-                       _sendSearch();
+
+                       if (query.indexOf('rowid:') === -1 && 
query.indexOf('recordid:') === -1) {
+                               _sendSearch();
+                       }
                }
 
                function getResults() {

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/3fed5359/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 63b6bd8..d6c7077 100644
--- a/contrib/blur-console/src/main/webapp/js/blurconsole.search.js
+++ b/contrib/blur-console/src/main/webapp/js/blurconsole.search.js
@@ -149,6 +149,7 @@ blurconsole.search = (function () {
                        }
                });
                _drawResultHolders();
+               jqueryMap.$countHolder.html('');
                blurconsole.model.search.runSearch(stateMap.$currentQuery, 
stateMap.$currentTable, {start: 0, fetch: 10, rowRecordOption: 
stateMap.$rowRecordOption});
        }
 
@@ -224,15 +225,16 @@ blurconsole.search = (function () {
                        $.each(families, function(i, fam) {
                                var famResults = results[fam],
                                        famId = '#' + 
blurconsole.browserUtils.cleanId(fam),
-                                       famHolder = $(famId + ' .panel-body'),
-                                       table = '<table class="table 
table-condensed table-hover table-bordered"><thead><tr>',
-                                       cols;
+                                       famHolder = $(famId + ' .panel-body');
 
                                if (typeof famResults === 'undefined' || 
famResults.length === 0) {
                                        famHolder.html('<div class="alert 
alert-info">No Data Found</div>');
                                } else {
+                                       var table;
+                                       var cols;
                                        if 
(blurconsole.utils.keys(famResults[0]).indexOf('rowid') === -1 ) {
                                                // Record results
+                                               table = '<table class="table 
table-condensed table-hover table-bordered"><thead><tr>';
                                                cols = 
_getColList(famResults[0]);
 
                                                $.each(cols, function(i, col) {
@@ -246,6 +248,7 @@ blurconsole.search = (function () {
                                                        });
                                                        table += '</tr>';
                                                });
+                                               table += '</tbody></table>';
                                        } else {
                                                // Row results
                                                $.each(famResults, function(i, 
row){
@@ -259,13 +262,17 @@ blurconsole.search = (function () {
                                                });
 
                                                cols = cols || [];
+                                               table = '';
 
-                                               $.each(cols, function(i, col) {
-                                                       table += '<th>' + col + 
'</th>';
-                                               });
-                                               table += '</tr></thead><tbody>';
                                                $.each(famResults, function(r, 
row) {
-                                                       table += '<tr 
class="row-separator"><td colspan="' + (cols.length === 0 ? 1 : cols.length) + 
'">' + (r+1) + '. <strong>rowid:</strong> ' + row.rowid + ' (<em>' + 
(row.records === null ? 0 : row.records.length) + ' records</em>)</td></tr>';
+                                                       table += '<table 
class="table table-condensed table-hover table-bordered"><thead>';
+                                                       table += '<tr 
class="row-separator"><th colspan="' + (cols.length === 0 ? 1 : cols.length) + 
'">' + (r+1) + '. <strong>rowid:</strong> ' + row.rowid + ' (<em>' + 
(row.records === null ? 0 : row.records.length) + ' records</em>)</th></tr>';
+                                                       table += '<tr>';
+                                                       $.each(cols, 
function(i, col) {
+                                                               table += '<th>' 
+ col + '</th>';
+                                                       });
+                                                       table += 
'</tr></thead><tbody>';
+
                                                        if (row.records === 
null || row.records.length === 0) {
                                                                table += 
'<tr><td colspan="' + (cols.length === 0 ? 1 : cols.length) + '"><em>No Data 
Found</em></td></tr>';
                                                        } else {
@@ -277,11 +284,10 @@ blurconsole.search = (function () {
                                                                        table 
+= '</tr>';
                                                                });
                                                        }
+                                                       table += 
'</tbody></table>';
                                                });
                                        }
 
-                                       table += '</tbody></table>';
-
                                        if (famResults.length < 
blurconsole.model.search.getTotal()) {
                                                table += '<div 
class="pull-left"><a href="' + famId + '" class="btn btn-primary nextPage">Load 
More...</a></div>';
                                        }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/3fed5359/contrib/blur-console/src/main/webapp/sass/blurconsole.search.scss
----------------------------------------------------------------------
diff --git a/contrib/blur-console/src/main/webapp/sass/blurconsole.search.scss 
b/contrib/blur-console/src/main/webapp/sass/blurconsole.search.scss
index 65e0369..7c57929 100644
--- a/contrib/blur-console/src/main/webapp/sass/blurconsole.search.scss
+++ b/contrib/blur-console/src/main/webapp/sass/blurconsole.search.scss
@@ -35,10 +35,10 @@ under the License.
 }
 
 tr.row-separator {
-       td {
+       th {
                background-color: $dusty-gray;
        }
-       &:hover td {
+       &:hover th {
                background-color: $dusty-gray !important;
        }
 }
\ No newline at end of file

Reply via email to