You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mo...@apache.org on 2015/08/05 08:17:03 UTC
[2/6] incubator-zeppelin git commit: ZEPPELIN-179: Cassandra
Interpreter
http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/b9583c6e/cassandra/src/test/resources/scalate/DescribeKeyspace_live_data.html
----------------------------------------------------------------------
diff --git a/cassandra/src/test/resources/scalate/DescribeKeyspace_live_data.html b/cassandra/src/test/resources/scalate/DescribeKeyspace_live_data.html
new file mode 100644
index 0000000..09e7342
--- /dev/null
+++ b/cassandra/src/test/resources/scalate/DescribeKeyspace_live_data.html
@@ -0,0 +1,819 @@
+<br/>
+<br/>
+<nav class="navbar navbar-default">
+ <ul class="nav navbar-nav">
+
+ <li role="presentation" class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> <strong>live_data</strong></span>
+ <span class="text-danger caret"></span>
+ <ul class="dropdown-menu">
+
+
+ <li class="dropdown-header"><span class="text-primary">Tables</span></li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#91e7ac20-3516-11e5-9d5f-8f0ea8ae1a37">
+ <span class="text-primary"><i class="glyphicon glyphicon-th-list"/> complex_table</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#93e1a760-3516-11e5-9d5f-8f0ea8ae1a37">
+ <span class="text-primary"><i class="glyphicon glyphicon-th-list"/> sensor_data</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#93e306f0-3516-11e5-9d5f-8f0ea8ae1a37">
+ <span class="text-primary"><i class="glyphicon glyphicon-th-list"/> stations</span>
+ </a>
+ </li>
+
+
+
+ <li role="separator" class="divider text-muted"></li>
+ <li class="dropdown-header"><span class="text-warning">User Defined Types</span></li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#93e48d90-3516-11e5-9d5f-8f0ea8ae1a37">
+ <span class="text-warning"><i class="glyphicon glyphicon-copyright-mark"/> address</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#942c9310-3516-11e5-9d5f-8f0ea8ae1a37">
+ <span class="text-warning"><i class="glyphicon glyphicon-copyright-mark"/> geolocation</span>
+ </a>
+ </li>
+ </ul>
+ </a>
+ </li>
+ <li>
+ <a><strong>DESCRIBE KEYSPACE live_data;</strong></a>
+ </li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+ <strong>Legend</strong>
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-dashboard text-muted" /> Cluster
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-folder-open text-danger" /> Keyspace
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-copyright-mark text-warning" /> UDT
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-th-list text-primary" /> Table
+ </a>
+ </li>
+ <li class="bg-info">
+ <a role="button">
+ <i class="glyphicon glyphicon-fullscreen" /> Partition Key
+ </a>
+ </li>
+ <li class="bg-warning">
+ <a role="button">
+ <i class="glyphicon glyphicon-pushpin" /> Static Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort" /> Clustering Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes" /> Clustering Order ASC
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" /> Clustering Order DESC
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-info-sign" /> Indexed Column
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#"></a>
+ </li>
+ </ul>
+</nav>
+<hr/>
+<div class="container">
+ <!-- Keyspace -->
+
+
+ <div class="row">
+ <div class="col-md-2"></div>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-10">Replication</th>
+ <th class="col-md-2">Durable Writes</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="col-md-10">{'replication_factor' : '1', 'class' : 'org.apache.cassandra.locator.SimpleStrategy'}</td>
+ <td class="col-md-2">false</td>
+ </tr>
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#8db09220-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="8db09220-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE KEYSPACE live_data WITH REPLICATION = {
+ 'class' : 'org.apache.cassandra.locator.SimpleStrategy',
+ 'replication_factor': '1' }
+AND DURABLE_WRITES = false;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+
+ <!-- Tables -->
+ <div class="row"></div>
+
+
+ <table width="100%">
+ <td><hr /></td>
+ <td style="width:1px; padding: 0 10px; white-space: nowrap;"><strong class="text-primary">Tables</strong></td>
+ <td><hr /></td>
+ </table>
+ <div class="row">
+ <div class="panel-group" role="tablist" aria-multiselectable="true">
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#91e7ac20-3516-11e5-9d5f-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-primary">
+ <i class="glyphicon glyphicon-th-list"/> complex_table
+ </span>
+ </a>
+ </h4>
+ </div>
+ <div id="91e7ac20-3516-11e5-9d5f-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-4">Column Type</th>
+ <th class="col-md-4">Column Name</th>
+ <th class="col-md-4">Data Type</th>
+ </tr>
+ </thead>
+ <tbody>
+
+
+ <tr class="info">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-fullscreen" title="Partition Key"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">pk1</td>
+ <td class="col-md-4">uuid</td>
+ </tr>
+
+
+ <tr class="info">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-fullscreen" title="Partition Key"/>
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>pk2idx</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">pk2</td>
+ <td class="col-md-4">int</td>
+ </tr>
+
+ <tr class="warning">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-pushpin" title="Static Column"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_static1</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr class="warning">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-pushpin" title="Static Column"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_static2</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr class="success">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-sort" title="Clustering Column"/>
+
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" title="Sort DESC"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">clustering1</td>
+ <td class="col-md-4">timestamp</td>
+ </tr>
+
+ <tr class="success">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-sort" title="Clustering Column"/>
+
+ <i class="glyphicon glyphicon-sort-by-attributes" title="Sort ASC"/>
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>clustering2idx</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">clustering2</td>
+ <td class="col-md-4">int</td>
+ </tr>
+
+ <tr class="success">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-sort" title="Clustering Column"/>
+
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" title="Sort DESC"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">clustering3</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">entries_indexed_map</td>
+ <td class="col-md-4">map<int, text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>idx1</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">indexed1</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>idx2</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">indexed2</td>
+ <td class="col-md-4">int</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>keys_map_idx</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">key_indexed_map</td>
+ <td class="col-md-4">map<int, text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_list</td>
+ <td class="col-md-4">list<text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_map</td>
+ <td class="col-md-4">map<int, text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_udt</td>
+ <td class="col-md-4">frozen<live_data.address></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_udt_list</td>
+ <td class="col-md-4">frozen<list<frozen<live_data.address>>></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">simple</td>
+ <td class="col-md-4">double</td>
+ </tr>
+
+ </tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#91eb0780-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="91eb0780-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE TABLE live_data.complex_table (
+ pk1 uuid,
+ pk2 int,
+ clustering1 timestamp,
+ clustering2 int,
+ clustering3 text,
+ entries_indexed_map map<int, text>,
+ indexed1 text,
+ indexed2 int,
+ key_indexed_map map<int, text>,
+ my_list list<text>,
+ my_map map<int, text>,
+ my_static1 text static,
+ my_static2 text static,
+ my_udt frozen<live_data.address>,
+ my_udt_list frozen<list<frozen<live_data.address>>>,
+ simple double,
+ PRIMARY KEY ((pk1, pk2), clustering1, clustering2, clustering3)
+) WITH CLUSTERING ORDER BY (clustering1 DESC, clustering2 ASC, clustering3 DESC)
+ AND read_repair_chance = 0.0
+ AND dclocal_read_repair_chance = 0.1
+ AND gc_grace_seconds = 864000
+ AND bloom_filter_fp_chance = 0.01
+ AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
+ AND comment = ''
+ AND compaction = { 'class' : 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
+ AND compression = { 'sstable_compression' : 'org.apache.cassandra.io.compress.LZ4Compressor' }
+ AND default_time_to_live = 0
+ AND speculative_retry = '99.0PERCENTILE'
+ AND min_index_interval = 128
+ AND max_index_interval = 2048;
+CREATE INDEX pk2idx ON live_data.complex_table (pk2);
+CREATE INDEX clustering2idx ON live_data.complex_table (clustering2);
+CREATE INDEX idx1 ON live_data.complex_table (indexed1);
+CREATE INDEX idx2 ON live_data.complex_table (indexed2);
+CREATE INDEX keys_map_idx ON live_data.complex_table (KEYS(key_indexed_map));</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#93e1a760-3516-11e5-9d5f-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-primary">
+ <i class="glyphicon glyphicon-th-list"/> sensor_data
+ </span>
+ </a>
+ </h4>
+ </div>
+ <div id="93e1a760-3516-11e5-9d5f-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-4">Column Type</th>
+ <th class="col-md-4">Column Name</th>
+ <th class="col-md-4">Data Type</th>
+ </tr>
+ </thead>
+ <tbody>
+
+
+ <tr class="info">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-fullscreen" title="Partition Key"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">sensor_id</td>
+ <td class="col-md-4">uuid</td>
+ </tr>
+
+
+ <tr class="info">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-fullscreen" title="Partition Key"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">month</td>
+ <td class="col-md-4">int</td>
+ </tr>
+
+ <tr class="warning">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-pushpin" title="Static Column"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">characteristics</td>
+ <td class="col-md-4">map<text, text></td>
+ </tr>
+
+ <tr class="warning">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-pushpin" title="Static Column"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">model_number</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr class="warning">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-pushpin" title="Static Column"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">provider</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr class="success">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-sort" title="Clustering Column"/>
+
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" title="Sort DESC"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">date</td>
+ <td class="col-md-4">timestamp</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">value</td>
+ <td class="col-md-4">double</td>
+ </tr>
+
+ </tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#93e1a761-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="93e1a761-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE TABLE live_data.sensor_data (
+ sensor_id uuid,
+ month int,
+ date timestamp,
+ characteristics map<text, text> static,
+ model_number text static,
+ provider text static,
+ value double,
+ PRIMARY KEY ((sensor_id, month), date)
+) WITH CLUSTERING ORDER BY (date DESC)
+ AND read_repair_chance = 0.0
+ AND dclocal_read_repair_chance = 0.1
+ AND gc_grace_seconds = 864000
+ AND bloom_filter_fp_chance = 0.01
+ AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
+ AND comment = ''
+ AND compaction = { 'class' : 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
+ AND compression = { 'sstable_compression' : 'org.apache.cassandra.io.compress.LZ4Compressor' }
+ AND default_time_to_live = 0
+ AND speculative_retry = '99.0PERCENTILE'
+ AND min_index_interval = 128
+ AND max_index_interval = 2048;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#93e306f0-3516-11e5-9d5f-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-primary">
+ <i class="glyphicon glyphicon-th-list"/> stations
+ </span>
+ </a>
+ </h4>
+ </div>
+ <div id="93e306f0-3516-11e5-9d5f-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-4">Column Type</th>
+ <th class="col-md-4">Column Name</th>
+ <th class="col-md-4">Data Type</th>
+ </tr>
+ </thead>
+ <tbody>
+
+
+ <tr class="info">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-fullscreen" title="Partition Key"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">station_id</td>
+ <td class="col-md-4">uuid</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">sensors</td>
+ <td class="col-md-4">frozen<map<uuid, frozen<live_data.geolocation>>></td>
+ </tr>
+
+ </tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#93e306f1-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="93e306f1-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE TABLE live_data.stations (
+ station_id uuid,
+ sensors frozen<map<uuid, frozen<live_data.geolocation>>>,
+ PRIMARY KEY (station_id)
+) WITH read_repair_chance = 0.0
+ AND dclocal_read_repair_chance = 0.1
+ AND gc_grace_seconds = 864000
+ AND bloom_filter_fp_chance = 0.01
+ AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
+ AND comment = ''
+ AND compaction = { 'class' : 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
+ AND compression = { 'sstable_compression' : 'org.apache.cassandra.io.compress.LZ4Compressor' }
+ AND default_time_to_live = 0
+ AND speculative_retry = '99.0PERCENTILE'
+ AND min_index_interval = 128
+ AND max_index_interval = 2048;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+
+ <!-- UDTs -->
+ <table width="100%">
+ <td><hr /></td>
+ <td style="width:1px; padding: 0 10px; white-space: nowrap;"><strong class="text-warning">User Defined Types</strong></td>
+ <td><hr /></td>
+ </table>
+ <div class="row">
+ <div class="panel-group" role="tablist" aria-multiselectable="true">
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#93e48d90-3516-11e5-9d5f-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-warning"><i class="glyphicon glyphicon-copyright-mark"/> address</span>
+ </a>
+ </h4>
+ </div>
+ <div id="93e48d90-3516-11e5-9d5f-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+ <div class="row">
+ <div class="col-md-3"></div>
+ <div class="col-md-6 col-offset-md-3">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+
+ <thead>
+ <tr>
+ <th class="col-md-6">Column Name</th>
+ <th class="col-md-6">Data Type</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+ <td class="col-md-6">number</td>
+ <td class="col-md-6">int</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-6">street</td>
+ <td class="col-md-6">text</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-6">zip</td>
+ <td class="col-md-6">int</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-6">city</td>
+ <td class="col-md-6">text</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-6">country</td>
+ <td class="col-md-6">text</td>
+ </tr>
+
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#93e529d0-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="93e529d0-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE TYPE live_data.address (
+ number int,
+ street text,
+ zip int,
+ city text,
+ country text
+);</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-3"></div>
+ </div>
+
+ </div>
+ </div>
+ </div>
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#942c9310-3516-11e5-9d5f-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-warning"><i class="glyphicon glyphicon-copyright-mark"/> geolocation</span>
+ </a>
+ </h4>
+ </div>
+ <div id="942c9310-3516-11e5-9d5f-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+ <div class="row">
+ <div class="col-md-3"></div>
+ <div class="col-md-6 col-offset-md-3">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+
+ <thead>
+ <tr>
+ <th class="col-md-6">Column Name</th>
+ <th class="col-md-6">Data Type</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+ <td class="col-md-6">latitude</td>
+ <td class="col-md-6">double</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-6">longitude</td>
+ <td class="col-md-6">double</td>
+ </tr>
+
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#942c9311-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="942c9311-3516-11e5-9d5f-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE TYPE live_data.geolocation (
+ latitude double,
+ longitude double
+);</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-3"></div>
+ </div>
+
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/b9583c6e/cassandra/src/test/resources/scalate/DescribeKeyspaces.html
----------------------------------------------------------------------
diff --git a/cassandra/src/test/resources/scalate/DescribeKeyspaces.html b/cassandra/src/test/resources/scalate/DescribeKeyspaces.html
new file mode 100644
index 0000000..77293ab
--- /dev/null
+++ b/cassandra/src/test/resources/scalate/DescribeKeyspaces.html
@@ -0,0 +1,400 @@
+<br/>
+<br/>
+<nav class="navbar navbar-default">
+ <ul class="nav navbar-nav">
+
+ <li role="presentation" class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+ <span class="text-muted"><i class="glyphicon glyphicon-dashboard"/> <strong>Test Cluster</strong></span>
+ <span class="text-muted caret"></span>
+ <ul class="dropdown-menu">
+ <li class="dropdown-header"><span class="text-danger">Keyspaces</span></li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#8f72f0b0-3518-11e5-aee3-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> live_data</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#8fb85e20-3518-11e5-aee3-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> samples</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#8fb996a0-3518-11e5-aee3-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#8fb9e4c0-3518-11e5-aee3-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system_traces</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#8fba32e0-3518-11e5-aee3-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> zeppelin</span>
+ </a>
+ </li>
+ </ul>
+ </a>
+ </li>
+
+ <li>
+ <a><strong>DESCRIBE KEYSPACES;</strong></a>
+ </li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+ <strong>Legend</strong>
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-dashboard text-muted" /> Cluster
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-folder-open text-danger" /> Keyspace
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-copyright-mark text-warning" /> UDT
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-th-list text-primary" /> Table
+ </a>
+ </li>
+ <li class="bg-info">
+ <a role="button">
+ <i class="glyphicon glyphicon-fullscreen" /> Partition Key
+ </a>
+ </li>
+ <li class="bg-warning">
+ <a role="button">
+ <i class="glyphicon glyphicon-pushpin" /> Static Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort" /> Clustering Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes" /> Clustering Order ASC
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" /> Clustering Order DESC
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-info-sign" /> Indexed Column
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#"></a>
+ </li>
+ </ul>
+</nav>
+<hr/>
+<div class="container">
+ <!-- Cluster -->
+
+ <div class="row">
+ <div class="col-md-4"></div>
+ <div class="col-md-4 col-offset-md-4">
+ <div class="table-responsive table-bordered">
+ <table class="table">
+ <caption>
+ <h4 class="text-muted">
+ <i class="glyphicon glyphicon-dashboard"/> Test Cluster
+ </h4>
+ </caption>
+ <thead>
+ <tr>
+ <th>Partitioner</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>org.apache.cassandra.dht.Murmur3Partitioner</td>
+ </tr>
+ <tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="row"></div>
+ <!-- Keyspaces -->
+ <table width="100%">
+ <td><hr /></td>
+ <td style="width:1px; padding: 0 10px; white-space: nowrap;"><strong class="text-danger">Keyspaces</strong></td>
+ <td><hr /></td>
+ </table>
+ <div class="row">
+ <div class="panel-group" role="tablist" aria-multiselectable="true">
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#8f72f0b0-3518-11e5-aee3-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> live_data</span>
+ </a>
+ </h4>
+ </div>
+ <div id="8f72f0b0-3518-11e5-aee3-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+
+ <div class="row">
+ <div class="col-md-2"></div>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-10">Replication</th>
+ <th class="col-md-2">Durable Writes</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="col-md-10">{'replication_factor' : '1', 'class' : 'org.apache.cassandra.locator.SimpleStrategy'}</td>
+ <td class="col-md-2">false</td>
+ </tr>
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#8f738cf0-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="8f738cf0-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE KEYSPACE live_data WITH REPLICATION = {
+ 'class' : 'org.apache.cassandra.locator.SimpleStrategy',
+ 'replication_factor': '1' }
+AND DURABLE_WRITES = false;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#8fb85e20-3518-11e5-aee3-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> samples</span>
+ </a>
+ </h4>
+ </div>
+ <div id="8fb85e20-3518-11e5-aee3-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+
+ <div class="row">
+ <div class="col-md-2"></div>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-10">Replication</th>
+ <th class="col-md-2">Durable Writes</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="col-md-10">{'replication_factor' : '1', 'class' : 'org.apache.cassandra.locator.SimpleStrategy'}</td>
+ <td class="col-md-2">false</td>
+ </tr>
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#8fb85e21-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="8fb85e21-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE KEYSPACE samples WITH REPLICATION = {
+ 'class' : 'org.apache.cassandra.locator.SimpleStrategy',
+ 'replication_factor': '1' }
+AND DURABLE_WRITES = false;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#8fb996a0-3518-11e5-aee3-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system</span>
+ </a>
+ </h4>
+ </div>
+ <div id="8fb996a0-3518-11e5-aee3-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+
+ <div class="row">
+ <div class="col-md-2"></div>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-10">Replication</th>
+ <th class="col-md-2">Durable Writes</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="col-md-10">{'class' : 'org.apache.cassandra.locator.LocalStrategy'}</td>
+ <td class="col-md-2">true</td>
+ </tr>
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#8fb9bdb0-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="8fb9bdb0-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE KEYSPACE system WITH REPLICATION = {
+ 'class' : 'org.apache.cassandra.locator.LocalStrategy' }
+AND DURABLE_WRITES = true;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#8fb9e4c0-3518-11e5-aee3-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system_traces</span>
+ </a>
+ </h4>
+ </div>
+ <div id="8fb9e4c0-3518-11e5-aee3-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+
+ <div class="row">
+ <div class="col-md-2"></div>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-10">Replication</th>
+ <th class="col-md-2">Durable Writes</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="col-md-10">{'replication_factor' : '2', 'class' : 'org.apache.cassandra.locator.SimpleStrategy'}</td>
+ <td class="col-md-2">true</td>
+ </tr>
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#8fb9e4c1-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="8fb9e4c1-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE KEYSPACE system_traces WITH REPLICATION = {
+ 'class' : 'org.apache.cassandra.locator.SimpleStrategy',
+ 'replication_factor': '2' }
+AND DURABLE_WRITES = true;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#8fba32e0-3518-11e5-aee3-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> zeppelin</span>
+ </a>
+ </h4>
+ </div>
+ <div id="8fba32e0-3518-11e5-aee3-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+
+
+ <div class="row">
+ <div class="col-md-2"></div>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="col-md-10">Replication</th>
+ <th class="col-md-2">Durable Writes</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td class="col-md-10">{'replication_factor' : '1', 'class' : 'org.apache.cassandra.locator.SimpleStrategy'}</td>
+ <td class="col-md-2">false</td>
+ </tr>
+ <tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#8fba32e1-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="8fba32e1-3518-11e5-aee3-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE KEYSPACE zeppelin WITH REPLICATION = {
+ 'class' : 'org.apache.cassandra.locator.SimpleStrategy',
+ 'replication_factor': '1' }
+AND DURABLE_WRITES = false;</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/b9583c6e/cassandra/src/test/resources/scalate/DescribeTable_live_data_complex_table.html
----------------------------------------------------------------------
diff --git a/cassandra/src/test/resources/scalate/DescribeTable_live_data_complex_table.html b/cassandra/src/test/resources/scalate/DescribeTable_live_data_complex_table.html
new file mode 100644
index 0000000..9ff84f1
--- /dev/null
+++ b/cassandra/src/test/resources/scalate/DescribeTable_live_data_complex_table.html
@@ -0,0 +1,326 @@
+<br/>
+<br/>
+<nav class="navbar navbar-default">
+ <ul class="nav navbar-nav">
+
+ <li>
+ <a><strong>DESCRIBE TABLE live_data.complex_table;</strong></a>
+ </li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+ <strong>Legend</strong>
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-dashboard text-muted" /> Cluster
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-folder-open text-danger" /> Keyspace
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-copyright-mark text-warning" /> UDT
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-th-list text-primary" /> Table
+ </a>
+ </li>
+ <li class="bg-info">
+ <a role="button">
+ <i class="glyphicon glyphicon-fullscreen" /> Partition Key
+ </a>
+ </li>
+ <li class="bg-warning">
+ <a role="button">
+ <i class="glyphicon glyphicon-pushpin" /> Static Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort" /> Clustering Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes" /> Clustering Order ASC
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" /> Clustering Order DESC
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-info-sign" /> Indexed Column
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#"></a>
+ </li>
+ </ul>
+</nav>
+<hr/>
+<div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2">
+ <div class="panel panel-default table-responsive table-bordered">
+ <table class="table">
+
+ <caption><h4 class="text-primary"><i class="glyphicon glyphicon-th-list"/> complex_table</h4></caption>
+ <thead>
+ <tr>
+ <th class="col-md-4">Column Type</th>
+ <th class="col-md-4">Column Name</th>
+ <th class="col-md-4">Data Type</th>
+ </tr>
+ </thead>
+ <tbody>
+
+
+ <tr class="info">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-fullscreen" title="Partition Key"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">pk1</td>
+ <td class="col-md-4">uuid</td>
+ </tr>
+
+
+ <tr class="info">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-fullscreen" title="Partition Key"/>
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>pk2idx</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">pk2</td>
+ <td class="col-md-4">int</td>
+ </tr>
+
+ <tr class="warning">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-pushpin" title="Static Column"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_static1</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr class="warning">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-pushpin" title="Static Column"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_static2</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr class="success">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-sort" title="Clustering Column"/>
+
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" title="Sort DESC"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">clustering1</td>
+ <td class="col-md-4">timestamp</td>
+ </tr>
+
+ <tr class="success">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-sort" title="Clustering Column"/>
+
+ <i class="glyphicon glyphicon-sort-by-attributes" title="Sort ASC"/>
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>clustering2idx</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">clustering2</td>
+ <td class="col-md-4">int</td>
+ </tr>
+
+ <tr class="success">
+ <td class="col-md-4">
+ <i class="glyphicon glyphicon-sort" title="Clustering Column"/>
+
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" title="Sort DESC"/>
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">clustering3</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">entries_indexed_map</td>
+ <td class="col-md-4">map<int, text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>idx1</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">indexed1</td>
+ <td class="col-md-4">text</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>idx2</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">indexed2</td>
+ <td class="col-md-4">int</td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+
+ <i class="glyphicon glyphicon-info-sign" title="Indexed Column"/>
+ <em>keys_map_idx</em> <strong></strong>
+
+ </td>
+ <td class="col-md-4">key_indexed_map</td>
+ <td class="col-md-4">map<int, text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_list</td>
+ <td class="col-md-4">list<text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_map</td>
+ <td class="col-md-4">map<int, text></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_udt</td>
+ <td class="col-md-4">frozen<live_data.address></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">my_udt_list</td>
+ <td class="col-md-4">frozen<list<frozen<live_data.address>>></td>
+ </tr>
+
+ <tr>
+ <td class="col-md-4">
+
+ <span></span>
+
+ </td>
+ <td class="col-md-4">simple</td>
+ <td class="col-md-4">double</td>
+ </tr>
+
+ </tbody>
+ </table>
+ <div class="panel-footer">
+ <a data-toggle="collapse" data-target="#26dd4330-350d-11e5-9539-8f0ea8ae1a37_asCQL">
+ <strong>As CQL statement</strong>
+ <span class="caret"></span>
+ </a>
+ <br/><br/>
+ <div class="collapse" id="26dd4330-350d-11e5-9539-8f0ea8ae1a37_asCQL">
+ <pre class="well">CREATE TABLE live_data.complex_table (
+ pk1 uuid,
+ pk2 int,
+ clustering1 timestamp,
+ clustering2 int,
+ clustering3 text,
+ entries_indexed_map map<int, text>,
+ indexed1 text,
+ indexed2 int,
+ key_indexed_map map<int, text>,
+ my_list list<text>,
+ my_map map<int, text>,
+ my_static1 text static,
+ my_static2 text static,
+ my_udt frozen<live_data.address>,
+ my_udt_list frozen<list<frozen<live_data.address>>>,
+ simple double,
+ PRIMARY KEY ((pk1, pk2), clustering1, clustering2, clustering3)
+) WITH CLUSTERING ORDER BY (clustering1 DESC, clustering2 ASC, clustering3 DESC)
+ AND read_repair_chance = 0.0
+ AND dclocal_read_repair_chance = 0.1
+ AND gc_grace_seconds = 864000
+ AND bloom_filter_fp_chance = 0.01
+ AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
+ AND comment = ''
+ AND compaction = { 'class' : 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
+ AND compression = { 'sstable_compression' : 'org.apache.cassandra.io.compress.LZ4Compressor' }
+ AND default_time_to_live = 0
+ AND speculative_retry = '99.0PERCENTILE'
+ AND min_index_interval = 128
+ AND max_index_interval = 2048;
+CREATE INDEX pk2idx ON live_data.complex_table (pk2);
+CREATE INDEX clustering2idx ON live_data.complex_table (clustering2);
+CREATE INDEX idx1 ON live_data.complex_table (indexed1);
+CREATE INDEX idx2 ON live_data.complex_table (indexed2);
+CREATE INDEX keys_map_idx ON live_data.complex_table (KEYS(key_indexed_map));</pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2"></div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/b9583c6e/cassandra/src/test/resources/scalate/DescribeTables.html
----------------------------------------------------------------------
diff --git a/cassandra/src/test/resources/scalate/DescribeTables.html b/cassandra/src/test/resources/scalate/DescribeTables.html
new file mode 100644
index 0000000..cf69403
--- /dev/null
+++ b/cassandra/src/test/resources/scalate/DescribeTables.html
@@ -0,0 +1,313 @@
+<br/>
+<br/>
+<nav class="navbar navbar-default">
+ <ul class="nav navbar-nav">
+
+ <li role="presentation" class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+ <span class="text-muted"><i class="glyphicon glyphicon-dashboard"/> <strong>Test Cluster</strong></span>
+ <span class="text-muted caret"></span>
+ <ul class="dropdown-menu">
+ <li class="dropdown-header"><span class="text-danger">Keyspaces</span></li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#d0b77780-3518-11e5-86fc-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> live_data</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#d0b7ecb0-3518-11e5-86fc-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> samples</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#d0b7ecb1-3518-11e5-86fc-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#d0b813c0-3518-11e5-86fc-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system_traces</span>
+ </a>
+ </li>
+ <li>
+ <a role="button" data-toggle="collapse" data-target="#d0b813c1-3518-11e5-86fc-8f0ea8ae1a37">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> zeppelin</span>
+ </a>
+ </li>
+ </ul>
+ </a>
+ </li>
+
+ <li>
+ <a><strong>DESCRIBE TABLES;</strong></a>
+ </li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
+ <strong>Legend</strong>
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-dashboard text-muted" /> Cluster
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-folder-open text-danger" /> Keyspace
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-copyright-mark text-warning" /> UDT
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-th-list text-primary" /> Table
+ </a>
+ </li>
+ <li class="bg-info">
+ <a role="button">
+ <i class="glyphicon glyphicon-fullscreen" /> Partition Key
+ </a>
+ </li>
+ <li class="bg-warning">
+ <a role="button">
+ <i class="glyphicon glyphicon-pushpin" /> Static Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort" /> Clustering Column
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes" /> Clustering Order ASC
+ </a>
+ </li>
+ <li class="bg-success">
+ <a role="button">
+ <i class="glyphicon glyphicon-sort-by-attributes-alt" /> Clustering Order DESC
+ </a>
+ </li>
+ <li>
+ <a role="button">
+ <i class="glyphicon glyphicon-info-sign" /> Indexed Column
+ </a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#"></a>
+ </li>
+ </ul>
+</nav>
+<hr/>
+
+<div class="container">
+
+ <div class="row">
+ <div class="panel-group" role="tablist" aria-multiselectable="true">
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#d0b77780-3518-11e5-86fc-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> live_data</span>
+ </a>
+ </h4>
+ </div>
+ <div id="d0b77780-3518-11e5-86fc-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2 table-responsive table-bordered">
+
+
+ <table class="table">
+ <thead>
+ <tr><th>Tables</th></tr>
+ </thead>
+ <tbody>
+
+ <tr class="text-primary"><td>complex_table</td></tr>
+
+ <tr class="text-primary"><td>sensor_data</td></tr>
+
+ <tr class="text-primary"><td>stations</td></tr>
+
+ </tbody>
+ </table>
+ </div>
+ <div class="col-md-2"/>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#d0b7ecb0-3518-11e5-86fc-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> samples</span>
+ </a>
+ </h4>
+ </div>
+ <div id="d0b7ecb0-3518-11e5-86fc-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2 table-responsive table-bordered">
+
+ <span><h4>No Table</h4></span>
+
+ </div>
+ <div class="col-md-2"/>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#d0b7ecb1-3518-11e5-86fc-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system</span>
+ </a>
+ </h4>
+ </div>
+ <div id="d0b7ecb1-3518-11e5-86fc-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2 table-responsive table-bordered">
+
+
+ <table class="table">
+ <thead>
+ <tr><th>Tables</th></tr>
+ </thead>
+ <tbody>
+
+ <tr class="text-primary"><td>IndexInfo</td></tr>
+
+ <tr class="text-primary"><td>batchlog</td></tr>
+
+ <tr class="text-primary"><td>compaction_history</td></tr>
+
+ <tr class="text-primary"><td>compactions_in_progress</td></tr>
+
+ <tr class="text-primary"><td>hints</td></tr>
+
+ <tr class="text-primary"><td>local</td></tr>
+
+ <tr class="text-primary"><td>paxos</td></tr>
+
+ <tr class="text-primary"><td>peer_events</td></tr>
+
+ <tr class="text-primary"><td>peers</td></tr>
+
+ <tr class="text-primary"><td>range_xfers</td></tr>
+
+ <tr class="text-primary"><td>schema_columnfamilies</td></tr>
+
+ <tr class="text-primary"><td>schema_columns</td></tr>
+
+ <tr class="text-primary"><td>schema_keyspaces</td></tr>
+
+ <tr class="text-primary"><td>schema_triggers</td></tr>
+
+ <tr class="text-primary"><td>schema_usertypes</td></tr>
+
+ <tr class="text-primary"><td>size_estimates</td></tr>
+
+ <tr class="text-primary"><td>sstable_activity</td></tr>
+
+ </tbody>
+ </table>
+ </div>
+ <div class="col-md-2"/>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#d0b813c0-3518-11e5-86fc-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> system_traces</span>
+ </a>
+ </h4>
+ </div>
+ <div id="d0b813c0-3518-11e5-86fc-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2 table-responsive table-bordered">
+
+
+ <table class="table">
+ <thead>
+ <tr><th>Tables</th></tr>
+ </thead>
+ <tbody>
+
+ <tr class="text-primary"><td>events</td></tr>
+
+ <tr class="text-primary"><td>sessions</td></tr>
+
+ </tbody>
+ </table>
+ </div>
+ <div class="col-md-2"/>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab">
+ <h4 class="panel-title">
+ <a role="button" data-toggle="collapse" data-target="#d0b813c1-3518-11e5-86fc-8f0ea8ae1a37" aria-expanded="false">
+ <span class="text-danger"><i class="glyphicon glyphicon-folder-open"/> zeppelin</span>
+ </a>
+ </h4>
+ </div>
+ <div id="d0b813c1-3518-11e5-86fc-8f0ea8ae1a37" class="panel-collapse collapse" role="tabpanel">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-md-2"/>
+ <div class="col-md-8 col-offset-md-2 table-responsive table-bordered">
+
+
+ <table class="table">
+ <thead>
+ <tr><th>Tables</th></tr>
+ </thead>
+ <tbody>
+
+ <tr class="text-primary"><td>artists</td></tr>
+
+ <tr class="text-primary"><td>prepared</td></tr>
+
+ <tr class="text-primary"><td>ts</td></tr>
+
+ <tr class="text-primary"><td>users</td></tr>
+
+ </tbody>
+ </table>
+ </div>
+ <div class="col-md-2"/>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+</div>
\ No newline at end of file