You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/01/08 18:07:17 UTC

[21/21] asterixdb git commit: [ASTERIXDB-2222][UI] Move dashboard to own module

[ASTERIXDB-2222][UI] Move dashboard to own module

Change-Id: I34b48f4747cb762b0ba7a55008bcb0a026261d23
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2262
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mb...@apache.org>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>


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

Branch: refs/heads/master
Commit: a7e8dbe34249941bfdcba1ab7b086f733155be35
Parents: 3316bde
Author: Ian Maxon <im...@apache.org>
Authored: Fri Jan 5 17:13:36 2018 -0800
Committer: Michael Blow <mb...@apache.org>
Committed: Mon Jan 8 10:05:27 2018 -0800

----------------------------------------------------------------------
 asterixdb/asterix-app/pom.xml                   |   5 +
 .../http/server/QueryWebInterfaceServlet.java   |  80 ----
 .../main/resources/dashboard/.angular-cli.json  |  69 ---
 .../src/main/resources/dashboard/.editorconfig  |  25 --
 .../src/main/resources/dashboard/.gitignore     |  47 ---
 .../src/main/resources/dashboard/README.md      |  47 ---
 .../resources/dashboard/e2e/app.e2e-spec.ts     |  27 --
 .../src/main/resources/dashboard/e2e/app.po.ts  |  24 --
 .../resources/dashboard/e2e/tsconfig.e2e.json   |  27 --
 .../src/main/resources/dashboard/karma.conf.js  |  47 ---
 .../src/main/resources/dashboard/package.json   |  60 ---
 .../main/resources/dashboard/protractor.conf.js |  41 --
 .../main/resources/dashboard/proxy.config.js    |  23 -
 .../dashboard/src/app/app-config.service.ts     |  75 ----
 .../dashboard/src/app/app.component.html        |  15 -
 .../dashboard/src/app/app.component.scss        |  14 -
 .../dashboard/src/app/app.component.ts          |  31 --
 .../resources/dashboard/src/app/app.module.ts   | 121 ------
 .../src/app/dashboard/appbar.component.html     |  45 --
 .../src/app/dashboard/appbar.component.scss     |  62 ---
 .../src/app/dashboard/appbar.component.ts       |  25 --
 .../src/app/dashboard/apptab.component.html     |  23 -
 .../src/app/dashboard/apptab.component.scss     |  26 --
 .../src/app/dashboard/apptab.component.ts       |  25 --
 .../metadata/codemirror-metadata.component.scss |  27 --
 .../metadata/codemirror-metadata.component.ts   | 244 -----------
 .../dataset-create-dialog.component.html        |  14 -
 .../dataset-create-dialog.component.scss        |  18 -
 .../dataset-drop-dialog.component.html          |  26 --
 .../dataset-drop-dialog.component.scss          |  18 -
 .../datasets-collection/datasets.component.html | 112 -----
 .../datasets-collection/datasets.component.scss | 415 -------------------
 .../datasets-collection/datasets.component.ts   | 231 -----------
 .../datatype-create-dialog.component.html       |  14 -
 .../datatype-create-dialog.component.scss       |  18 -
 .../datatype-drop-dialog.component.html         |  26 --
 .../datatype-drop-dialog.component.scss         |  18 -
 .../datatypes.component.html                    |  70 ----
 .../datatypes.component.scss                    | 267 ------------
 .../datatypes-collection/datatypes.component.ts | 220 ----------
 .../dataverses-create-dialog.component.html     |  27 --
 .../dataverses-create-dialog.component.scss     |  18 -
 .../dataverses-drop-dialog.component.html       |  26 --
 .../dataverses-drop-dialog.component.scss       |  18 -
 .../dataverses.component.html                   |  77 ----
 .../dataverses.component.scss                   | 259 ------------
 .../dataverses.component.ts                     | 234 -----------
 .../index-create-dialog.component.html          |  14 -
 .../index-create-dialog.component.scss          |  18 -
 .../index-drop-dialog.component.html            |  26 --
 .../index-drop-dialog.component.scss            |  18 -
 .../indexes-collection/indexes.component.html   |  94 -----
 .../indexes-collection/indexes.component.scss   | 398 ------------------
 .../indexes-collection/indexes.component.ts     | 230 ----------
 .../metadata/input-metadata.component.html      |  31 --
 .../metadata/input-metadata.component.scss      |  78 ----
 .../metadata/input-metadata.component.ts        | 111 -----
 .../metadata/metadata-container.component.html  |  36 --
 .../metadata/metadata-container.component.scss  |  56 ---
 .../metadata/metadata-container.component.ts    |  41 --
 .../dashboard/query/codemirror.component.scss   |  23 -
 .../app/dashboard/query/codemirror.component.ts | 237 -----------
 .../app/dashboard/query/input.component.html    |  28 --
 .../app/dashboard/query/input.component.scss    |  82 ----
 .../src/app/dashboard/query/input.component.ts  |  90 ----
 .../app/dashboard/query/metadata.component.html |  44 --
 .../app/dashboard/query/metadata.component.scss |  97 -----
 .../app/dashboard/query/metadata.component.ts   | 209 ----------
 .../src/app/dashboard/query/ouput.component.ts  | 278 -------------
 .../app/dashboard/query/output.component.html   |  68 ---
 .../app/dashboard/query/output.component.scss   | 169 --------
 .../query/query-container.component.html        |  24 --
 .../query/query-container.component.scss        |  82 ----
 .../query/query-container.component.ts          |  74 ----
 .../src/main/resources/dashboard/src/app/db.ts  |  23 -
 .../dashboard/src/app/material.module.ts        | 105 -----
 .../src/app/shared/actions/app.actions.ts       |  33 --
 .../src/app/shared/actions/dataset.actions.ts   | 130 ------
 .../src/app/shared/actions/datatype.actions.ts  | 122 ------
 .../src/app/shared/actions/dataverse.actions.ts | 119 ------
 .../src/app/shared/actions/index.actions.ts     | 119 ------
 .../src/app/shared/actions/metadata.actions.ts  |  46 --
 .../src/app/shared/actions/query.actions.ts     |  71 ----
 .../src/app/shared/effects/dataset.effects.ts   |  65 ---
 .../src/app/shared/effects/datatype.effects.ts  |  63 ---
 .../src/app/shared/effects/dataverse.effects.ts |  63 ---
 .../src/app/shared/effects/index.effects.ts     |  63 ---
 .../src/app/shared/effects/metadata.effects.ts  |  41 --
 .../src/app/shared/effects/query.effects.ts     |  53 ---
 .../src/app/shared/models/asterixDB.model.ts    | 112 -----
 .../dashboard/src/app/shared/pipes/keys.pipe.ts |  25 --
 .../app/shared/pipes/objectArrayType.pipe.ts    |  23 -
 .../src/app/shared/pipes/objectType.pipe.ts     |  21 -
 .../src/app/shared/reducers/app.reducer.ts      |  73 ----
 .../src/app/shared/reducers/dataset.reducer.ts  | 177 --------
 .../src/app/shared/reducers/datatype.reducer.ts | 167 --------
 .../app/shared/reducers/dataverse.reducer.ts    | 171 --------
 .../src/app/shared/reducers/index.reducer.ts    | 167 --------
 .../dashboard/src/app/shared/reducers/index.ts  |  49 ---
 .../src/app/shared/reducers/metadata.reducer.ts |  56 ---
 .../shared/reducers/query-metadata.reducer.ts   |  96 -----
 .../src/app/shared/reducers/query.reducer.ts    |  97 -----
 .../src/app/shared/services/app-core.service.ts |  38 --
 .../shared/services/async-metadata.service.ts   | 120 ------
 .../app/shared/services/async-query.service.ts  | 190 ---------
 .../dashboard/src/assets/asterixdb_tm.png       | Bin 93615 -> 0 bytes
 .../src/environments/environment.prod.ts        |  16 -
 .../dashboard/src/environments/environment.ts   |  21 -
 .../main/resources/dashboard/src/favicon.ico    | Bin 1150 -> 0 bytes
 .../src/main/resources/dashboard/src/index.html |  30 --
 .../src/main/resources/dashboard/src/main.scss  |  29 --
 .../src/main/resources/dashboard/src/main.ts    |  26 --
 .../main/resources/dashboard/src/polyfills.ts   |  76 ----
 .../dashboard/src/styles/_constants.scss        |  21 -
 .../dashboard/src/styles/_general.scss          |  32 --
 .../src/main/resources/dashboard/src/test.ts    |  46 --
 .../resources/dashboard/src/tsconfig.app.json   |  26 --
 .../resources/dashboard/src/tsconfig.spec.json  |  33 --
 .../main/resources/dashboard/src/typings.d.ts   |   5 -
 .../dashboard/static/3rdpartylicenses.txt       | 222 ----------
 .../dashboard/static/assets/asterixdb_tm.png    | Bin 93615 -> 0 bytes
 .../static/color.c7a33805ffda0d32bd2a.png       | Bin 10355 -> 0 bytes
 .../main/resources/dashboard/static/favicon.ico | Bin 1150 -> 0 bytes
 .../main/resources/dashboard/static/index.html  |  13 -
 .../inline.66bd6b83f86cf773a001.bundle.js       |   1 -
 .../static/line.567f57385ea3dde2c9ae.gif        | Bin 13112 -> 0 bytes
 .../static/main.37b7b7cad656490b195a.bundle.js  |   1 -
 .../polyfills.32ca5670d6503e090789.bundle.js    |   1 -
 ...-v15-latin-regular.16e1d930cf13fb7a9563.woff | Bin 18520 -> 0 bytes
 ...o-v15-latin-regular.38861cba61c66739c145.ttf | Bin 32652 -> 0 bytes
 ...o-v15-latin-regular.3d3a53586bd78d1069ae.svg | 308 --------------
 ...v15-latin-regular.7e367be02cd17a96d513.woff2 | Bin 14584 -> 0 bytes
 ...o-v15-latin-regular.9f916e330c478bbfa2a0.eot | Bin 16227 -> 0 bytes
 .../scripts.da68998bdd77aff4e764.bundle.js      |   6 -
 .../styles.9f50282210bba5318775.bundle.css      |   1 -
 .../src/main/resources/dashboard/tsconfig.json  |  32 --
 .../src/main/resources/dashboard/tslint.json    | 154 -------
 asterixdb/asterix-dashboard/pom.xml             |  81 ++++
 .../http/server/QueryWebInterfaceServlet.java   |  80 ++++
 .../main/resources/dashboard/.angular-cli.json  |  69 +++
 .../src/main/resources/dashboard/.editorconfig  |  25 ++
 .../src/main/resources/dashboard/.gitignore     |  47 +++
 .../src/main/resources/dashboard/README.md      |  47 +++
 .../resources/dashboard/e2e/app.e2e-spec.ts     |  27 ++
 .../src/main/resources/dashboard/e2e/app.po.ts  |  24 ++
 .../resources/dashboard/e2e/tsconfig.e2e.json   |  27 ++
 .../src/main/resources/dashboard/karma.conf.js  |  47 +++
 .../src/main/resources/dashboard/package.json   |  60 +++
 .../main/resources/dashboard/protractor.conf.js |  41 ++
 .../main/resources/dashboard/proxy.config.js    |  23 +
 .../dashboard/src/app/app-config.service.ts     |  75 ++++
 .../dashboard/src/app/app.component.html        |  15 +
 .../dashboard/src/app/app.component.scss        |  14 +
 .../dashboard/src/app/app.component.ts          |  31 ++
 .../resources/dashboard/src/app/app.module.ts   | 121 ++++++
 .../src/app/dashboard/appbar.component.html     |  45 ++
 .../src/app/dashboard/appbar.component.scss     |  62 +++
 .../src/app/dashboard/appbar.component.ts       |  25 ++
 .../src/app/dashboard/apptab.component.html     |  23 +
 .../src/app/dashboard/apptab.component.scss     |  26 ++
 .../src/app/dashboard/apptab.component.ts       |  25 ++
 .../metadata/codemirror-metadata.component.scss |  27 ++
 .../metadata/codemirror-metadata.component.ts   | 244 +++++++++++
 .../dataset-create-dialog.component.html        |  14 +
 .../dataset-create-dialog.component.scss        |  18 +
 .../dataset-drop-dialog.component.html          |  26 ++
 .../dataset-drop-dialog.component.scss          |  18 +
 .../datasets-collection/datasets.component.html | 112 +++++
 .../datasets-collection/datasets.component.scss | 415 +++++++++++++++++++
 .../datasets-collection/datasets.component.ts   | 231 +++++++++++
 .../datatype-create-dialog.component.html       |  14 +
 .../datatype-create-dialog.component.scss       |  18 +
 .../datatype-drop-dialog.component.html         |  26 ++
 .../datatype-drop-dialog.component.scss         |  18 +
 .../datatypes.component.html                    |  70 ++++
 .../datatypes.component.scss                    | 267 ++++++++++++
 .../datatypes-collection/datatypes.component.ts | 220 ++++++++++
 .../dataverses-create-dialog.component.html     |  27 ++
 .../dataverses-create-dialog.component.scss     |  18 +
 .../dataverses-drop-dialog.component.html       |  26 ++
 .../dataverses-drop-dialog.component.scss       |  18 +
 .../dataverses.component.html                   |  77 ++++
 .../dataverses.component.scss                   | 259 ++++++++++++
 .../dataverses.component.ts                     | 234 +++++++++++
 .../index-create-dialog.component.html          |  14 +
 .../index-create-dialog.component.scss          |  18 +
 .../index-drop-dialog.component.html            |  26 ++
 .../index-drop-dialog.component.scss            |  18 +
 .../indexes-collection/indexes.component.html   |  94 +++++
 .../indexes-collection/indexes.component.scss   | 398 ++++++++++++++++++
 .../indexes-collection/indexes.component.ts     | 230 ++++++++++
 .../metadata/input-metadata.component.html      |  31 ++
 .../metadata/input-metadata.component.scss      |  78 ++++
 .../metadata/input-metadata.component.ts        | 111 +++++
 .../metadata/metadata-container.component.html  |  36 ++
 .../metadata/metadata-container.component.scss  |  56 +++
 .../metadata/metadata-container.component.ts    |  41 ++
 .../dashboard/query/codemirror.component.scss   |  23 +
 .../app/dashboard/query/codemirror.component.ts | 237 +++++++++++
 .../app/dashboard/query/input.component.html    |  28 ++
 .../app/dashboard/query/input.component.scss    |  82 ++++
 .../src/app/dashboard/query/input.component.ts  |  90 ++++
 .../app/dashboard/query/metadata.component.html |  44 ++
 .../app/dashboard/query/metadata.component.scss |  97 +++++
 .../app/dashboard/query/metadata.component.ts   | 209 ++++++++++
 .../src/app/dashboard/query/ouput.component.ts  | 278 +++++++++++++
 .../app/dashboard/query/output.component.html   |  68 +++
 .../app/dashboard/query/output.component.scss   | 169 ++++++++
 .../query/query-container.component.html        |  24 ++
 .../query/query-container.component.scss        |  82 ++++
 .../query/query-container.component.ts          |  74 ++++
 .../src/main/resources/dashboard/src/app/db.ts  |  23 +
 .../dashboard/src/app/material.module.ts        | 105 +++++
 .../src/app/shared/actions/app.actions.ts       |  33 ++
 .../src/app/shared/actions/dataset.actions.ts   | 130 ++++++
 .../src/app/shared/actions/datatype.actions.ts  | 122 ++++++
 .../src/app/shared/actions/dataverse.actions.ts | 119 ++++++
 .../src/app/shared/actions/index.actions.ts     | 119 ++++++
 .../src/app/shared/actions/metadata.actions.ts  |  46 ++
 .../src/app/shared/actions/query.actions.ts     |  71 ++++
 .../src/app/shared/effects/dataset.effects.ts   |  65 +++
 .../src/app/shared/effects/datatype.effects.ts  |  63 +++
 .../src/app/shared/effects/dataverse.effects.ts |  63 +++
 .../src/app/shared/effects/index.effects.ts     |  63 +++
 .../src/app/shared/effects/metadata.effects.ts  |  41 ++
 .../src/app/shared/effects/query.effects.ts     |  53 +++
 .../src/app/shared/models/asterixDB.model.ts    | 112 +++++
 .../dashboard/src/app/shared/pipes/keys.pipe.ts |  25 ++
 .../app/shared/pipes/objectArrayType.pipe.ts    |  23 +
 .../src/app/shared/pipes/objectType.pipe.ts     |  21 +
 .../src/app/shared/reducers/app.reducer.ts      |  73 ++++
 .../src/app/shared/reducers/dataset.reducer.ts  | 177 ++++++++
 .../src/app/shared/reducers/datatype.reducer.ts | 167 ++++++++
 .../app/shared/reducers/dataverse.reducer.ts    | 171 ++++++++
 .../src/app/shared/reducers/index.reducer.ts    | 167 ++++++++
 .../dashboard/src/app/shared/reducers/index.ts  |  49 +++
 .../src/app/shared/reducers/metadata.reducer.ts |  56 +++
 .../shared/reducers/query-metadata.reducer.ts   |  96 +++++
 .../src/app/shared/reducers/query.reducer.ts    |  97 +++++
 .../src/app/shared/services/app-core.service.ts |  38 ++
 .../shared/services/async-metadata.service.ts   | 120 ++++++
 .../app/shared/services/async-query.service.ts  | 190 +++++++++
 .../dashboard/src/assets/asterixdb_tm.png       | Bin 0 -> 93615 bytes
 .../src/environments/environment.prod.ts        |  16 +
 .../dashboard/src/environments/environment.ts   |  21 +
 .../main/resources/dashboard/src/favicon.ico    | Bin 0 -> 1150 bytes
 .../src/main/resources/dashboard/src/index.html |  30 ++
 .../src/main/resources/dashboard/src/main.scss  |  29 ++
 .../src/main/resources/dashboard/src/main.ts    |  26 ++
 .../main/resources/dashboard/src/polyfills.ts   |  76 ++++
 .../dashboard/src/styles/_constants.scss        |  21 +
 .../dashboard/src/styles/_general.scss          |  32 ++
 .../src/main/resources/dashboard/src/test.ts    |  46 ++
 .../resources/dashboard/src/tsconfig.app.json   |  26 ++
 .../resources/dashboard/src/tsconfig.spec.json  |  33 ++
 .../main/resources/dashboard/src/typings.d.ts   |   5 +
 .../dashboard/static/3rdpartylicenses.txt       | 222 ++++++++++
 .../dashboard/static/assets/asterixdb_tm.png    | Bin 0 -> 93615 bytes
 .../static/color.c7a33805ffda0d32bd2a.png       | Bin 0 -> 10355 bytes
 .../main/resources/dashboard/static/favicon.ico | Bin 0 -> 1150 bytes
 .../main/resources/dashboard/static/index.html  |  13 +
 .../inline.66bd6b83f86cf773a001.bundle.js       |   1 +
 .../static/line.567f57385ea3dde2c9ae.gif        | Bin 0 -> 13112 bytes
 .../static/main.37b7b7cad656490b195a.bundle.js  |   1 +
 .../polyfills.32ca5670d6503e090789.bundle.js    |   1 +
 ...-v15-latin-regular.16e1d930cf13fb7a9563.woff | Bin 0 -> 18520 bytes
 ...o-v15-latin-regular.38861cba61c66739c145.ttf | Bin 0 -> 32652 bytes
 ...o-v15-latin-regular.3d3a53586bd78d1069ae.svg | 308 ++++++++++++++
 ...v15-latin-regular.7e367be02cd17a96d513.woff2 | Bin 0 -> 14584 bytes
 ...o-v15-latin-regular.9f916e330c478bbfa2a0.eot | Bin 0 -> 16227 bytes
 .../scripts.da68998bdd77aff4e764.bundle.js      |   6 +
 .../styles.9f50282210bba5318775.bundle.css      |   1 +
 .../src/main/resources/dashboard/tsconfig.json  |  32 ++
 .../src/main/resources/dashboard/tslint.json    | 154 +++++++
 asterixdb/pom.xml                               |   1 +
 275 files changed, 9917 insertions(+), 9830 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/pom.xml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/pom.xml b/asterixdb/asterix-app/pom.xml
index 70073bd..dc00bea 100644
--- a/asterixdb/asterix-app/pom.xml
+++ b/asterixdb/asterix-app/pom.xml
@@ -328,6 +328,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.asterix</groupId>
+      <artifactId>asterix-dashboard</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.asterix</groupId>
       <artifactId>asterix-common</artifactId>
       <version>${project.version}</version>
       <type>test-jar</type>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryWebInterfaceServlet.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryWebInterfaceServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryWebInterfaceServlet.java
deleted file mode 100644
index 598d802..0000000
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryWebInterfaceServlet.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.asterix.api.http.server;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.asterix.common.config.ExternalProperties;
-import org.apache.asterix.common.dataflow.ICcApplicationContext;
-import org.apache.hyracks.http.api.IServletRequest;
-import org.apache.hyracks.http.api.IServletResponse;
-import org.apache.hyracks.http.server.StaticResourceServlet;
-import org.apache.hyracks.http.server.utils.HttpUtil;
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-import io.netty.handler.codec.http.HttpResponseStatus;
-
-public class QueryWebInterfaceServlet extends StaticResourceServlet {
-    private static final Logger LOGGER = LogManager.getLogger();
-    private ICcApplicationContext appCtx;
-
-    public QueryWebInterfaceServlet(ICcApplicationContext appCtx, ConcurrentMap<String, Object> ctx, String[] paths) {
-        super(ctx, paths);
-        this.appCtx = appCtx;
-    }
-
-    @Override
-    protected void get(IServletRequest request, IServletResponse response) throws IOException {
-        String requestURI = request.getHttpRequest().uri();
-        if ("/".equals(requestURI)) {
-            HttpUtil.setContentType(response, HttpUtil.ContentType.TEXT_HTML);
-            // Dashboard Administration Console
-            deliverResource("/dashboard/static/index.html", response);
-        } else {
-            deliverResource(requestURI, response);
-        }
-    }
-
-    @Override
-    protected void post(IServletRequest request, IServletResponse response) throws IOException {
-        HttpUtil.setContentType(response, HttpUtil.ContentType.APPLICATION_JSON, HttpUtil.Encoding.UTF8);
-        ExternalProperties externalProperties = appCtx.getExternalProperties();
-        response.setStatus(HttpResponseStatus.OK);
-        ObjectNode obj = OBJECT_MAPPER.createObjectNode();
-        try {
-            PrintWriter out = response.writer();
-            obj.put("api_port", String.valueOf(externalProperties.getAPIServerPort()));
-            out.println(obj.toString());
-            return;
-        } catch (Exception e) {
-            LOGGER.log(Level.ERROR, "Failure writing response", e);
-        }
-        try {
-            response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR);
-        } catch (Exception e) {
-            LOGGER.log(Level.ERROR, "Failure setting response status", e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/.angular-cli.json
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/.angular-cli.json b/asterixdb/asterix-app/src/main/resources/dashboard/.angular-cli.json
deleted file mode 100755
index 7e41979..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/.angular-cli.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
-  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
-  "project": {
-    "name": "asterixdb-web-console"
-  },
-  "apps": [
-    {
-      "root": "src",
-      "outDir": "static",
-      "assets": [
-        "assets",
-        "favicon.ico"
-      ],
-      "index": "index.html",
-      "main": "main.ts",
-      "polyfills": "polyfills.ts",
-      "test": "test.ts",
-      "tsconfig": "tsconfig.app.json",
-      "testTsconfig": "tsconfig.spec.json",
-      "prefix": "app",
-      "styles": [
-        "main.scss",
-        "../node_modules/codemirror/lib/codemirror.css",
-        "../node_modules/codemirror/theme/monokai.css",
-        "../node_modules/primeng/resources/themes/omega/theme.css",
-        "../node_modules/primeng/resources/primeng.min.css"
-      ],
-      "scripts": [
-        "../node_modules/codemirror/lib/codemirror.js"
-      ],
-      "environmentSource": "environments/environment.ts",
-      "environments": {
-        "dev": "environments/environment.ts",
-        "prod": "environments/environment.prod.ts"
-      }
-    }
-  ],
-  "e2e": {
-    "protractor": {
-      "config": "./protractor.conf.js"
-    }
-  },
-  "lint": [
-    {
-      "project": "src/tsconfig.app.json",
-      "exclude": "**/node_modules/**"
-    },
-    {
-      "project": "src/tsconfig.spec.json",
-      "exclude": "**/node_modules/**"
-    },
-    {
-      "project": "e2e/tsconfig.e2e.json",
-      "exclude": "**/node_modules/**"
-    }
-  ],
-  "test": {
-    "karma": {
-      "config": "./karma.conf.js"
-    }
-  },
-  "defaults": {
-    "styleExt": "css",
-    "class": {
-      "spec": false
-    },
-    "component": {}
-  }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/.editorconfig
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/.editorconfig b/asterixdb/asterix-app/src/main/resources/dashboard/.editorconfig
deleted file mode 100755
index ba060b8..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/.editorconfig
+++ /dev/null
@@ -1,25 +0,0 @@
-# Editor configuration, see http://editorconfig.org
-#/*
-#Licensed under the Apache License, Version 2.0 (the "License");
-#you may not use this file except in compliance with the License.
-#You may obtain a copy of the License at
-
-#    http://www.apache.org/licenses/LICENSE-2.0
-
-#Unless required by applicable law or agreed to in writing, software
-#Distributed under the License is distributed on an "AS IS" BASIS,
-#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#See the License for the specific language governing permissions and
-#limitations under the License.
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.md]
-max_line_length = off
-trim_trailing_whitespace = false

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/.gitignore
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/.gitignore b/asterixdb/asterix-app/src/main/resources/dashboard/.gitignore
deleted file mode 100755
index fc1e2ce..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/.gitignore
+++ /dev/null
@@ -1,47 +0,0 @@
-# See http://help.github.com/ignore-files/ for more about ignoring files.
-
-# compiled output
-/tmp
-/out-tsc
-
-# dependencies
-/node_modules
-/documents
-# /static
-/dist
-
-# IDEs and editors
-/.idea
-.project
-.classpath
-.c9/
-*.launch
-.settings/
-*.sublime-workspace
-
-# IDE - VSCode
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-
-# misc
-/.sass-cache
-/connect.lock
-/coverage
-/libpeerconnection.log
-npm-debug.log
-testem.log
-/typings
-
-# e2e
-/e2e/*.js
-/e2e/*.map
-
-# System Files
-.DS_Store
-Thumbs.db
-
-# Others
-package-lock.json

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/README.md
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/README.md b/asterixdb/asterix-app/src/main/resources/dashboard/README.md
deleted file mode 100755
index 14f16fc..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-# AsterixDB Web Administration Console
-
-AsterixDB Administration Console is an Angular 5 HTML/CSS/Typescript web application using predictable state containers, immutable data updates with Redux/NGRx frameworks, observable patterns, and standard Open Sourced UI widgets for data, metadata manipulation and visualization through SQL++ AsterixDB Query language.
-
-The main goal is create a baseline solution with unopinionated UI/UX design and SW architecture with two differentiated isolated, indepent minimal coupled levels between the UI components and application core or internal core, easily extensible and scalable by the AsterixDB community.
-
-## Development
-
-This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.4.9.
-
-## Installation
-
-Install node and npm, any of the latest versions will do.
-
-Run `npm install` to download all the dependency packages an recreate the node_modules directory.
-
-## Development server
-
-The development version uses the webpack proxy to avoid CORS problems in Angular see:  
-
-`https://daveceddia.com/access-control-allow-origin-cors-errors-in-angular`. 
-
-Please check `proxy.config.js` to see how it's configured.
-
-Run `ng serve` or `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
-
-A technical document describing the internals and architecture exist, here:
-
-`https://github.com/EmilioMobile/asterixdb-dashboard/blob/master/documents/AsterixDB%20Architecture%20v1.0.pdf?raw=true`
-
-A brief user guide document describing how to use it, here:
-
-`https://github.com/EmilioMobile/asterixdb-dashboard/blob/master/documents/AsterixDB%20User%20Guide%20v1.0.pptx?raw=true`

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.e2e-spec.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.e2e-spec.ts b/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.e2e-spec.ts
deleted file mode 100755
index e75aa02..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.e2e-spec.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { AppPage } from './app.po';
-
-describe('asterixdb-dashboard', () => {
-  let page: AppPage;
-
-  beforeEach(() => {
-    page = new AppPage();
-  });
-
-  it('should display welcome message', () => {
-    page.navigateTo();
-    expect(page.getParagraphText()).toEqual('Welcome to AsterixDB Dashboard!');
-  });
-});

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.po.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.po.ts b/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.po.ts
deleted file mode 100755
index 37d3de9..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/e2e/app.po.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { browser, by, element } from 'protractor';
-
-export class AppPage {
-  navigateTo() {
-    return browser.get('/');
-  }
-
-  getParagraphText() {
-    return element(by.css('app-root h1')).getText();
-  }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/e2e/tsconfig.e2e.json
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/e2e/tsconfig.e2e.json b/asterixdb/asterix-app/src/main/resources/dashboard/e2e/tsconfig.e2e.json
deleted file mode 100755
index 41b7fc0..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/e2e/tsconfig.e2e.json
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-{
-  "extends": "../tsconfig.json",
-  "compilerOptions": {
-    "outDir": "../out-tsc/e2e",
-    "baseUrl": "./",
-    "module": "commonjs",
-    "target": "es5",
-    "types": [
-      "jasmine",
-      "jasminewd2",
-      "node"
-    ]
-  }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/karma.conf.js
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/karma.conf.js b/asterixdb/asterix-app/src/main/resources/dashboard/karma.conf.js
deleted file mode 100755
index c9da2c5..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/karma.conf.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Karma configuration file, see link for more information
-// https://karma-runner.github.io/1.0/config/configuration-file.html
-
-module.exports = function (config) {
-  config.set({
-    basePath: '',
-    frameworks: ['jasmine', '@angular/cli'],
-    plugins: [
-      require('karma-jasmine'),
-      require('karma-chrome-launcher'),
-      require('karma-jasmine-html-reporter'),
-      require('karma-coverage-istanbul-reporter'),
-      require('@angular/cli/plugins/karma')
-    ],
-    client:{
-      clearContext: false // leave Jasmine Spec Runner output visible in browser
-    },
-    coverageIstanbulReporter: {
-      reports: [ 'html', 'lcovonly' ],
-      fixWebpackSourcePaths: true
-    },
-    angularCli: {
-      environment: 'dev'
-    },
-    reporters: ['progress', 'kjhtml'],
-    port: 9876,
-    colors: true,
-    logLevel: config.LOG_INFO,
-    autoWatch: true,
-    browsers: ['Chrome'],
-    singleRun: false
-  });
-};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/package.json
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/package.json b/asterixdb/asterix-app/src/main/resources/dashboard/package.json
deleted file mode 100755
index 3073159..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/package.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
-  "name": "asterixdb-web-console",
-  "version": "1.0.0",
-  "license": "Apache License, Version 2.0",
-  "scripts": {
-    "ng": "ng",
-    "start": "ng serve --proxy-config proxy.config.js --host 0.0.0.0",
-    "build": "ng build",
-    "test": "ng test",
-    "lint": "ng lint",
-    "e2e": "ng e2e"
-  },
-  "private": true,
-  "dependencies": {
-    "@angular/animations": "^5.0.3",
-    "@angular/cdk": "^5.0.0-rc.2",
-    "@angular/common": "^5.0.3",
-    "@angular/compiler": "^5.0.3",
-    "@angular/core": "^5.0.3",
-    "@angular/forms": "^5.0.3",
-    "@angular/http": "^5.0.3",
-    "@angular/material": "^5.0.0-rc.2",
-    "@angular/platform-browser": "^5.0.3",
-    "@angular/platform-browser-dynamic": "^5.0.3",
-    "@angular/router": "^5.0.3",
-    "@ngrx/db": "^2.0.2",
-    "@ngrx/effects": "^4.1.0",
-    "@ngrx/entity": "^4.1.0",
-    "@ngrx/store": "^4.1.0",
-    "@ngrx/store-devtools": "^4.0.0",
-    "codemirror": "^5.31.0",
-    "core-js": "^2.4.1",
-    "file-saver": "^1.3.3",
-    "hammerjs": "^2.0.8",
-    "primeng": "^4.3.0",
-    "rxjs": "^5.5.2",
-    "zone.js": "^0.8.18"
-  },
-  "devDependencies": {
-    "@angular/cli": "1.5.4",
-    "@angular/compiler-cli": "^5.0.3",
-    "@angular/language-service": "^5.0.0",
-    "@types/file-saver": "^1.3.0",
-    "@types/jasmine": "~2.5.53",
-    "@types/jasminewd2": "~2.0.2",
-    "@types/node": "~6.0.60",
-    "jasmine-core": "~2.6.2",
-    "jasmine-spec-reporter": "~4.1.0",
-    "karma": "~1.7.0",
-    "karma-chrome-launcher": "~2.1.1",
-    "karma-cli": "~1.0.1",
-    "karma-coverage-istanbul-reporter": "^1.2.1",
-    "karma-jasmine": "~1.1.0",
-    "karma-jasmine-html-reporter": "^0.2.2",
-    "protractor": "~5.1.2",
-    "ts-node": "^3.2.2",
-    "tslint": "^5.7.0",
-    "typescript": "^2.4.2"
-  }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/protractor.conf.js
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/protractor.conf.js b/asterixdb/asterix-app/src/main/resources/dashboard/protractor.conf.js
deleted file mode 100755
index ac4c723..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/protractor.conf.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-// Protractor configuration file, see link for more information
-// https://github.com/angular/protractor/blob/master/lib/config.ts
-
-const { SpecReporter } = require('jasmine-spec-reporter');
-
-exports.config = {
-  allScriptsTimeout: 11000,
-  specs: [
-    './e2e/**/*.e2e-spec.ts'
-  ],
-  capabilities: {
-    'browserName': 'chrome'
-  },
-  directConnect: true,
-  baseUrl: 'http://localhost:4200/',
-  framework: 'jasmine',
-  jasmineNodeOpts: {
-    showColors: true,
-    defaultTimeoutInterval: 30000,
-    print: function() {}
-  },
-  onPrepare() {
-    require('ts-node').register({
-      project: 'e2e/tsconfig.e2e.json'
-    });
-    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
-  }
-};

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/proxy.config.js
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/proxy.config.js b/asterixdb/asterix-app/src/main/resources/dashboard/proxy.config.js
deleted file mode 100755
index 58752c3..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/proxy.config.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-const PROXY_CONFIG = {
-    "/query-service/*": {
-        "target": "http://localhost:19002",
-        "secure": false,
-        logLevel: "debug",
-        pathRewrite: function (path) { return path.replace('/query-service', '/query/service')}
-    }
-}
-
-module.exports = PROXY_CONFIG;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app-config.service.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app-config.service.ts b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app-config.service.ts
deleted file mode 100755
index 87a0c2b..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app-config.service.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Injectable } from '@angular/core';
-import { Observable } from 'rxjs/Observable';
-import {
-  Http,
-  Headers,
-  RequestOptions
-}                     from '@angular/http';
-
-@Injectable()
-export class ConfigService {
-
-  private config: Object
-  private env: Object
-
-  constructor(private http: Http) {}
-
-  /**
-   * Loads the environment config file first. Reads the environment variable from the file
-   * and based on that loads the appropriate configuration file - development or production
-   */
-  load() {
-    return new Promise((resolve, reject) => {
-      let headers = new Headers({ 'Accept': 'application/json', 'Content-Type': 'application/json', 'DataType': 'application/json' });
-      let options = new RequestOptions({ headers: headers });
-
-      this.http.get('/config/env.json')
-      .map(res => res.json())
-      .subscribe((env_data) => {
-        this.env = env_data;
-
-        this.http.get('/config/' + env_data.env + '.json')
-          .map(res => res.json())
-          .catch((error: any) => {
-            return Observable.throw(error.json().error || 'Server error');
-          })
-          .subscribe((data) => {
-            this.config = data;
-            resolve(true);
-          });
-      });
-
-    });
-  }
-
-  /**
-   * Returns environment variable based on given key
-   *
-   * @param key
-   */
-  getEnv(key: any) {
-    return this.env[key];
-  }
-
-  /**
-   * Returns configuration value based on given key
-   *
-   * @param key
-   */
-  get(key: any) {
-    return this.config[key];
-  }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.html
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.html b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.html
deleted file mode 100755
index 58481be..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/-->
-<awc-bar></awc-bar>
-<awc-tab></awc-tab>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.scss
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.scss b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.scss
deleted file mode 100755
index b01fcf5..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-// Place holder for future expansion
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.ts b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.ts
deleted file mode 100755
index a913109..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.component.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component } from '@angular/core';
-import { AppCoreService } from './shared/services/app-core.service'
-
-/*
- * Root component
- * Defines AsterixDB Dashboard application's layout
- */
-@Component({
-  selector: 'awc-root',
-  templateUrl: './app.component.html',
-  styleUrls: ['./app.component.scss']
-})
-export class AppComponent {
-  title = 'Asterix DB Web Console';
-
-  constructor(private appCoreService: AppCoreService) {
-  }
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.module.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.module.ts b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.module.ts
deleted file mode 100755
index 11c8602..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/app.module.ts
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { BrowserModule } from '@angular/platform-browser';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { HttpClientModule } from '@angular/common/http';
-import { EffectsModule } from '@ngrx/effects';
-import { DataverseEffects } from './shared/effects/dataverse.effects';
-import { DatasetEffects } from './shared/effects/dataset.effects';
-import { DatatypeEffects } from './shared/effects/datatype.effects';
-import { IndexEffects } from './shared/effects/index.effects';
-import { SQLQueryEffects } from './shared/effects/query.effects';
-import { MetadataEffects } from './shared/effects/metadata.effects';
-import { AppComponent } from './app.component';
-import { AppBarComponent }  from './dashboard/appbar.component';
-import { DataverseCollection } from './dashboard/metadata/dataverses-collection/dataverses.component';
-import { DatasetCollection } from './dashboard/metadata/datasets-collection/datasets.component';
-import { DatatypeCollection } from './dashboard/metadata/datatypes-collection/datatypes.component';
-import { CodemirrorComponent } from './dashboard/query/codemirror.component';
-import { CodemirrorMetadataComponent } from './dashboard/metadata/codemirror-metadata.component';
-import { IndexCollection } from './dashboard/metadata/indexes-collection/indexes.component';
-import { MetadataContainerComponent }  from './dashboard/metadata/metadata-container.component';
-import { MetadataComponent }  from './dashboard/query/metadata.component';
-import { QueryContainerComponent }  from './dashboard/query/query-container.component';
-import { InputQueryComponent }  from './dashboard/query/input.component';
-import { InputQueryMetadataComponent }  from './dashboard/metadata/input-metadata.component';
-import { QueryOutputComponent, SafeHtmlPipe }  from './dashboard/query/ouput.component';
-import { AppTabComponent }  from './dashboard/apptab.component';
-import { KeysPipe } from './shared/pipes/keys.pipe';
-import { ObjectTypePipe } from './shared/pipes/objectType.pipe';
-import { ObjectArrayTypePipe } from './shared/pipes/objectArrayType.pipe';
-import { reducers } from './shared/reducers';
-import { SQLService } from './shared/services/async-query.service'
-import { AppCoreService } from './shared/services/app-core.service'
-import { MetadataService } from './shared/services/async-metadata.service'
-import { DBModule } from '@ngrx/db';
-import { FormsModule } from '@angular/forms';
-import { MaterialModule } from './material.module';
-import { NgModule } from '@angular/core';
-import { StoreModule,  } from '@ngrx/store';
-import { StoreDevtoolsModule } from '@ngrx/store-devtools';
-import { schema } from './db';
-import { DataTableModule, SharedModule } from 'primeng/primeng';
-import { TreeModule, TreeNode} from 'primeng/primeng';
-import { DialogCreateDataverse, DialogDropDataverse } from './dashboard/metadata/dataverses-collection/dataverses.component';
-import { DialogCreateDataset, DialogDropDataset } from './dashboard/metadata/datasets-collection/datasets.component';
-import { DialogCreateDatatype, DialogDropDatatype } from './dashboard/metadata/datatypes-collection/datatypes.component';
-import { DialogCreateIndex, DialogDropIndex } from './dashboard/metadata/indexes-collection/indexes.component';
-
-
-
-@NgModule({
-  declarations: [
-    AppComponent,
-    AppBarComponent,
-    InputQueryComponent,
-    InputQueryMetadataComponent,
-		QueryOutputComponent,
-    CodemirrorComponent,
-    CodemirrorMetadataComponent,
-		DataverseCollection,
-		DatasetCollection,
-		DatatypeCollection,
-		IndexCollection,
-    KeysPipe,
-		MetadataContainerComponent,
-    MetadataComponent,
-    QueryContainerComponent,
-		AppTabComponent,
-		ObjectTypePipe,
-    ObjectArrayTypePipe,
-    DialogCreateDataverse,
-    DialogDropDataverse,
-    DialogCreateDataset,
-    DialogDropDataset,
-    DialogCreateDatatype,
-    DialogDropDatatype,
-    DialogCreateIndex,
-    DialogDropIndex,
-    SafeHtmlPipe
-  ],
-  imports: [
-    TreeModule,
-    DataTableModule,
-    SharedModule,
-    FormsModule,
-    BrowserModule,
-		BrowserAnimationsModule,
-		DBModule.provideDB(schema),
-		EffectsModule.forRoot([MetadataEffects, DataverseEffects, DatasetEffects, DatatypeEffects, IndexEffects, SQLQueryEffects]),
-    HttpClientModule,
-    MaterialModule,
-		StoreModule.forRoot(reducers),
-		StoreDevtoolsModule.instrument({
-			maxAge: 10
-		})
-  ],
-  entryComponents: [
-    DialogCreateDataverse, 
-    DialogDropDataverse, 
-    DialogCreateDataset, 
-    DialogDropDataset , 
-    DialogCreateDatatype, 
-    DialogDropDatatype,
-    DialogCreateIndex, 
-    DialogDropIndex 
-  ],
-  providers: [AppCoreService, SQLService, MetadataService],
-  bootstrap: [AppComponent]
-})
-export class AppModule { }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.html
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.html b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.html
deleted file mode 100755
index 62cf771..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<header class="awc-navbar">
-    <nav class="awc-navbar-header">
-      <a mat-button class="awc-button" routerLink="/" aria-label="AsterixDB Web Console">
-      <img class="awc-asterixDB-logo"
-            src="assets/asterixdb_tm.png"
-            alt="AsterixDB">
-            <span>Administration Console</span>
-      </a>
-      <div class="flex-spacer"></div>
-      <a mat-button class="awc-button awc-navbar-hide-small" href="https://asterixDB.apache.org"
-         aria-label="WEBSITE">
-        WEBSITE
-      </a>
-      <a mat-button class="awc-button awc-navbar-hide-small" href="https://issues.apache.org/jira/browse/ASTERIXDB"
-         aria-label="FILE ISSUES">
-        FILE ISSUES
-      </a>
-      <a mat-button class="awc-button awc-navbar-hide-small" href="https://ci.apache.org/projects/asterixdb/index.html"
-         aria-label="DOCUMENTATION">
-        DOCUMENTATION
-      </a>
-      <a mat-button class="awc-button docs-navbar-hide-small" href="https://asterixdb.apache.org/community.html"
-         aria-label="CONTACT">
-        CONTACT
-      </a>
-
-      <a mat-button class="awc-button docs-navbar-hide-small" href="https://github.com/apache/asterixdb/"
-         aria-label="GITHUB">
-        GITHUB
-      </a>
-    </nav>
-</header>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.scss
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.scss b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.scss
deleted file mode 100755
index 8a764e6..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.scss
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-.awc-navbar {
-  a {
-    //color: #f0f0f0;
-    text-decoration: none;
-  }
-
-  border-bottom: 1px solid  hsla(0,0%,0%,.10);
-  overflow: hidden;
-}
-
-.awc-navbar-header {
-  display: flex;
-  flex-wrap: wrap;
-  align-items: center;
-  padding: 8px 16px;
-
-  > .mat-button {
-    &:last-child {
-      margin-left: auto;
-    }
-  }
-}
-
-.flex-spacer {
-  flex-grow: 1;
-}
-
-.awc-asterixDB-logo {
-  height: 26px;
-  margin: 0 4px 3px 0;
-  vertical-align: middle;
-}
-
-.awc-github-logo {
-  height: 21px;
-  margin: 0 7px 2px 0;
-  vertical-align: middle;
-}
-
-.awc-navbar-link {
-  text-decoration: inherit;
-  flex: 1;
-}
-
-/*
-* Rules for when the device is detected to be a small screen.
-* Moves content two rows instead of one.
-*/
-//@media (max-width: 720px) {}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.ts b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.ts
deleted file mode 100755
index 563ed11..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/appbar.component.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component } from '@angular/core';
-
-@Component({
-	moduleId: module.id,
-	selector: 'awc-bar',
-  templateUrl: 'appbar.component.html',
-	styleUrls: ['appbar.component.scss']
-})
-
-export class AppBarComponent {
-	constructor() {}
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.html
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.html b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.html
deleted file mode 100755
index bd5c963..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<div class="content">
-  <mat-tab-group class="menu">
-    <mat-tab label=">_ QUERY">
-      <awc-query-container></awc-query-container>
-    </mat-tab>
-    <mat-tab label="METADATA">
-      <awc-metadata-container></awc-metadata-container>
-    </mat-tab>
-  </mat-tab-group>
-</div>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.scss
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.scss b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.scss
deleted file mode 100755
index 4d6fb7b..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-.content {
-  width:95%;
-  margin: 0 auto;
-}
-
-.menu {    
-  /deep/ .mat-tab-label {
-      font-size: 0.80rem !important;
-      font-weight: 500  !important;
-  }
-}
-
-

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.ts b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.ts
deleted file mode 100755
index b4db7f4..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/apptab.component.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-import { Component } from '@angular/core';
-import { Store } from '@ngrx/store';
-
-@Component({
-  selector: 'awc-tab',
-  templateUrl: 'apptab.component.html',
-  styleUrls: ['apptab.component.scss']
-})
-
-export class AppTabComponent {
-  constructor(private store: Store<any>) {};
-}

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.scss
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.scss b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.scss
deleted file mode 100755
index 9812ecb..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.scss
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-.textarea-metadata {
-    background-color: red !important;
-    border: 1px solid black !important;
-    padding: 0;
-	margin: 0;
-}
-
-codemirror-metadata {
-    border: 1px solid #eee;
-    height: auto;
-    background-color: blue !important;
-    padding: 0;
-	margin: 0;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.ts
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.ts b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.ts
deleted file mode 100755
index aed6ddf..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/codemirror-metadata.component.ts
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-/**
- * Integrating codemirror (using ng2-codemirror) with our application
- *
- * component from "https://runkit.com/npm/ng2-codemirror"
- *                "https://www.npmjs.com/package/ng2-codemirror"
- * copy component from /src/codemirror.component.ts
- * and modified for custom mode (asterix aql, sql++ code hilighting)
- *
- * therefore, actually we don't need to "npm install ng2-codemirror"
- *
- * Because on the outside of this component,
- * It was hard to access the codemirror instance that 'ng-codemirror' use
- * So, we copied the component in our application and modified it
- *
- * 'codemirror.js(^5.23.0)' is included in the 'index.html'
- * And in this component(codemirror.component.ts)
- * add statement like "declare var CodeMirror: any;"
- *
- * I don't know whether this is right way
- *
- * ref 1) usage : https://embed.plnkr.co/8e9gxss9u10VeFrv29Zt/
- * ref 2) custom mode : http://jsfiddle.net/TcqAf/99/
- * ref 3) integrating : http://stackoverflow.com/questions/37092142/integrating-codemirror-with-angular2-typescript
- * ref 3) integrating :  https://medium.com/@s_eschweiler/using-external-libraries-with-angular-2-87e06db8e5d1#.8ok74uvwg
- */
-import {
-    Component,
-    Input,
-    Output,
-    ElementRef,
-    ViewChild,
-    EventEmitter,
-    forwardRef,
-    AfterViewInit,
-    OnDestroy,
-    ChangeDetectionStrategy
-  } from '@angular/core';
-  import { NG_VALUE_ACCESSOR } from '@angular/forms';
-  import * as CodeMirrorMetadata from 'codemirror';
- 
- /**
-  * CodeMirror component
-  * Usage :
-  * <codemirror [(ngModel)]="data" [config]="{...}"></codemirror>
-  */
- @Component({
-   moduleId: module.id,
-   selector: 'codemirror-metadata',
-   providers: [
-     {
-       provide: NG_VALUE_ACCESSOR,
-       useExisting: forwardRef(() => CodemirrorMetadataComponent),
-       multi: true
-     }
-   ],
-   styleUrls: ['codemirror-metadata.component.scss'],
-   template: `<textarea class="textarea-metadata" #hostMetadata></textarea>`,//,
- })
- 
-export class CodemirrorMetadataComponent implements AfterViewInit, OnDestroy {
-  @Input() config;
-  @Output() change = new EventEmitter();
-  @Output() focus = new EventEmitter();
-  @Output() blur = new EventEmitter();
-  @Output() instance = null;
-  @ViewChild('hostMetadata') hostMetadata;
-  _value = '';
- 
-  /**
-  * Constructor
-  */
-  constructor(){
-      /**
-      * Custom mode for AsterixDB
-      */
-      CodeMirrorMetadata.defineMode("asterix", function(){
-        var KEYWORD_MATCH = [
-              // AQL
-              "drop", "dataverse", "dataset",
-              "if", "exists", "create",
-              "use", "type", "as", "closed",
-              "primary", "key",  "hints", "cardinality",
-              "index", "on", "btree", "rtree", "keyword",
-              "for", "in", "Metadata", "Dataset",
-              "return", "Index", "load", "using", "localfs", "path", "format",
-              // Query (not perfect)
-              "from", "in", "with", "group", "by", "select",
-              "let", "where", "order", "asc", "desc", "limit",
-              "keeping", "offset", "distinct", "or", "and",
-              // Built in functions (TODO)
-              // Built in functions (TODO)
-              // Built in functions (TODO)
-              // Asterix Data Model
-              // Primitive type
-              "boolean",
-              "tinyint", "smallint", "integer", "bigint",
-              "float", "double",
-              "string",
-              "binary", "hex", "base64",
-              "point", "line", "rectangle", "circle", "polygon",
-              "date", "time", "datetime", "duration", "interval", "uuid",
-              // Incomplete information type
-              "null", "missing",
-              // Derived type
-              // object {}, array [], multiset {{}}
-              // SQL++
-              "DROP", "DATAVERSE", "IF", "EXISTS", "CREATE", "USE", "TYPE", "AS", "DATASET", "PRIMARY", "KEY",
-              "INDEX", "SELECT", "VALUE", "INSERT", "INTO", "FROM", "WHERE", "AND", "SOME", "IN", "SATISFIES", "IS", "UNKNOWN", "NOT", "EVERY",
-              "GROUP", "BY", "ORDER", "DESC", "LIMIT", "OR", "SET", "DELETE", "LOAD", "USING",
-          ];
-
-          //"(", ")","{{", "}}", "[", "]",	"{", "}",  ";", ",", ":","?", "=",
-        var VAR_MATCH = /[$][a-zA-Z]+(\d*)/;
-        var DOT_MATCH = /[.](\S)*/;
-        var DOUBLE_QUOTE_MATCH = /["].*["]/;
-        var SINGLE_QUOTE_MATCH = /['].*[']/;
-        var BREAK_POINT = /(\s)/;
-
-        return {
-            startState: function() {return {inString: false};},
-            token: function(stream, state) {
-                if (state.newLine == undefined)state.newLine = true;
-
-                //match variable reference
-                if (stream.match(VAR_MATCH)) {
-                    return "variable";
-                }
-
-                if (stream.match(DOT_MATCH)) {
-                    return "dot-variable";
-                }
-
-                //string variable match
-                if (stream.match(DOUBLE_QUOTE_MATCH)) {
-                    return "string";
-                }
-                if (stream.match(SINGLE_QUOTE_MATCH)) {
-                    return "string";
-                }
-
-                //keyword match
-                for (var i in KEYWORD_MATCH){
-                    if (state.newLine && stream.match(KEYWORD_MATCH[i])){
-                            return "keyword";
-                    }
-                }
-
-                if (stream.peek() === " " || stream.peek() === null){
-                    state.newLine = true;
-                }else{
-                    state.newLine = false;
-                }
-                stream.next();
-                return null;
-            }
-        };
-      });
-   }
- 
-  get value() { return this._value; };
- 
-  @Input() set value(v) {
-    if (v !== this._value) {
-      this._value = v;
-      this.onChange(v);
-    }
-  }
-
-  /**
-  * On component destroy
-  */
-  ngOnDestroy() {}
- 
-   /**
-    * On component view init
-    */
-  ngAfterViewInit() {
-  this.config = this.config || {};
-  this.codemirrorInit(this.config); 
-  }
-
-  /**
-  * Initialize codemirror
-  */
-  codemirrorMetadataConfig = 	{ 	mode: "asterix",
-    //lineNumbers: true,
-    lineWrapping: true,
-    showCursorWhenSelecting: true,
-    autofocus: true
-  };
-
-  codemirrorInit(config){
-    this.instance = CodeMirrorMetadata.fromTextArea(this.hostMetadata.nativeElement, this.codemirrorMetadataConfig);
-    this.instance.setSize("100%" , "100px");
-    this.instance.on('change', () => {
-      this.updateValue(this.instance.getValue());
-    });
-
-    this.instance.on('focus', () => {
-      this.focus.emit();
-    });
-
-    this.instance.on('blur', () => {
-      this.blur.emit();
-    });
-  }
- 
-  /**
-  * Value update process
-  */
-  updateValue(value){
-    this.value = value;
-    this.onTouched();
-    this.change.emit(value);
-  }
- 
-  /**
-  * Implements ControlValueAccessor
-  */
-  writeValue(value){
-    this._value = value || '';
-    if (this.instance) {
-      this.instance.setValue(this._value);
-    }
-  }
- 
-  onChange(_) {}
-  onTouched() {}
-  registerOnChange(fn){this.onChange = fn;}
-  registerOnTouched(fn){this.onTouched = fn;}
-} 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.html
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.html b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.html
deleted file mode 100755
index ef88719..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/-->
-<!-- Place holder for future expansion -->

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.scss
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.scss b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.scss
deleted file mode 100755
index c969489..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-create-dialog.component.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-.dataset-dialog {    
-    font-family: "Roboto Mono", monospace;
-    font-size: 0.80rem;
-    font-weight: 500;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.html
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.html b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.html
deleted file mode 100755
index 517006c..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/-->
-<div class="dataset-dialog">
-    <p mat-dialog-title>DROP DATASET</p>
-    <mat-dialog-content>
-        <p>PLEASE GIVE THE NAME OF THE DATASET TO DROP</p>
-    </mat-dialog-content>
-        <mat-form-field>
-            <input matInput tabindex="0" [(ngModel)]="data.datasetName">
-        </mat-form-field>
-    <mat-dialog-actions>
-        <button mat-button (click)="onClick()" tabindex="1">DROP</button>
-        <button mat-button (click)="onNoClick()" tabindex="2">CANCEL</button>
-    </mat-dialog-actions>
-</div>

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.scss
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.scss b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.scss
deleted file mode 100755
index c969489..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/dataset-drop-dialog.component.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-.dataset-dialog {    
-    font-family: "Roboto Mono", monospace;
-    font-size: 0.80rem;
-    font-weight: 500;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/a7e8dbe3/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/datasets.component.html
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/datasets.component.html b/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/datasets.component.html
deleted file mode 100755
index f556951..0000000
--- a/asterixdb/asterix-app/src/main/resources/dashboard/src/app/dashboard/metadata/datasets-collection/datasets.component.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!--/*
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/ -->
-<div class="container" (click)="onClick()">
-  <div class="master">
-      <mat-card class="datasets-card" *ngIf="loaded$ | async as ld">
-        <mat-toolbar color="primary" class="datasets-selector">
-            <mat-icon class="icon">menu</mat-icon>
-            <span>DATASETS - METADATA</span>
-            <span class="spacer"></span>
-        </mat-toolbar>
-        <mat-card-content class="datasets-content">
-            <mat-table #table [dataSource]="dataSource" class="datasets-table">
-                <!-- CompactionPolicy Column -->
-                <ng-container matColumnDef="CompactionPolicy">
-                  <mat-header-cell *matHeaderCellDef class="header-compactionpolicy-cell">Compaction Policy</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-compactionpolicy-cell"> {{element.CompactionPolicy}} </mat-cell>
-                </ng-container>
-    
-                <!-- DatasetId Column -->
-                <ng-container matColumnDef="DatasetId">
-                  <mat-header-cell *matHeaderCellDef class="header-datasetid-cell">Dataset Id</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-datasetid-cell"> {{element.DatasetId}} </mat-cell>
-                </ng-container>
-    
-                <!-- DatasetName Column -->
-                <ng-container matColumnDef="DatasetName">
-                  <mat-header-cell *matHeaderCellDef class="header-datasetname-cell">Dataset Name</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-datasetname-cell"> {{element.DatasetName}} </mat-cell>
-                </ng-container>
-    
-                <!-- DatasetType Column -->
-                <ng-container matColumnDef="DatasetType">
-                  <mat-header-cell *matHeaderCellDef class="header-datasettype-cell">Dataset Type</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-datasettype-cell"> {{element.DatasetType}} </mat-cell>
-                </ng-container>
-    
-                <!-- DatatypeDataverseName Column -->
-                <ng-container matColumnDef="DatatypeDataverseName">
-                  <mat-header-cell *matHeaderCellDef class="header-datatypedataversename-cell">Datatype Dataverse Name</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-datatypedataversename-cell"> {{element.DatatypeDataverseName}} </mat-cell>
-                </ng-container>
-    
-                <!-- DatatypeName Column -->
-                <ng-container matColumnDef="DatatypeName">
-                  <mat-header-cell *matHeaderCellDef class="header-datatypename-cell">Datatype Name</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-datatypename-cell"> {{element.DatatypeName}} </mat-cell>
-                </ng-container>
-    
-                <!-- DataverseName Column -->
-                <ng-container matColumnDef="DataverseName">
-                  <mat-header-cell *matHeaderCellDef class="header-dataversename-cell">Dataverse Name</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-dataversename-cell"> {{element.DataverseName}} </mat-cell>
-                </ng-container>
-    
-                <!-- GroupName Column -->
-                <ng-container matColumnDef="GroupName">
-                  <mat-header-cell *matHeaderCellDef class="header-groupname-cell">Group Name</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-groupname-cell"> {{element.GroupName}} </mat-cell>
-                </ng-container>
-    
-                <!-- PendingOp Column -->
-                <ng-container matColumnDef="PendingOp">
-                  <mat-header-cell *matHeaderCellDef class="header-pendingop-cell">Pending Op</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-pendingop-cell"> {{element.PendingOp}} </mat-cell>
-                </ng-container>
-    
-                <!-- DatasetType Column -->
-                <ng-container matColumnDef="Timestamp">
-                  <mat-header-cell *matHeaderCellDef class="header-timestamp-cell">Timestamp</mat-header-cell>
-                  <mat-cell *matCellDef="let element" class="dataset-timestamp-cell"> {{element.Timestamp}} </mat-cell>
-                </ng-container>
-    
-                <mat-header-row *matHeaderRowDef="['DatasetName', 'DataverseName', 'DatatypeName', 'Timestamp']"></mat-header-row>
-                <mat-row *matRowDef="let row; columns: ['DatasetName', 'DataverseName', 'DatatypeName', 'Timestamp'];"
-                  [ngClass]="{'highlight': selectedRowIndex == row.id}"
-                  (click)="highlight(row)">
-                </mat-row>
-            </mat-table>
-        </mat-card-content>
-        <mat-card-actions class="actions">
-            <button class="refresh-button" mat-button (click)="openDropDatasetDialog()">DROP</button>
-            <span class="error-message">{{errorMessage}}</span>
-            <span class="spacer"></span>
-            <button class="refresh-button" mat-button (click)="getDatasets()">REFRESH</button>
-        </mat-card-actions>
-      </mat-card>
-      <awc-query-metadata #querymetadata class="query"></awc-query-metadata>
-  </div>
-  <div class="detail">
-      <mat-card class="datasets-details-card">
-          <mat-toolbar color="primary" class="datasets-selector">
-              <mat-icon class="icon">menu</mat-icon>
-              <span>DATASET - METADATA - DETAILS</span>
-              <span class="spacer"></span>
-          </mat-toolbar>
-          <mat-card-content class="datasets-content output">
-            <span><pre>{{output}}</pre></span>
-          </mat-card-content>
-        </mat-card>
-  </div>
-</div>