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 <h...@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 <h...@apache.org> Authored: Sun Oct 16 22:02:58 2016 +0800 Committer: Hao Chen <h...@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⢠(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,