소스 검색

HUE-1655 [hbase] Send a dictionary of properties

Romain Rigaux 11 년 전
부모
커밋
4e34c46
2개의 변경된 파일6개의 추가작업 그리고 17개의 파일을 삭제
  1. 2 11
      apps/hbase/src/hbase/api.py
  2. 4 6
      apps/hbase/static/js/app.js

+ 2 - 11
apps/hbase/src/hbase/api.py

@@ -41,7 +41,6 @@ class HbaseApi(object):
   def query(self, action, *args):
     try:
       if hasattr(self, action):
-        print args
         return getattr(self, action)(*args)
       cluster = args[0]
       return self.queryCluster(action, cluster, *args[1:])
@@ -117,17 +116,9 @@ class HbaseApi(object):
     client = self.connectCluster(cluster)
     return client.getVerTs(tableName, smart_str(row), smart_str(column), timestamp, numVersions, attributesargs)
 
-  def createTable(self, cluster, tableName, *columns):
-    print cluster
-    print tableName
-    print columns, ' ---'
-    
-    # ([{u'name': u'ff', u'properties': [{}]}, {u'properties': []}, {u'name': u'fffff', u'properties': [{}]}, {u'properties': []}],)  ---
-    # -->
-    # ([{u'name': u'ff', u'properties': [{}]}, {u'name': u'fffff', u'properties': [{}]},)  ---
-    
+  def createTable(self, cluster, tableName, columns):
     client = self.connectCluster(cluster)
-    client.createTable(tableName, [get_thrift_type('ColumnDescriptor')(name=column['name']) for column in columns])
+    client.createTable(tableName, [get_thrift_type('ColumnDescriptor')(**column['properties']) for column in columns])
     return "%s successfully created" % tableName
 
   def getTableList(self, cluster):

+ 4 - 6
apps/hbase/static/js/app.js

@@ -197,17 +197,15 @@ function bindSubmit() {
   if ($(this).attr("id") == "new_table_modal"){
     var _cols = [];
     $(this).find(".columns li.column").each(function(cnt, column){
-      var _props = [];
+      var _props = {
+        name: $(column).find("input[name='table_columns']").val()
+      };
       $(column).find(".columnProperties li").each(function(icnt, property){
         if (! $(property).hasClass("columnPropertyEmpty")) {
-          _props.push({
-            name: $(property).find("select").val(),
-            value: $(property).find("input[name='table_columns_property_value']").val()
-          });
+          _props[$(property).find("select").val()] = $(property).find("input[name='table_columns_property_value']").val();
         }
       });
       _cols.push({
-        name: $(column).find("input[name='table_columns']").val(),
         properties: _props
       });
     });