You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by ha...@apache.org on 2016/10/16 14:03:14 UTC
incubator-eagle git commit: [EAGLE-624][UI] Improve ui information
and fix bugs
Repository: incubator-eagle
Updated Branches:
refs/heads/master 1a74b09b7 -> 97edbbbe3
[EAGLE-624][UI] Improve ui information and fix bugs
## Improvements
* Show dependencies apps number
* Support XML child node tree as String in app docs
* Cleanup eagle-server dependencies and output
* Move business logic specific logics into dev profile
* Rename header and remove pre fo installation content
## Bugs
* Fix siteName bug in ui
* Installation Doc is not correctly shown in Installation Dialog
Author: Hao Chen <ha...@apache.org>
Closes #513 from haoch/ImproveUIInfo.
Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/97edbbbe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/97edbbbe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/97edbbbe
Branch: refs/heads/master
Commit: 97edbbbe315b9b927bf5e3386a2162e7e4ad99bf
Parents: 1a74b09
Author: Hao Chen <ha...@apache.org>
Authored: Sun Oct 16 22:02:58 2016 +0800
Committer: Hao Chen <ha...@apache.org>
Committed: Sun Oct 16 22:02:58 2016 +0800
----------------------------------------------------------------------
...e.alert.app.AlertUnitTopologyAppProvider.xml | 18 +++
.../config/ApplicationProviderDescConfig.java | 2 +-
...he.eagle.app.TestWebApplication$Provider.xml | 8 ++
.../eagle/metadata/model/ApplicationDocs.java | 10 +-
.../metadata/utils/InnerDomAsTextHandler.java | 66 +++++++++
.../metadata/utils/InstallDocDomHandler.java | 23 +++
.../metadata/utils/UninstallDocDomHandler.java | 23 +++
eagle-server-assembly/pom.xml | 9 --
eagle-server/pom.xml | 141 +++++++++++--------
.../org/apache/eagle/server/ServerMain.java | 11 +-
.../app/dev/partials/integration/site.html | 43 +++---
.../app/dev/public/js/ctrls/integrationCtrl.js | 4 +
12 files changed, 261 insertions(+), 97 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-core/eagle-alert-parent/eagle-alert-app/src/main/resources/META-INF/providers/org.apache.eagle.alert.app.AlertUnitTopologyAppProvider.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert-app/src/main/resources/META-INF/providers/org.apache.eagle.alert.app.AlertUnitTopologyAppProvider.xml b/eagle-core/eagle-alert-parent/eagle-alert-app/src/main/resources/META-INF/providers/org.apache.eagle.alert.app.AlertUnitTopologyAppProvider.xml
index 8e386be..b3e777c 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert-app/src/main/resources/META-INF/providers/org.apache.eagle.alert.app.AlertUnitTopologyAppProvider.xml
+++ b/eagle-core/eagle-alert-parent/eagle-alert-app/src/main/resources/META-INF/providers/org.apache.eagle.alert.app.AlertUnitTopologyAppProvider.xml
@@ -128,8 +128,26 @@
</configuration>
<docs>
<install>
+ <div>
+ <label>Perquisites</label>
+ <ol>
+ <li>Require permission to READ/WRITE/CREATE on kafka topic</li>
+ </ol>
+ <label>Usage Steps</label>
+ <ol>
+ <li>Configure kafka connection in <b>settings</b></li>
+ <li>Install and start alert engine</li>
+ <li>Integrate streams and define policy</li>
+ </ol>
+ </div>
</install>
<uninstall>
+ <div>
+ <label>After uninstalled</label>
+ <ol>
+ <li>Clean up kafka topics automatically created by alert engine</li>
+ </ol>
+ </div>
</uninstall>
</docs>
</application>
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java
index 2d2b7e2..0a8b81f 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java
@@ -1,4 +1,4 @@
-/**
+/*
* 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.
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestWebApplication$Provider.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestWebApplication$Provider.xml b/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestWebApplication$Provider.xml
index 5456bce..19aa5e8 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestWebApplication$Provider.xml
+++ b/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestWebApplication$Provider.xml
@@ -27,4 +27,12 @@
<version>0.5.0-incubating</version>
</dependency>
</dependencies>
+ <docs>
+ <install>
+ <h1>Installation Guide</h1>
+ </install>
+ <uninstall>
+ <h1>Un-installation Guide</h1>
+ </uninstall>
+ </docs>
</application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/model/ApplicationDocs.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/model/ApplicationDocs.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/model/ApplicationDocs.java
index f83f377..6aafa90 100644
--- a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/model/ApplicationDocs.java
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/model/ApplicationDocs.java
@@ -16,18 +16,26 @@
*/
package org.apache.eagle.metadata.model;
+import org.apache.eagle.metadata.utils.InstallDocDomHandler;
+import org.apache.eagle.metadata.utils.UninstallDocDomHandler;
+
+import javax.xml.bind.annotation.XmlAnyElement;
+
public class ApplicationDocs {
private String install;
+
private String uninstall;
public String getInstall() {
return install;
}
+ @XmlAnyElement(value=InstallDocDomHandler.class)
public void setInstall(String install) {
this.install = install;
}
+ @XmlAnyElement(value= UninstallDocDomHandler.class)
public String getUninstall() {
return uninstall;
}
@@ -35,4 +43,4 @@ public class ApplicationDocs {
public void setUninstall(String uninstall) {
this.uninstall = uninstall;
}
-}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InnerDomAsTextHandler.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InnerDomAsTextHandler.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InnerDomAsTextHandler.java
new file mode 100644
index 0000000..1358fff
--- /dev/null
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InnerDomAsTextHandler.java
@@ -0,0 +1,66 @@
+/*
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.eagle.metadata.utils;
+
+import javax.xml.bind.ValidationEventHandler;
+import javax.xml.bind.annotation.DomHandler;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+public abstract class InnerDomAsTextHandler implements DomHandler<String, StreamResult> {
+ private final String startTag;
+ private final String endTag;
+ private StringWriter xmlWriter = new StringWriter();
+
+ /**
+ * Default constructor.
+ *
+ * It is up to a JAXB provider to decide which DOM implementation
+ * to use or how that is configured.
+ */
+ public InnerDomAsTextHandler(String tagName) {
+ this.startTag = String.format("<%s>",tagName);
+ this.endTag = String.format("</%s>",tagName);
+ }
+
+ @Override
+ public StreamResult createUnmarshaller(ValidationEventHandler errorHandler) {
+ return new StreamResult(xmlWriter);
+ }
+
+ @Override
+ public String getElement(StreamResult rt) {
+ String xml = rt.getWriter().toString();
+ int beginIndex = xml.indexOf(startTag) + startTag.length();
+ int endIndex = xml.indexOf(endTag);
+ return xml.substring(beginIndex, endIndex);
+ }
+
+ @Override
+ public Source marshal(String n, ValidationEventHandler errorHandler) {
+ try {
+ StringReader xmlReader = new StringReader(n);
+ return new StreamSource(xmlReader);
+ } catch(Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InstallDocDomHandler.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InstallDocDomHandler.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InstallDocDomHandler.java
new file mode 100644
index 0000000..ae84c29
--- /dev/null
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/InstallDocDomHandler.java
@@ -0,0 +1,23 @@
+/*
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.eagle.metadata.utils;
+
+public class InstallDocDomHandler extends InnerDomAsTextHandler {
+ public InstallDocDomHandler() {
+ super("install");
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/UninstallDocDomHandler.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/UninstallDocDomHandler.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/UninstallDocDomHandler.java
new file mode 100644
index 0000000..c1812c4
--- /dev/null
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/utils/UninstallDocDomHandler.java
@@ -0,0 +1,23 @@
+/*
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.eagle.metadata.utils;
+
+public class UninstallDocDomHandler extends InnerDomAsTextHandler {
+ public UninstallDocDomHandler() {
+ super("uninstall");
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-server-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-server-assembly/pom.xml b/eagle-server-assembly/pom.xml
index 3bc888e..b080335 100644
--- a/eagle-server-assembly/pom.xml
+++ b/eagle-server-assembly/pom.xml
@@ -29,20 +29,11 @@
<name>eagle-server-assembly</name>
<url>http://maven.apache.org</url>
<dependencies>
- <!--<dependency>-->
- <!--<groupId>org.slf4j</groupId>-->
- <!--<artifactId>slf4j-api</artifactId>-->
- <!--</dependency>-->
<dependency>
<groupId>org.apache.eagle</groupId>
<artifactId>eagle-server</artifactId>
<version>${project.version}</version>
</dependency>
- <!--<dependency>-->
- <!--<groupId>org.apache.eagle</groupId>-->
- <!--<artifactId>eagle-topology-assembly</artifactId>-->
- <!--<version>${project.version}</version>-->
- <!--</dependency>-->
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-server/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-server/pom.xml b/eagle-server/pom.xml
index 7fe4397..37ba4f2 100644
--- a/eagle-server/pom.xml
+++ b/eagle-server/pom.xml
@@ -26,57 +26,13 @@
<version>0.5.0-incubating-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
-
<artifactId>eagle-server</artifactId>
+ <name>Eagle::Server</name>
+ <description>
+ Apache Eagle Server
+ </description>
<dependencies>
<dependency>
- <groupId>io.dropwizard</groupId>
- <artifactId>dropwizard-core</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>io.dropwizard</groupId>
- <artifactId>dropwizard-jersey</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-jersey-jaxrs</artifactId>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>com.sun.jersey</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jersey.contribs</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.typesafe</groupId>
- <artifactId>config</artifactId>
- </dependency>
- <dependency>
- <groupId>com.hubspot.dropwizard</groupId>
- <artifactId>dropwizard-guice</artifactId>
- </dependency>
- <dependency>
- <groupId>io.dropwizard</groupId>
- <artifactId>dropwizard-assets</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.eagle</groupId>
<artifactId>alert-metadata-service</artifactId>
<version>${project.version}</version>
@@ -145,25 +101,19 @@
</dependency>
<dependency>
<groupId>org.apache.eagle</groupId>
- <artifactId>eagle-app-example</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.eagle</groupId>
- <artifactId>eagle-security-hbase-auditlog</artifactId>
+ <artifactId>eagle-entity-base</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.eagle</groupId>
- <artifactId>eagle-security-hbase-web</artifactId>
- <version>${project.version}</version>
- </dependency>
<!-- Alert unit topology as an application -->
<dependency>
@@ -174,6 +124,53 @@
<dependency>
<groupId>io.dropwizard</groupId>
+ <artifactId>dropwizard-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.dropwizard</groupId>
+ <artifactId>dropwizard-jersey</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-jersey-jaxrs</artifactId>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.jersey.contribs</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.typesafe</groupId>
+ <artifactId>config</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.hubspot.dropwizard</groupId>
+ <artifactId>dropwizard-guice</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.dropwizard</groupId>
+ <artifactId>dropwizard-assets</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.dropwizard</groupId>
<artifactId>dropwizard-auth</artifactId>
</dependency>
<dependency>
@@ -216,6 +213,7 @@
<profile>
<id>dev</id>
<activation>
+ <!-- TODO: Should disable "dev" profile by default -->
<activeByDefault>true</activeByDefault>
</activation>
@@ -224,6 +222,31 @@
========================================================================================================= -->
<dependencies>
+ <!-- App: Example Application -->
+ <dependency>
+ <groupId>org.apache.eagle</groupId>
+ <artifactId>eagle-app-example</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- App: HBase Security Monitoring -->
+ <dependency>
+ <groupId>org.apache.eagle</groupId>
+ <artifactId>eagle-security-hbase-auditlog</artifactId>
+ <version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.eagle</groupId>
+ <artifactId>eagle-security-hbase-web</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
<!-- App: Oozie Auditlog monitoring -->
<dependency>
<groupId>org.apache.eagle</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-server/src/main/java/org/apache/eagle/server/ServerMain.java
----------------------------------------------------------------------
diff --git a/eagle-server/src/main/java/org/apache/eagle/server/ServerMain.java b/eagle-server/src/main/java/org/apache/eagle/server/ServerMain.java
index a944265..cdb243e 100644
--- a/eagle-server/src/main/java/org/apache/eagle/server/ServerMain.java
+++ b/eagle-server/src/main/java/org/apache/eagle/server/ServerMain.java
@@ -19,16 +19,15 @@ package org.apache.eagle.server;
public class ServerMain {
public static void main(String[] args) {
System.out.println(
- "Welcome to Apache Eagle (Incubating)\n"
- + "---------------"
- );
- System.out.println(
- "Starting Eagle Server ..."
+ "----------------------------\n"
+ + " Apache Eagle\u2122 (Incubating)\n"
+ + "----------------------------"
);
+ System.out.println("\nStarting Eagle Server ...\n");
try {
new ServerApplication().run(args);
} catch (Exception e) {
- System.err.println("Got exception: " + e.getMessage());
+ System.err.println("Oops, got error to start eagle server: " + e.getMessage());
e.printStackTrace();
System.exit(1);
}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-server/src/main/webapp/app/dev/partials/integration/site.html
----------------------------------------------------------------------
diff --git a/eagle-server/src/main/webapp/app/dev/partials/integration/site.html b/eagle-server/src/main/webapp/app/dev/partials/integration/site.html
index 6b02a70..db6b7c7 100644
--- a/eagle-server/src/main/webapp/app/dev/partials/integration/site.html
+++ b/eagle-server/src/main/webapp/app/dev/partials/integration/site.html
@@ -21,7 +21,7 @@
<div class="form-group">
<label>Site</label>
- <input type="text" class="form-control" readonly ng-model="siteName">
+ <input type="text" class="form-control" readonly ng-model="site.siteName">
</div>
<div class="form-group">
<label>Description</label>
@@ -84,7 +84,7 @@
</button>
</div>
<div class="btn-group btn-group-xs" ng-if="!app.installed">
- <button class="btn btn-primary btn-sm" ng-click="installApp(app)">Install Application</button>
+ <button class="btn btn-primary btn-sm" ng-click="installApp(app)">Install</button>
</div>
</td>
</tr>
@@ -106,9 +106,9 @@
</div>
<div class="modal-body">
<ul class="nav nav-tabs">
- <li><a href="[data-id='intro']" data-toggle="tab" data-id="introTab">Application</a></li>
- <li><a href="[data-id='install']" data-toggle="tab">Install</a></li>
- <li><a href="[data-id='uninstall']" data-toggle="tab">Uninstall</a></li>
+ <li><a href="[data-id='intro']" data-toggle="tab" data-id="introTab">Introduction</a></li>
+ <li><a href="[data-id='install']" data-toggle="tab">Installation</a></li>
+ <li><a href="[data-id='uninstall']" data-toggle="tab">Uninstallation</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane" data-id="intro">
@@ -180,10 +180,10 @@
</table>
</div>
<div class="tab-pane" data-id="install">
- <pre ng-bind-html="installHTML"></pre>
+ <div ng-bind-html="installHTML"></div>
</div>
<div class="tab-pane" data-id="uninstall">
- <pre ng-bind-html="uninstallHTML"></pre>
+ <div ng-bind-html="uninstallHTML"></div>
</div>
</div>
</div>
@@ -206,27 +206,28 @@
</div>
<div class="modal-body">
<ul class="nav nav-tabs">
- <li><a href="[data-id='guide']" data-toggle="tab" data-id="guideTab">Guide</a></li>
+ <li><a href="[data-id='guide']" data-toggle="tab" data-id="guideTab">Installation</a></li>
<li><a href="[data-id='environment']" data-toggle="tab">Environment</a></li>
<li><a href="[data-id='configuration']" data-toggle="tab" data-id="configTab">Configuration</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane" data-id="guide">
- <label>Dependencies</label>
- <ul>
- <li ng-repeat="dep in application.dependencies track by $index">
- <strong class="text-success" ng-if="!!Application.find(dep.type, site.siteId)[0]">[ Installed ]</strong>
- <strong class="text-danger" ng-if="!Application.find(dep.type, site.siteId)[0]">[
- <span class="fa fa-exclamation-triangle"></span>Require
- ]</strong>
- {{Application.findProvider(dep.type).name}}
- ({{dep.type}})
- </li>
- </ul>
+ <div ng-bind-html="installHTML"></div>
- <label>Install</label>
- <pre ng-bind-html="installHTML"></pre>
+ <div ng-if="application.dependencies.length > 0">
+ <label>Dependencies ({{application.dependencies.length}} Apps)</label>
+ <ul>
+ <li ng-repeat="dep in application.dependencies track by $index">
+ <strong class="text-success" ng-if="!!Application.find(dep.type, site.siteId)[0]">[ Installed ]</strong>
+ <strong class="text-danger" ng-if="!Application.find(dep.type, site.siteId)[0]">[
+ <span class="fa fa-exclamation-triangle"></span>Missing
+ ]</strong>
+ {{Application.findProvider(dep.type).name}}
+ ({{dep.type}})
+ </li>
+ </ul>
+ </div>
</div>
<div class="tab-pane" data-id="environment">
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/97edbbbe/eagle-server/src/main/webapp/app/dev/public/js/ctrls/integrationCtrl.js
----------------------------------------------------------------------
diff --git a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/integrationCtrl.js b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/integrationCtrl.js
index e53a11e..9b46814 100644
--- a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/integrationCtrl.js
+++ b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/integrationCtrl.js
@@ -234,6 +234,10 @@
application = application.origin;
$scope.installLock = false;
$scope.application = application;
+
+ var docs = application.docs || {install: "", uninstall: ""};
+ $scope.installHTML = $sce.trustAsHtml(docs.install);
+
$scope.tmpApp = {
mode: "CLUSTER",
jarPath: application.jarPath,