From cadf909f781e0b48bfa9a4b2dc25a6439a3be3e3 Mon Sep 17 00:00:00 2001 From: Michael Andre Pearce Date: Tue, 4 Jul 2017 11:49:40 +0100 Subject: [PATCH] ARTEMIS-1270 Management Console - Hawtio Solution Add Hawtio to web Add Custom ActiveMQ Hawtio Branding Plugin --- .../commands/etc/bootstrap-web-settings.txt | 3 + artemis-distribution/pom.xml | 23 +- .../src/main/assembly/dep.xml | 27 + artemis-hawtio/activemq-branding/pom.xml | 260 ++ .../branding/PluginContextListener.java | 71 + .../src/main/resources/WEB-INF/web.xml | 57 + .../src/main/webapp/index.html | 27 + .../src/main/webapp/plugin/css/activemq.css | 2450 +++++++++++++++++ .../src/main/webapp/plugin/css/branding.css | 43 + .../src/main/webapp/plugin/doc/welcome.md | 15 + .../plugin/img/activemq-artemis-logo.png | Bin 0 -> 33442 bytes .../main/webapp/plugin/img/activemq-logo.png | Bin 0 -> 21424 bytes .../src/main/webapp/plugin/img/activemq.png | Bin 0 -> 16426 bytes .../img/checkbox-background-checked.png | Bin 0 -> 355 bytes .../plugin/img/checkbox-background-hover.png | Bin 0 -> 244 bytes .../webapp/plugin/img/checkbox-background.png | Bin 0 -> 228 bytes .../src/main/webapp/plugin/img/favicon.png | Bin 0 -> 5030 bytes .../webapp/plugin/img/input-background.png | Bin 0 -> 149 bytes .../plugin/img/login-screen-background.png | Bin 0 -> 5658 bytes .../webapp/plugin/img/login-screen-logo.png | Bin 0 -> 28774 bytes .../src/main/webapp/plugin/img/logo.png | Bin 0 -> 21340 bytes .../src/main/webapp/plugin/js/plugin.js | 66 + artemis-hawtio/pom.xml | 103 + .../schema/artemis-configuration.xsd | 11 +- .../config/impl/FileConfigurationTest.java | 2 +- .../activemq/artemis/ActiveMQWebLogger.java | 4 + .../artemis/component/WebServerComponent.java | 7 + pom.xml | 1 + 28 files changed, 3167 insertions(+), 3 deletions(-) create mode 100644 artemis-hawtio/activemq-branding/pom.xml create mode 100644 artemis-hawtio/activemq-branding/src/main/java/org/apache/activemq/hawtio/branding/PluginContextListener.java create mode 100644 artemis-hawtio/activemq-branding/src/main/resources/WEB-INF/web.xml create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/index.html create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/activemq.css create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/branding.css create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/doc/welcome.md create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq-artemis-logo.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq-logo.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/checkbox-background-checked.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/checkbox-background-hover.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/checkbox-background.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/favicon.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/input-background.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/login-screen-background.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/login-screen-logo.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/logo.png create mode 100644 artemis-hawtio/activemq-branding/src/main/webapp/plugin/js/plugin.js create mode 100644 artemis-hawtio/pom.xml diff --git a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/bootstrap-web-settings.txt b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/bootstrap-web-settings.txt index 06470504c3..7c19c213b2 100644 --- a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/bootstrap-web-settings.txt +++ b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/bootstrap-web-settings.txt @@ -1,4 +1,7 @@ + + + diff --git a/artemis-distribution/pom.xml b/artemis-distribution/pom.xml index d3fbc3daa8..a9285d849d 100644 --- a/artemis-distribution/pom.xml +++ b/artemis-distribution/pom.xml @@ -169,7 +169,28 @@ jolokia-war war - + + + + io.hawt + hawtio-no-slf4j + 1.5.2 + war + + + org.apache.activemq + activemq-branding + ${project.version} + war + + + org.apache.activemq + artemis-plugin + ${project.version} + war + + + commons-beanutils commons-beanutils diff --git a/artemis-distribution/src/main/assembly/dep.xml b/artemis-distribution/src/main/assembly/dep.xml index 6b3430e7d1..2d91419cd4 100644 --- a/artemis-distribution/src/main/assembly/dep.xml +++ b/artemis-distribution/src/main/assembly/dep.xml @@ -142,6 +142,33 @@ false jolokia.war + + + + + io.hawt:hawtio-no-slf4j:war + + web + false + hawtio.war + + + + org.apache.activemq:activemq-branding:war + + web + false + activemq-branding.war + + + + org.apache.activemq:artemis-plugin:war + + web + false + artemis-plugin.war + + diff --git a/artemis-hawtio/activemq-branding/pom.xml b/artemis-hawtio/activemq-branding/pom.xml new file mode 100644 index 0000000000..1363f38ee8 --- /dev/null +++ b/artemis-hawtio/activemq-branding/pom.xml @@ -0,0 +1,260 @@ + + + + + 4.0.0 + + + org.apache.activemq + artemis-hawtio-pom + 2.2.0-SNAPSHOT + + + activemq-branding + ActiveMQ Artemis HawtIO Branding + + + war + + + ${project.basedir}/../.. + + + + /activemq-branding + + + ${project.artifactId} + + + + + + + javax.servlet, + *;resolution:=optional + + + ${project.artifactId}-${project.version} + ${basedir}/target/${webapp-dir} + ${basedir}/src/main/webapp/lib + ${webapp-outdir}/app/app.js + + + + + + + + io.hawt + hawtio-plugin-mbean + + + + + javax.servlet + servlet-api + provided + + + + + org.slf4j + slf4j-api + provided + + + org.slf4j + slf4j-log4j12 + provided + + + + + + + + + + + src/main/resources + true + + **/*.xml + + + + + + + + + + maven-antrun-plugin + ${maven-antrun-plugin-version} + + + + + generate-sources + generate-sources + + run + + + + Building plugin javascript file list + + + + + + + + + Files: ${plugin-scripts} + + + + true + + + + + + + maven-resources-plugin + ${maven-resources-plugin-version} + + + + copy-resources + generate-sources + + resources + + + + + + + + org.apache.felix + maven-bundle-plugin + ${maven-bundle-plugin-version} + + + bundle-manifest + process-classes + + manifest + + + + + ${webapp-outdir}/META-INF + + jar + bundle + war + + + ${plugin-context} + ${plugin-context} + + WEB-INF/lib + *;scope=compile|runtime + true + + ${fuse.osgi.export} + ${fuse.osgi.import} + ${fuse.osgi.dynamic} + ${fuse.osgi.private.pkg} + + .,WEB-INF/classes + + ${project.description} + ${project.groupId}.${project.artifactId} + HawtIO + ${project.version} + + + + + + + org.apache.maven.plugins + maven-war-plugin + ${war-plugin-version} + + @{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@ + **/classes/OSGI-INF/** + false + + ${webapp-outdir}/META-INF/MANIFEST.MF + + + + true + src/main/resources + + **/*.* + + + log4j.properties + + + + + + + + + + + diff --git a/artemis-hawtio/activemq-branding/src/main/java/org/apache/activemq/hawtio/branding/PluginContextListener.java b/artemis-hawtio/activemq-branding/src/main/java/org/apache/activemq/hawtio/branding/PluginContextListener.java new file mode 100644 index 0000000000..a95fbab31d --- /dev/null +++ b/artemis-hawtio/activemq-branding/src/main/java/org/apache/activemq/hawtio/branding/PluginContextListener.java @@ -0,0 +1,71 @@ +/* + * 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.activemq.hawtio.branding; + +import io.hawt.web.plugin.HawtioPlugin; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.ServletContext; +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +/** + * The Plugin Context Listener used to load in the plugin + **/ +public class PluginContextListener implements ServletContextListener { + + private static final Logger LOG = LoggerFactory.getLogger(PluginContextListener.class); + + HawtioPlugin plugin = null; + + @Override + public void contextInitialized(ServletContextEvent servletContextEvent) { + + ServletContext context = servletContextEvent.getServletContext(); + + plugin = new HawtioPlugin(); + plugin.setContext((String)context.getInitParameter("plugin-context")); + plugin.setName(context.getInitParameter("plugin-name")); + plugin.setScripts(context.getInitParameter("plugin-scripts")); + plugin.setDomain(null); + + try { + plugin.init(); + } catch (Exception e) { + throw createServletException(e); + } + + LOG.info("Initialized {} plugin", plugin.getName()); + } + + @Override + public void contextDestroyed(ServletContextEvent servletContextEvent) { + try { + plugin.destroy(); + } catch (Exception e) { + throw createServletException(e); + } + + LOG.info("Destroyed {} plugin", plugin.getName()); + } + + protected RuntimeException createServletException(Exception e) { + return new RuntimeException(e); + } + +} diff --git a/artemis-hawtio/activemq-branding/src/main/resources/WEB-INF/web.xml b/artemis-hawtio/activemq-branding/src/main/resources/WEB-INF/web.xml new file mode 100644 index 0000000000..b9ba164384 --- /dev/null +++ b/artemis-hawtio/activemq-branding/src/main/resources/WEB-INF/web.xml @@ -0,0 +1,57 @@ + + + + + ActiveMQ Artemis HawtIO branding plugin + activemq artemis hawt.io branding plugin + + + Plugin's path on the server + plugin-context + ${plugin-context} + + + + Plugin's path on the server + plugin-name + ${project.artifactId} + + + + Plugin's path on the server + plugin-domain + ${plugin-domain} + + + + Plugin's path on the server + plugin-scripts + ${plugin-scripts} + + + + org.apache.activemq.hawtio.branding.PluginContextListener + + + + + diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/index.html b/artemis-hawtio/activemq-branding/src/main/webapp/index.html new file mode 100644 index 0000000000..a9d6e10fc7 --- /dev/null +++ b/artemis-hawtio/activemq-branding/src/main/webapp/index.html @@ -0,0 +1,27 @@ + + + + + + hawtio-activemq-branding + + +

hawtio :: ActiveMQ Artemis Branding

+ + diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/activemq.css b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/activemq.css new file mode 100644 index 0000000000..fc0d296f61 --- /dev/null +++ b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/activemq.css @@ -0,0 +1,2450 @@ +/* + * 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. + */ + +/* fonts */ + +@import url("../../../hawtio/app/themes/fonts/Open-Sans/stylesheet.css"); +@import url("../../../hawtio/app/themes/fonts/Droid-Sans-Mono/stylesheet.css"); + +* { + font-family: OpenSans; +} + +body { + font-family: OpenSans; +} + +#log-panel-statements li { + font-family: DroidSansMonoRegular; +} + +#log-panel-statements li pre span { + font-family: DroidSansMonoRegular; +} + +div.log-stack-trace { + font-family: DroidSansMonoRegular; +} + +div.log-stack-trace p { + font-family: DroidSansMonoRegular; +} + +.log-stack-trace > dd > ul > li > .stack-line * { + font-family: DroidSansMonoRegular; +} + +pre.stack-line { + font-family: DroidSansMonoRegular; + font-size: 12px; +} + +div.stack-line { + font-family: DroidSansMonoRegular; + font-size: 12px; +} + +.log-table *:not('.icon*') { + font-family: DroidSansMonoRegular; +} + +.log-table > li > div > div { + font-family: DroidSansMonoRegular; +} + +fs-donut svg g text.units { + font-family: DroidSansMonoRegular; +} + +/* colors */ +#log-panel { + background: inherit; + background-color: none; + border: 1px solid #d4d4d4; + transition: bottom 1s ease-in-out; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + opacity: 0.8; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +#log-panel #log-panel-statements { + background: #252525; +} + +#log-panel-statements li pre { + color: white; + background-color: inherit; + border: none; +} + +#log-panel-statements li:hover { + background: #111111; +} + +#log-panel-statements li.DEBUG { + color: dodgerblue; +} + +#log-panel-statements li.INFO { + color: white; +} + +#log-panel-statements li.WARN { + color: yellow; +} + +#log-panel-statements li.ERROR { + color: red; +} + +#log-panel #close { + background: #131313; + border-top: 1px solid #222222; + box-shadow: 0 1px 13px rgba(0, 0, 0, 0.1) inset; + color: #eeeeee; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +#log-panel #copy { + background: inherit; + color: white; +} + +ul.dynatree-container { + background: inherit; +} +ul.dynatree-container li { + background: inherit; +} + +.axis line { + stroke: #000; +} + +.axis.top { + border-bottom: 1px solid #d4d4d4; +} + +.axis.bottom { + border-top: 1px solid #d4d4d4; +} + +.horizon { + border-bottom: solid 1px #eeeeee; +} + +.horizon:last-child { + border-bottom: none; +} + +.horizon + .horizon { + border-top: none; +} + +.horizon .title, +.horizon .value { + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.line { + background: #000; + opacity: .2; +} + +.CodeMirror { + border: 1px solid #d4d4d4; +} + +i.expandable-indicator { + color: #666; +} + +span.dynatree-expander { + color: #728271; +} + +span.dynatree-icon { + color: #EECA7C; +} +span:not(.dynatree-has-children) .dynatree-icon:before { + color: gray; +} + +.table-hover tbody tr:hover td.details { + background-color: #ffffff; +} + +tr td.focus { + background-color: #d9edf7; +} + +.table-hover tbody tr:hover td.focus { + background-color: #d9edf7; +} + +.table-striped tbody tr:nth-child(odd) td.focus { + background-color: #d9edf7; +} +/* +.red { + color: red !important; +} + +.orange { + color: orange !important; +} + +.yellow { + color: yellow !important; +} + +.green { + color: green !important; +} + +.blue { + color: dodgerblue !important; +} +*/ + +.gridster ul#widgets .gs_w { + border: 1px solid #d4d4d4; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + background: #ffffff; + border-radius: 6px; +} +.gridster ul#widgets .gs_w.dragging { + box-shadow: 0 1px 13px rgba(0, 0, 0, 0.12); +} +.gridster ul#widgets .preview-holder { + border-radius: 6px; + border: 1px solid #d4d4d4; + box-shadow: 0 1px 13px rgba(0, 0, 0, 0.1) inset; +} + +.widget-title { + background-color: #FAFAFA; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#F2F2F2', GradientType=0); + border-bottom: 1px solid #d4d4d4; + color: #777777; + text-shadow: 0 1px 0 #FFFFFF; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} + +.widget-title:hover { + color: #333333; + text-shadow: 0 1px 0 #FFFFFF; + border-bottom: 1px solid #d4d4d4; + background-image: -moz-linear-gradient(top, #fafafa, #f0f0f0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa), to(#f0f0f0)); + background-image: -webkit-linear-gradient(top, #fafafa, #f0f0f0); + background-image: -o-linear-gradient(top, #fafafa, #f0f0f0); + background-image: linear-gradient(to bottom, #fafafa, #f0f0f0); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa', endColorstr='#f0f0f0', GradientType=0); +} + +.ep[ng-show=editing] { + background: white; + border-bottom: 1px solid #d4d4d4; + border: 1px solid #cecdcd; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.ep > form > fieldset > input { + border: 0; +} + +.ngFooterPanel { + background: inherit; +} +.ngTopPanel { + background: inherit; +} +.ngGrid { + background: inherit; +} + +.ngCellText:hover i:before { + text-shadow: 0px 0px 8px #969696; +} + +.ACTIVE:before { + color: #777777; +} +.RESOLVED:before { + +} +.STARTING:before { + +} +.STARTING { + +} +.STOPPING:before { + +} +.STOPPING { + +} +.UNINSTALLED:before { + +} +.INSTALLED:before { + +} +.table-bordered { + border: none; + border-radius: 0px; +} +.table-bordered thead:first-child tr:first-child th:first-child, +.table-bordered tbody:first-child tr:first-child td:first-child { + border-radius: 0px; + border-left: none; +} +.table-bordered th { + border-bottom: 1px solid #d4d4d4; +} +.table-bordered th, +.table-bordered td { + border-left: none; + border-top: none; + border-right: 1px solid #d4d4d4; +} +.table-bordered th:last-child, +.table-bordered td:last-child { + border-left: none; + border-top: none; + border-right: none; +} +table.table thead .sorting { + background: inherit; +} +/* +table.table thead .sorting_asc:after { + background: url('../img/datatable/sort_asc.png') no-repeat top center; +} +table.table thead .sorting_desc:after { + background: url('../img/datatable/sort_desc.png') no-repeat top center; +} +*/ + +div#main div ul.nav { + border-radius: 0 0 4px 4px; + border: 1px solid #d4d4d4; + border-top: 1px transparent; + background-color: #FAFAFA; + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar .btn-navbar span { + color: #777777; + text-shadow: 0 1px 0 #FFFFFF; +} + +div#main div ul.nav li.active a, div#main div ul.nav li.active span.a { + border: 1px; + border-radius: 2px; + background-color: #E5E5E5; + box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125) inset; + text-shadow: 0 1px 0 #FFFFFF; +} + +div#main div ul.nav li.active a:hover, div#main div ul.nav li.active span.a:hover { + border: 1px; + border-radius: 2px; + background-color: #E5E5E5; + box-shadow: 0 3px 8px rgba(0, 0, 0, 0.125) inset; + text-shadow: 0 1px 0 #FFFFFF; +} + +div#main div ul.nav li a, div#main div ul.nav li span.a { + border: 1px; + border-radius: 2px; + background: inherit; + color: #777777; + text-shadow: 0 1px 0 #FFFFFF; +} + +div#main div ul.nav li div.separator { + padding: 6px 12px; + line-height: 20px; +} + +div#main div ul.nav li a:hover { + border: 1px; + border-radius: 2px; + background: inherit; + color: #333333; + text-shadow: 0 1px 0 #FFFFFF; +} + +#main div div div section .tabbable .nav.nav-tabs { + border-radius: 0 0 4px 4px; + border: 1px solid #d4d4d4; + border-top: 1px transparent; + background-color: #FAFAFA; + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +#main div div div .nav.nav-tabs:not(.connected) { + border-radius: 4px; + border: 1px solid #d4d4d4; +} + +.logbar { + background: white; + border-bottom: 1px solid #d4d4d4; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border-left: 1px solid #d4d4d4; + border-right: 1px solid #d4d4d4; + top: 90px; +} + +.ui-resizable-se { + height: 10px; + width: 10px; + margin-right: 5px; + margin-bottom: 5px; + background: inherit; + box-shadow: -3px -3px 10px rgba(0, 0, 0, 0.1) inset; + font-size: 32px; + z-index: 50; + position: absolute; + display: block; + right: 0px; + bottom: 0px; + border-radius: 6px; + border: 1px solid #d4d4d4; + cursor: se-resize; +} + +.innerDetails { + box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.1) inset; + border: 1px solid #d4d4d4; + display: none; + background: #ffffff; +} + +.odd { + background-color: #f9f9f9; +} + +#main .logbar[ng-controller='Wiki.NavBarController'] .wiki.logbar-container .nav.nav-tabs, +#main .logbar-wiki .wiki.logbar-container .nav.nav-tabs { + border: none; + border-radius: 0; + box-shadow: none; + background: inherit; +} + +.help-display img:not(.no-shadow) { + box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); +} + +.text-shadowed { + text-shadow: 1px 1px rgba(0, 0, 0, 0.5); +} + +.bundle-item-details { + background: white; +} + +.bundle-item > a { + border-radius: 4px; + border: 1px solid #d4d4d4; + display: block; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + background: #ffffff; + background: -moz-linear-gradient(top, #ffffff 0%, #ffffff 34%, #f4f4f4 76%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(34%, #ffffff), color-stop(76%, #f4f4f4)); + background: -webkit-linear-gradient(top, #ffffff 0%, #ffffff 34%, #f4f4f4 76%); + background: -o-linear-gradient(top, #ffffff 0%, #ffffff 34%, #f4f4f4 76%); + background: -ms-linear-gradient(top, #ffffff 0%, #ffffff 34%, #f4f4f4 76%); + background: linear-gradient(to bottom, #ffffff 0%, #ffffff 34%, #f4f4f4 76%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f4f4f4', GradientType=0); +} + +.bundle-item.in-selected-repository > a { + background: #ddeeff; + background: -moz-linear-gradient(top, #ddeeff 0%, #ddeeff 34%, #e3e3f4 76%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ddeeff), color-stop(34%, #ddeeff), color-stop(76%, #e3e3f4)); + background: -webkit-linear-gradient(top, #ddeeff 0%, #ddeeff 34%, #e3e3f4 76%); + background: -o-linear-gradient(top, #ddeeff 0%, #ddeeff 34%, #e3e3f4 76%); + background: -ms-linear-gradient(top, #ddeeff 0%, #ddeeff 34%, #e3e3f4 76%); + background: linear-gradient(to bottom, #ddeeff 0%, #ddeeff 34%, #e3e3f4 76%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ddeeff', endColorstr='#e3e3f4', GradientType=0); +} + +.bundle-item > a:hover { + text-decoration: none; +} + +.bundle-item a span { + background: inherit; + border-radius: 4px; + border: 0px; + color: #404040; + text-shadow: none; +} + +.bundle-item a span.badge::before { + border-radius: 3px; + background: #737373; +} + +.bundle-item a span.badge-success::before { + background: #1cd11d; + box-shadow: inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5), 0px 0px 4px 1px rgba(34, 203, 1, 0.49); +} + +.bundle-item a span.badge-inverse::before { + background: #737373; + box-shadow: inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5); +} + +.bundle-item a span.badge-important::before { + background: #ee0002; + box-shadow: inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5), 0px 0px 4px 1px rgba(195, 6, 0, 0.47); +} + +.bundle-item a span.badge-info::before { + background: #3a87ad; + box-shadow: inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5), 0px 0px 4px 1px rgba(45, 105, 135, 0.47); +} + +.bundle-item a span.badge-warning::before { + background: #f89406; + box-shadow: inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5), 0px 0px 4px 1px rgba(198, 118, 5, 0.47); +} + +.bundle-item a.toggle-action { + border-radius: 0; + border: none; + opacity: 0.2; + color: inherit; + box-shadow: none; +} + +.bundle-item a.toggle-action .icon-power-off { + color: orange; +} + +.bundle-item a.toggle-action .icon-play-circle { + color: green; +} + +div.hawtio-form-tabs div.tab-content { + border: 1px solid #d4d4d4; + border-radius: 4px; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +div.hawtio-form-tabs ul.nav-tabs { + border: none !important; + border-radius: 0 !important; + box-shadow: none !important; + background: inherit; + background-color: inherit !important; + background-image: inherit !important; + border-top: none !important; +} + +div.hawtio-form-tabs ul.nav-tabs li { + border: 1px solid #d4d4d4 !important; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + background-color: inherit; + box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.08) !important; +} + +div.hawtio-form-tabs ul.nav-tabs li.active { + border-bottom: 1px solid white !important; + background-color: white; + box-shadow: 0 -10px 10px -10px rgba(0, 0, 0, 0.1) !important; +} + +div.hawtio-form-tabs ul.nav-tabs li.active a { + box-shadow: none !important; + text-shadow: none !important; + background-color: inherit !important; +} + + +.slideout { + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + border: 1px solid #d4d4d4; + background: white; +} + +.slideout > .slideout-content { + box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.1); + border: 1px solid white; + background: white; +} + +.slideout.right { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.slideout.left { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.slideout.left > .slideout-content { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.slideout.right > .slideout-content { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.slideout > .slideout-content > .slideout-body { + background: white; +} + +.slideout .slideout-title a { + color: #d4d4d4; +} + +.ngHeaderCell:last-child { + border-right: 1px solid rgba(0, 0, 0, 0) !important; +} + +.color-picker .wrapper { + border: 1px solid #d4d4d4; + border-radius: 4px; +} + +.selected-color { + width: 1em; + height: 1em; + border-radius: 4px; + padding: 4px; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.color-picker-popout { + transition: opacity 0.25s ease-in-out; + background: white; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0); +} + +.popout-open { + border: 1px solid #d4d4d4; +} + +.color-picker div table tr td div { + border: 3px solid rgba(0, 0, 0, 0); + border-radius: 4px; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.color-picker div table tr td div.color-picker-selected { + border-color: #474747; +} + +.clickable { + color: #787878; +} + +.canvas { + box-shadow: inset 0 0 10px rgba(0, 0, 0, 0); +} + +.container-group-header { + background: #fdfdfd; + border-bottom: 1px solid #d4d4d4; +} + +.box { + background: none repeat scroll 0 0 white; + border-top: 1px solid #d4d4d4; +} + +.container-group-header:not([style]) + div > .box { + border-top: 1px solid transparent; +} + +.selected, +.box.selected { + background-color: #AEAEAE !important; +} + +.box.selected .box-right i { + text-shadow: none; +} + +.box > .box-left > div { + border-radius: 4px; +} + +.section-header { + background: none; + background-color: transparent; + background-image: none; +} + +.section-header .dropdown-menu { + border-top: 1px solid #d4d4d4; + +} + +.section-controls > a, +.section-controls > span > span > span > span > span > .hawtio-dropdown { + color: #4d5258; +} + +.section-controls > a.nav-danger { + color: IndianRed !important; +} + +.section-controls > a.nav-danger:hover { + text-shadow: rgba(205, 92, 92, 0.6) 0 0 20px !important; +} + +td.deleting { + background-color: IndianRed !important; +} + +td.adding { + background-color: Aquamarine !important; +} + +.input-prepend .progress { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +.login-wrapper { + background-color: rgba(255, 168, 27, 0.3); + box-shadow: rgba(255, 168, 27, 0.2) 0 0 30px 10px; +} + +.login-wrapper form { + background-color: rgba(255, 255, 255, 0.2); + box-shadow: inset rgba(255, 168, 27, 0.2) 0 0 30px 10px; +} + +.login-form form fieldset .control-group label { + color: white; +} + +.login-logo { + color: white; +} + +/** highlight required fields which have no focus */ +input.ng-invalid, +textarea.ng-invalid, +select.ng-invalid { + border-color: #e5e971; + -webkit-box-shadow: 0 0 6px #eff898; + -moz-box-shadow: 0 0 6px #eff898; + box-shadow: 0 0 6px #eff898; +} + +/** Use bigger and darker border on checkboxes as its hard to see since they already have a shadow */ +input[type="checkbox"].ng-invalid { + -webkit-box-shadow: 0 0 12px #e5e971; + -moz-box-shadow: 0 0 12px #e5e971; + box-shadow: 0 0 12px #e5e971; +} + +.profile-details div .tab-pane ul li:nth-child(even):not(.add) { + background-color: #f3f3f3; +} + +.fabric-page-header { + border-bottom: 1px solid #d4d4d4; +} + +pre.stack-line { + color: #333333; + background: inherit; + border: none; + border-radius: 0; +} + +.directive-example { + border: 1px solid #d4d4d4; + border-radius: 4px; +} + +div#main div ul.nav li a.nav-primary.active { + color: rgba(255, 255, 255, 0.75); +} + +div#main div ul.nav li a.nav-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + background-color: #0044cc; +} + +div#main div ul.nav li a.nav-primary:hover, +div#main div ul.nav li a.nav-primary:active, +div#main div ul.nav li a.nav-primary.active, +div#main div ul.nav li a.nav-primary.disabled, +div#main div ul.nav li a.nav-primary[disabled] { + color: #ffffff; + background-color: #0044cc; +} + +div#main div ul.nav li a.nav-primary:active, +div#main div ul.nav li a.nav-primary.active { + background-color: #003399 \9; +} + +div#main div ul.nav li a.nav-primary .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.main-nav-upper { + background-image: none; + background-color: white; +} + +.main-nav-upper .nav li a { + border-radius: 0; +} + +.file-list-toolbar .nav { + border: none !important; + border-bottom: 1px solid #d4d4d4 !important; + border-radius: 0 !important; + background: inherit !important; + box-shadow: none !important; +} + +.file-list-toolbar .nav li a { + background: inherit !important; +} + +.file-icon i.icon-folder-close { + color: #EECA7C; +} + +.status-icon { + color: inherit; +} + +.active-profile-icon { + color: green !important; +} + +.mq-profile-icon { + color: green !important; +} + +i.mq-master { + color: orange; +} + +.mq-broker-rectangle, .mq-container-rectangle { + + border-left-width: 10px; + border-right-width: 10px; + border-top-width: 10px; + + color: #333333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #e6e6e6; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border: 1px solid #bbbbbb; + *border: 0; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *margin-left: .3em; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); +} + +.mq-group-rectangle:nth-child(odd) .mq-group-rectangle-label { + background-color: #f3f3f3; +} + +.mq-group-rectangle-label { + border-radius: 4px; + background-color: #f9f9f9; + border: 1px solid #d4d4d4; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.mq-profile-rectangle { + border: 1px solid #d4d4d4; + border-radius: 4px; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.mq-container-rectangle { + border-radius: 4px; +} + +.mq-container-rectangle.master { + background-color: #DFFFB9; + background-image: -moz-linear-gradient(top, #efffdd, #CCFF99); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#efffdd), to(#CCFF99)); + background-image: -webkit-linear-gradient(top, #efffdd, #CCFF99); + background-image: -o-linear-gradient(top, #efffdd, #CCFF99); + background-image: linear-gradient(to bottom, #efffdd, #CCFF99); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffefffdd', endColorstr='#ffCCFF99', GradientType=0); + border-color: #CCFF99 #CCFF99 #CCFF99; + *background-color: #CCFF99; +} + +.mq-broker-rectangle { + background-color: #bbddff; + background-image: -moz-linear-gradient(top, #bbddff, #88bbdd); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bbddff), to(#88bbdd)); + background-image: -webkit-linear-gradient(top, #bbddff, #88bbdd); + background-image: -o-linear-gradient(top, #bbddff, #88bbdd); + background-image: linear-gradient(to bottom, #bbddff, #88bbdd); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff88bbdd', GradientType=0); + border-color: #88bbdd #88bbdd #002a80; + *background-color: #88bbdd; +} + +a.dashboard-link { + color: black; +} + +.provision-list ul li:nth-child(even) { + background-color: #f3f3f3; +} + +.zebra-list > li:nth-child(even), +ol.zebra-list > li:nth-child(even):before { + background-color: #f3f3f3; +} + +.add-link { + background: white; + border-radius: 4px; + border: 1px solid #d4d4d4; +} + +.log-table > .table-row.selected:before { + color: green; +} + +.log-table > li:nth-child(odd) > div > div:not(.stack-line) { + background-color: white; +} + +.log-table > li:nth-child(even) > div > div:not(.stack-line) { + background-color: #f3f3f3; +} + +.log-table > li > div > div:nth-child(2) { + border-right: 1px solid #d4d4d4; +} + +.log-table > li > div > div:nth-child(3) { + border-right: 1px solid #d4d4d4; +} + +.log-table > li > div > div:nth-child(4) { + border-right: 1px solid #d4d4d4; +} + +.log-table > li > div > div:nth-child(6) { + background: white; +} + +.log-info-panel { + background: white; + border-radius: 4px; + border: 1px solid #d4d4d4; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.log-info-panel > .log-info-panel-frame > .log-info-panel-header { + border-bottom: 1px solid #d4d4d4; +} + +.log-info-panel > .log-info-panel-frame > .log-info-panel-body > .row-fluid > span { + margin-right: 7px; + white-space: nowrap; +} + +.ex-node { + border-radius: 4px; + border: 1px solid #d4d4d4; + background: white; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.dozer-mapping-node { + border: 1px solid #f3f3f3; + border-radius: 4px; + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.wiki-grid { + border-right: 1px solid #d4d4d4; +} + +.wiki-file-list-up { + color: black; +} + +.fabric-page-header.features { + margin-top: 10px; +} + +.profile-selector-name a:not(.profile-info) { + color: #333333; +} + +.profile-selector-name.abstract { + color: #888888; +} + +.file-name { + color: #333333; +} + +i.expandable-indicator.folder { + color: #EECA7C; +} + +.camel-canvas { + border: 1px solid #d4d4d4; + border-radius: 4px; + box-shadow: inset 0 1px 13px rgba(0, 0, 0, 0.1); + background-image: url('../img/img-noise-600x600.png') +} + +/* + * jquery.tocify.css 1.8.0 + * Author: @gregfranko + */ +/* The Table of Contents container element */ +.tocify { + /* top works for the wiki, may need customization + elsewhere */ + border: 1px solid #ccc; + webkit-border-radius: 6px; + moz-border-radius: 6px; + border-radius: 6px; + background-color: white; +} + +.tocify li a { + border-top: 1px solid rgba(0, 0, 0, 0); + border-bottom: 1px solid rgba(0, 0, 0, 0); +} + +.tocify li a:hover { + background-color: #FAFAFA; + border-top: 1px solid rgba(0, 0, 0, 0); + border-bottom: 1px solid rgba(0, 0, 0, 0); +} + +.tocify li a.active { + border-top: 1px solid #d4d4d4; + border-bottom: 1px solid #d4d4d4; + background-color: #FAFAFA; +} + +.health-displays .health-display { + border-radius: 4px; + border: 1px solid #d4d4d4; +} + +.health-details { + background: white; +} + +.health-status { + background: white; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +.health-message-wrap { + border-top: 1px solid #d4d4d4; +} + +.health-details-wrap dl { + border-bottom: 1px solid #f3f3f3; +} + +.health-details-wrap table tr { + border-bottom: 1px solid #f3f3f3; +} + +.health-display-title { + border-radius: 4px; + background-color: #eaeaea; + border: 1px solid #d3d3d3; +} + +.health-display-title.ok { + background-color: lightgreen; +} + +.health-display-title.warning { + background-color: darkorange; +} + +.toast.toast-warning * { + color: black; +} + +.hawtio-toc .panel-title { + border: 1px solid #d4d4d4; + border-radius: 4px; +} + +.hawtio-toc .panel-title a { + border-radius: 3px; + background: #cceeff; +} + +.camel-canvas-endpoint svg circle { + fill: #346789; +} + +tr.selected, +tr.selected .ngCell, +tr.selected .ngCellText a, +.table-striped tbody tr.selected:nth-child(odd) td { + background-color: #c9dde1; +} + +input.ng-invalid-pattern { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +input.ng-invalid-pattern:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +.runnable { + color: green; +} + +.timed-waiting { + color: orange; +} + +.waiting, +.darkgray { + color: darkgray; +} + +.blocked { + color: red; +} + +strong.new, +.lightgreen { + color: lightgreen; +} + +.terminated, +.darkred { + color: darkred; +} + +.monitor-indicator { + border-radius: 6px; +} + +.monitor-indicator.true { + background: #1cd11d; + box-shadow: inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5), 0px 0px 4px 1px rgba(34, 203, 1, 0.49); +} + +.monitor-indicator.false { + background: #737373; + box-shadow: inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5); +} + +.table-header { + color: black; +} + +.table-header:hover { + background-color: #f3f3f3; +} + +.table-header.asc, +.table-header.desc { + background-color: #f3f3f3; +} + +.dropdown-menu { + border-radius: 0; +} + +.main-nav-upper .dropdown-menu { + border-radius: 0; +} + +.main-nav-lower .dropdown-menu { + border-top: none; +} + +.submenu-caret:before { + color: #53595f; +} + +.hawtio-dropdown > ul > li.item:hover { + text-decoration: none; + color: #ffffff; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.hawtio-dropdown > ul > li:hover > span > ul.sub-menu > li { + color: #333333; +} + +.dropdown-menu .sub-menu { + border-top: 1px solid #d3d3d3; +} + +.caret:before { + color: #53595f; +} + +.hawtio-breadcrumb .caret { + border: 0; + width: 17px; + margin-right: 2px; + margin-left: 0; +} + +.hawtio-breadcrumb .caret:before { + color: rgba(255, 255, 255, 0.8); + text-shadow: 2px 0 2px rgba(0, 0, 0, 0.3); +} + +.component { + background-color: white; + color: black; +} + +.window, +.node > rect { + stroke-width: 2px; + stroke: #346789; + border: 2px solid #346789; + box-shadow: 2px 2px 19px #e0e0e0; + -o-box-shadow: 2px 2px 19px #e0e0e0; + -webkit-box-shadow: 2px 2px 19px #e0e0e0; + -moz-box-shadow: 2px 2px 19px #e0e0e0; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.window-inner.from, +.node > .from { + background-color: lightsteelblue; + fill: lightsteelblue; +} + +.window-inner.choice, +.node > .choice { + background-color: lightblue; + fill: lightblue; +} + +.window-inner.when, +.node > .when { + background-color: lightgreen; + fill: lightgreen; +} + +.window-inner.otherwise, +.node > .otherwise { + background-color: lightgreen; + fill: lightgreen; +} + +.window-inner.to, +.node > .to { + background-color: lightsteelblue; + fill: lightsteelblue; +} + +.window-inner.log, +.node > .log { + background-color: lightcyan; + fill: lightcyan; +} + +.window-inner.setBody, +.node > .setBody { + background-color: #d3d3d3; + fill: #d3d3d3; +} + +.window-inner.onException, +.node > .onException { + background-color: lightpink; + fill: lightpink; +} + +.window-inner.delay, +.node > .delay { + background-color: lightgrey; + fill: lightgrey; +} + +.window-inner.bean, +.node > .bean { + background-color: mediumaquamarine; + fill: mediumaquamarine; +} + +.window:hover { + border-color: #5d94a6; + background-color: #ffffa0; +} + +.window.selected { + background-color: #f0f0a0; +} + +.window.selected > .window-inner { + background: inherit; +} + +img.nodeIcon:hover { + opacity: 0.6; + box-shadow: 2px 2px 19px #a0a0a0; + background-color: #a0a0a0; +} + +.hl { + border: 3px solid red; +} + +.discovery > li > div:last-child > div > i, +.discovery > li > .lock > i { + color: lightgreen; +} + +.discovery > li > .lock > i { + color: lightgrey; +} + +html, body { + font-size: 13.5px; +} + +small { + font-size: 11.5px; +} + +h1, h2, h3, h4, h5, h6 { + letter-spacing: -1px; + font-weight: normal; + font-family: "Overpass", sans-serif; +} + +a { + color: #6C2D58; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +#tree-ctrl { + top: 0; +} + + +#main { + margin-top: 90px!important; +} + +#main-nav { + max-height: 90px !important; +} + +#main-nav .main-nav-upper .nav { + max-height: 45px !important; +} + +#main-nav .main-nav-upper .nav li { + max-height: 45px !important; +} + +#main-nav .main-nav-upper .nav li a { + max-height: 45px !important; +} + +#main-nav .main-nav-upper .nav li a i.fixme:before { + top: 0 !important; +} + + +#main-nav > .navbar-inner { + background-color: inherit; + background-image: linear-gradient(to bottom, #3f4349 0%, #464c51 100%); +} + +.navbar-inner { + height: auto; + min-height: 0; +} + +.main-nav-upper { + height: auto; + min-height: 0; +} + +#main-nav > .main-nav-upper { + filter: none; + border-top: 3px solid #6C2D58; + background: #B2577A !important; + border-bottom: none; + height: 44px !important; + min-height: 44px !important; + box-shadow: none; +} + +#main-nav > .main-nav-lower { + border-top: 1px solid #53565b; + box-shadow: none; + background: #3f4349; + + background: -moz-linear-gradient(top, #3f4349 0%, #464c51 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3f4349), color-stop(100%,#464c51)); + background: -webkit-linear-gradient(top, #3f4349 0%,#464c51 100%); + background: -o-linear-gradient(top, #3f4349 0%,#464c51 100%); + background: -ms-linear-gradient(top, #3f4349 0%,#464c51 100%); + background: linear-gradient(to bottom, #3f4349 0%,#464c51 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3f4349', endColorstr='#464c51',GradientType=0 ); + + padding: 0px; + height: 42px; + max-height: 42px; + min-height: 42px; + border-bottom: none; + +} + +/* +.prefs > .row-fluid > .tabbable > .nav.nav-tabs { + margin-top: 0 !important; + border-radius: 0 !important; + border: none !important; + max-height: 45px !important; + min-height: 45px !important; + border-bottom: 1px solid #cecdcd !important; +} +*/ + +.prefs > .row-fluid > .tabbable > .nav.nav-tabs > li { + margin-bottom: 0px; + margin-top: 0px; padding-left: 20px; + padding-right: 20px; +} + +.prefs > .row-fluid > .tabbable > .nav.nav-tabs > li > a { + background-image: none; + background: #f6f6f6; + color: #4d5258; + border-radius: 0; + padding-left: 0px; + padding-right: 0px; + padding-top: 6px; + padding-bottom: 5px; +} + +.prefs > .row-fluid > .tabbable > .nav.nav-tabs > li.active a { + border: none; + border-bottom: 1px solid #6C2D58 !important; +} + +#main-nav > .navbar-inner.main-nav-upper > .container > .pull-left > .brand { + color: #fff; + text-shadow: none; +} + +#main-nav > .navbar-inner.main-nav-lower .nav { + width: 100%; + float: none; + position: relative; + top: -1px; + height: 42px; + background: inherit; + background-color: inherit; + background-image: inherit; + background-image: linear-gradient(to bottom, #474d52, #3f4349 100%); + border-top: 1px solid #565b60; +} + +.main-nav-lower > .container > ul > .dropdown.overflow { + margin-right: 0; +} + +@media (max-width: 767px) { + .navbar .container { + margin-left: 10px; + margin-right: 10px; + } + + .main-nav-lower > .container > ul > .dropdown.overflow { + margin-right: 45px; + } + +} + +.main-nav-lower > .container { + padding-left: 0 !important; + padding-right: 0 !important; +} + +#main-nav > .main-nav-lower > .container .nav > li.overflow > ul > li > a { + font-weight: normal; + color: #4D5258; +} + +#main-nav > .main-nav-lower .nav > li.overflow.open > a { + color: #ffffff; + text-shadow: none; + border-top: 1px solid #949699; + background-color: inherit; + background-image: linear-gradient(to bottom, #72757a 0%, #64686C 100%); + font-weight: bold; + border-bottom: none; +} + +.dropdown-menu { + border-radius: 0; +} + +#main-nav > .navbar-inner .nav > li > a { + margin-top: -1px; + border-top: 1px solid #53565B; + color: #ffffff; + text-shadow: none; + height: 32px; + padding-bottom: 0; +} + +#main-nav > .navbar-inner .nav > li:hover > a { + color: #ffffff; + border-top: 1px solid #949699; + text-shadow: 1px 0 0 white; + background-color: inherit; + background-image: linear-gradient(to bottom, #5c6165, #4b5053 100%); +} + + +#main-nav .navbar-inner .nav li.active a { + color: #ffffff; + text-shadow: none; + border-top: 1px solid #949699; + background-color: inherit; + background-image: linear-gradient(to bottom, #72757a 0%, #64686C 100%); + font-weight: bold; +} + +#main-nav .navbar-inner.main-nav-upper .nav { + +} + +#main-nav .navbar-inner.main-nav-upper .nav > li { + height: 44px; + border-left: 1px solid #585b5e; +} + +#main-nav .navbar-inner.main-nav-upper .nav > li > a { + position: relative; + top: 1px; + padding-top: 1px; + border-radius: 0; + border: none; + height: 44px; + max-height: 44px; +} + +#main-nav .navbar-inner.main-nav-upper .nav > li:hover a { + +} + +#main-nav .navbar-inner.main-nav-upper .nav li a i:before { + position: relative; + top: 2px; +} + +#main-nav .navbar-inner.main-nav-upper .nav li.dropdown a.dropdown-toggle span:not(.caret) { + display: inline-block; + margin-top: 2px; +} + +#main-nav .navbar-inner.main-nav-upper .nav li.dropdown a.dropdown-toggle span.caret { + margin-top: 10px; + margin-left: 1px; +} + +#main-nav .main-nav-upper .nav li.dropdown.open a.dropdown-toggle { + color: #ffffff !important; + text-shadow: none; + background-color: inherit; + background-image: linear-gradient(to bottom, #72757a 0%, #64686C 100%); + border-bottom-color: inherit !important; +} + +#main-nav .main-nav-upper .nav li.dropdown .dropdown-menu li { + border: none !important; +} + +#main-nav .main-nav-upper .nav li.dropdown .dropdown-menu li a { + color: #4D5258; + border: none !important; + padding-top: 2px !important; + height: 22px; +} + +#main-nav .main-nav-upper .nav li.dropdown .dropdown-menu li:hover a { + border: none; + color: white; +} + +#main-nav .navbar-inner.main-nav-upper .nav li.active a { + border-top: none; +} + +.navbar .nav > li > .dropdown-menu:before { + display: none; +} + +.navbar .nav > li > .dropdown-menu:after { + display: none; +} + +#main.container-fluid { + padding-left: 0; + padding-right: 0; +} + +#main.container-fluid div .nav { + background-image: none; + background: #f6f6f6; + border-radius: 0; + line-height: 18px; + padding: 0; + max-height: 45px; + min-height: 45px; + border-top: none; + border-bottom: 1px solid #cecdcd; +} + +#main.container-fluid div .nav li { + margin-bottom: 0; + margin-top: 0; + padding-left: 0; + padding-right: 0; +} + +#main.container-fluid div .nav li a { + background-image: none; + background: #f6f6f6; + color: #4d5258; + border-radius: 0; + border: 1px solid inherit; + padding: 6px 20px 5px 20px; +} + +#main.container-fluid div .nav li a:hover { + border-radius: 0; + padding-top: 6px; + padding-bottom: 5px; +} + +#main.container-fluid div .nav li.overflow a:hover { + background-image: none; + background-color: #6C2D58; + color: #4d5258 +} + + + +div#main div ul.nav li a:hover[disabled] { + border: 1px; + border-radius: 2px; + background: inherit; + color: #4d5258; + cursor: default; +} + +#main.container-fluid div .nav li.active a { + border-radius: 0; + background-color: inherit; + background-image: none; + color: #6C2D58; + box-shadow: none; + border-bottom: 1px solid #6C2D58; +} + +#main.container-fluid div .nav li.active a:hover { + border-radius: 0; + background-color: inherit; + background-image: none; + color: #6C2D58; + box-shadow: none; + border-bottom: 1px solid #6C2D58; + padding-top: 6px; + padding-bottom: 5px; +} + +/* +div[ng-include][src='viewPartial'] .row-fluid { + padding-left: 10px; + padding-right: 10px; + width: auto; +} +*/ + +.nav li a { + cursor: pointer; +} + + +select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input { + font-size: 13.5px; + border-radius: 0; + /* + color: #555555; + display: inline-block; + font-size: 14px; + height: 20px; + line-height: 20px; + margin-bottom: 10px; + padding: 4px 6px; + vertical-align: middle; + */ +} + +div[ng-controller='Core.LoginController']:after { + position: absolute; + top: 50px; + right: 64px; + content: url('../img/login-screen-logo.png'); +} + + +.login-wrapper { + top: inherit; + border-radius: 0; + box-shadow: none; + left: 0; + position: absolute; + bottom: 15%; + padding-left: 0; + width: 100%; + min-width: 850px; + border-top: 1px rgba(255, 255, 255, 0.05) solid; + border-bottom: 1px rgba(255, 255, 255, 0.05) solid; + background-color: rgba(178, 97, 130, 0.75); + +} + +.login-logo>img { + height: 80px; +} + +.login-logo { + top: -100px; + /* with no app title */ + /* left: 183px; */ + left: 45px; + width: 700px; +} + +.login-logo span { + position: relative; + top: 2px; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.login-wrapper form { + background: inherit; + border-radius: 0; + box-shadow: none; + padding: 0; + margin: 0; +} + +.login-wrapper form fieldset { + padding-top: 40px; + padding-bottom: 40px; + width: 344px; +} + +.login-wrapper form fieldset .control-group label { + padding-top: 12px; +} + +.login-wrapper form fieldset input[type="text"], +.login-wrapper form fieldset input[type="password"] { + margin: 4px; + padding: 3px 6px; + min-width: 200px; + height: 26px; + border: 1px #b6b6b6 solid; + border-radius: 2px; + background: url("../img/input-background.png") repeat-x top left; +} + +.login-wrapper form fieldset input[type="text"]:hover, +.login-wrapper form fieldset input[type="password"]:hover { + border-color: #B2577A; +} + +.login-wrapper form fieldset input[type="text"]:focus, +.login-wrapper form fieldset input[type="password"]:focus { + border-color: #B2577A; + box-shadow: #B2577A 0 0 5px; +} + +.login-wrapper form fieldset .control-group .controls .checkbox { + position: absolute; + top: 185px; + left: 181px; +} + +.dropdown-menu li > a:hover, +.dropdown-menu li > a:focus, +.dropdown-submenu:hover > a { + color: #ffffff; + text-decoration: none; + background-color: #B26182; + background-image: -moz-linear-gradient(top, #B26182, #B2577A); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#B26182), to(#B2577A)); + background-image: -webkit-linear-gradient(top, #B26182, #B2577A); + background-image: -o-linear-gradient(top, #B26182, #B2577A); + background-image: linear-gradient(to bottom, #B26182, #B2577A); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#B26182', endColorstr='#B2577A', GradientType=0); +} + +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: #333333; + text-decoration: none; + background-color: #B26182; + background-image: -moz-linear-gradient(top, #B26182, #B2577A); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#B26182), to(#B2577A)); + background-image: -webkit-linear-gradient(top, #B26182, #B2577A); + background-image: -o-linear-gradient(top, #B26182, #B2577A); + background-image: linear-gradient(to bottom, #B26182, #B2577A); + background-repeat: repeat-x; + outline: 0; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#B26182', endColorstr='#B2577A', GradientType=0); +} + +.login-wrapper form fieldset button[type="submit"] { + position: relative; + left: 39px; + padding: 4px 14px; + border: 1px #B24E78 solid; + border-radius: 2px; + background-image: linear-gradient(top, #B26182 0%, #B2577A 100%); + background-image: -o-linear-gradient(top, #B26182 0%, #B2577A 100%); + background-image: -moz-linear-gradient(top, #B26182 0%, #B2577A 100%); + background-image: -webkit-linear-gradient(top, #B26182 0%, #B2577A 100%); + background-image: -ms-linear-gradient(top, #B26182 0%, #B2577A 100%); + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0.0, #B26182), + color-stop(1,0, #B2577A) + ); + color: #fff; + font-weight: bold; + font-size: 12px; + letter-spacing: 0.6px; +} + +.login-wrapper form fieldset button[type="submit"]:hover, +.login-wrapper form fieldset button[type="submit"]:focus { + background-color: #B26182; + background-image: none; + cursor: pointer; +} + +.login-wrapper form fieldset button[type="submit"]:active { + background-color: #B27497; + background-image: none; + cursor: pointer; + box-shadow: inset 0 0 5px 3px #B2577A; +} + +.login-wrapper form fieldset input[type="checkbox"] { + margin-right: 6px; +} + +.login-wrapper form fieldset input[type="text"], +.login-wrapper form fieldset input[type="password"] { + color: #ffffff; + background-color: inherit; + margin: 4px 0px; + margin-bottom: 14px; + width: 282px; +} + +.login-wrapper form fieldset button[type="submit"] { + float: right; + margin-top: 12px; +} + +.logbar { + width: 100%; + left: 0; + background: inherit !important; + border-bottom: none !important; + box-shadow: none; + border-left: none; + border-right: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + padding-left: 0; + padding-right: 0; +} + +.logbar-container > .control-group { + margin-bottom: 0; +} + +.logbar-container > .control-group:first-child { + padding-left: 20px; +} + +.logbar-container > .control-group:last-child { + padding-right: 20px; +} + +.logbar-container { + margin-top: 4px; + margin-bottom: 4px; +} + +.threads.logbar { + background-color: #F6F6F6 !important; + border-bottom: 1px solid #CECDCD !important; +} + +.threads.logbar > .logbar-container { + margin-bottom: 2px; +} + +.threads.logbar > .logbar-container > .state-panel { + margin-left: 10px; + margin-top: 2px; +} + +.threads.logbar > .logbar-container > .support-panel { + margin-right: 10px; +} + +.wiki.logbar-container { + margin-top: 0; + margin-bottom: 0; +} + +.wiki.logbar-container > .nav.nav-tabs { + background-color: #F6F6F6 !important; + border-bottom: 1px solid #CECDCD !important; + border-radius: 0 !important; + border-top: 0 !important; + border-left: 0 !important; + border-right: 0 !important; + margin-top: 0 !important; +} + +div#main div ul.nav li a.nav-primary:hover, div#main div ul.nav li a.nav-primary:active, div#main div ul.nav li a.nav-primary.active, div#main div ul.nav li a.nav-primary.disabled, div#main div ul.nav li a.nav-primary[disabled] { + background-color: inherit; + color: #0044CC; +} + +div#main div ul.nav li a.nav-primary { + background-color: inherit; + background-image: inherit; + background-repeat: repeat-x; + border-color: inherit; + color: #0044CC; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.nav.help-sidebar { + /* + background: none; + border-bottom: 0; + */ + max-height: inherit !important; + position: relative; + left: -10px; +} + +.nav.help-sidebar li:first-child { + padding-top: 3px; +} + +.nav-tabs .dropdown-menu { + border-radius: 0; +} + +.perspective-selector { + border-right: 1px solid #65696e; + background-color: inherit; +} + +.perspective-selector:hover > a { + border-top: 1px solid #65696e; +} + +.perspective-selector > a { + border-top: 1px solid #64696d !important; + background-image: linear-gradient(to bottom, #585d62 0%, #4e5257 100%); +} + +#main-nav .dropdown-toggle > .caret:before { + color: white; +} + +#main-nav li.dropdown.open > a.dropdown-toggle { + border-bottom: 1px solid #585b60; +} + +#main-nav .dropdown.open, +li.dropdown.open > a.dropdown-toggle { + color: white; + border-bottom: none; + background-color: inherit; + background-image: linear-gradient(to bottom, #72757a 0%, #64686C 100%); + text-shadow: 1px 0 0 white; + +} + +.dropdown-menu { + border: 1px solid #b6b6b6; + border-top: 0; + margin-top: 0; + padding: 0; + background-color: white; +} + +.dropdown-menu > .divider { + margin: 0 !important; + border: 0; + color: #E5E5E5; +} + +.dropdown-menu > li > a { + background: inherit; + text-shadow: none; + line-height: 22px; + font-size: 14px; + border: 0 !important; + padding: 0 !important; + max-height: 22px; +} + +.dropdown-menu > li:hover { + color: #ffffff !important; + border-top: 1px solid #B24E78; + background-color: #B2577A !important; + background-image: linear-gradient(to bottom, #B2577A 0%, #B26182 100%) !important; + cursor: pointer; +} + +.dropdown-menu > li:hover > span > ul.sub-menu > li { + color: #333333 !important; +} + +.dropdown-menu > li:hover > span > ul.sub-menu > li:hover { + color: #ffffff !important; +} + +.ngRow.selected { + color: #ffffff !important; + background-color: #6C2D58 !important; + border-bottom: 1px solid #d4d4d4; +} + +.ngRow.selected .ngCell { + color: #ffffff !important; + background-color: #6C2D58 !important; + border-bottom: 1px solid #d4d4d4; +} + +.ngRow.selected .ngCellText a { + color: #ffffff !important; + background-color: #6C2D58 !important; +} + +.dropdown-menu > .divider:hover { + border-top: 0; + background-image: none !important; +} + +.dropdown-menu > li:hover > a { + color: white !important; + text-shadow: 0px 0px 1px white; +} + +.dropdown-menu > li { + padding-left: 10px !important; + padding-right: 10px !important; + line-height: 44px !important; + border-top: none; + max-height: 44px; +} + +li.dropdown.open > a.dropdown-toggle { + color: #6C2D58; + border-bottom: 1px solid #6C2D58; +} + +.main-nav-upper .container .pull-right .nav.nav-tabs .dropdown .caret:before { + color: white !important; +} + +.wiki > ul > li[ng-repeat='link in breadcrumbs']:first-child { + padding-left: 20px !important; +} + +.wiki > ul > li[ng-repeat='link in breadcrumbs'] { + padding-left: 5px !important; + padding-right: 5px !important; + white-space: nowrap; +} + +.wiki > ul > li[ng-repeat='link in breadcrumbs'] a { + display: inline-block; +} + +.wiki > ul > li[ng-repeat='link in breadcrumbs']:after { + position: relative; + top: 1px; + content: '/'; +} + +.wiki > ul > li[ng-repeat='link in breadcrumbs'].active:after { + content: ''; +} + +.wiki > ul > li.pull-right.dropdown { + padding-right: 20px; +} + +.tabbable > .nav-tabs { + min-height: inherit !important; + max-height: inherit !important; +} + +.tabbable li a { + background-color: inherit !important; +} + +.tabbable li.active a { + border-bottom: 0 !important; +} + +.no-bottom-margin .control-group { + margin-bottom: 10px; +} + +div.hawtio-form-tabs ul.nav-tabs li:first-child { + margin-left: 3px; +} + +div.hawtio-form-tabs ul.nav-tabs li.active:first-child { + margin-left: 3px; +} + +.instance-name { + border-top-left-radius: 0; + padding: 0; + padding-left: 3px; + padding-top: 3px; + box-shadow: none; +} + +ng-include[src="'app/jmx/html/subLevelTabs.html'"] .nav.nav-tabs { + border-radius: 0 !important; + margin-top: 0 !important; +} + +div.wiki-fixed[ng-controller] .row-fluid .span12 .nav.nav-tabs { + border-radius: 0 !important; + margin-top: 0 !important; + border: none !important; + box-shadow: none !important; + background: inherit !important; + border-bottom: 1px solid #cecdcd !important; + position: relative; + top: -8px; + margin-bottom: 0 !important; +} + +div.wiki-fixed[ng-controller] .row-fluid .span12 .nav.nav-tabs li a { + background: inherit !important; +} + +.controller-section { + padding-left: 20px; + padding-right: 20px; +} + +@media(max-width: 849px) { + .controller-section { + padding-left: 5px; + padding-right: 5px; + } + +} + +#jmxtree { + margin-left: 20px; +} + +#activemqtree { + margin-left: 20px; +} + +#cameltree { + margin-left: 20px; +} + +.span9 #properties { + margin-right: 20px; +} + +.wiki-fixed { + margin-left: 20px; + margin-right: 20px; +} + +.CodeMirror * { + font-family: monospace; +} + +.fabric-page-header .span4 h2 { + margin-top: 0px; +} + +div[ng-controller="Log.LogController"] .logbar { + +} + +div[ng-controller="Log.LogController"] .logbar .logbar-container { + background: white; + margin :0px; + padding-top: 4px; + padding-bottom: 3px; + border-bottom: 1px solid #cecdcd !important; +} + +.help-header { + background-color: #B2577A; + color: white; + padding-left: 10px; + padding-right: 10px; + border-radius: 4px; +} + +.help-header img { + position: relative; + margin-right: 7px; + margin-left: 3px; + height: 22px; + top: -2px; +} + +.about-display { + margin-left: auto; + margin-right: auto; + width: 700px; +} + +.about-display > .about-header { + text-align: center; + background-color: #B2577A; + color: white; + padding-left: 10px; + padding-right: 10px; + border-radius: 4px; +} + +.about-display > .about-header > img { + position: relative; + margin-right: 7px; + margin-left: 3px; + height: 22px; + top: -2px; +} + +.camel-tree > .section-filter { + margin-left: 10px; + margin-top: 5px; + margin-right: 10px; +} + +.dropdown-menu .sub-menu { + left: 190px; + top: -5px; +} + +.hawtio-breadcrumb { + margin-top: 5px; + display: inline-block; +} + +.hawtio-breadcrumb > li:first-child { + padding-left: 10px !important; +} + +.hawtio-breadcrumb > li:last-child { + padding-right: 10px !important; +} + +.hawtio-breadcrumb > li { + padding-left: 2px !important; + padding-right: 2px !important; +} + +.nav.nav-tabs li .hawtio-dropdown .dropdown-menu { + margin-top: 7px; + border-top: none; +} + +.dropdown.perspective-selector .dropdown-menu > div > p, +.hawtio-dropdown p { + color: #333333; +} + +.can-invoke > .dynatree-icon:before, +.icon-cog.can-invoke { + color: green !important; +} + +.cant-invoke > .dynatree-icon:before, +.icon-cog.cant-invoke { + color: red !important; +} + +.pane-bar { + border-left: 1px solid #d4d4d4; + border-right: 1px solid #d4d4d4; + background: white; +} + +.pane { + box-shadow: 0 0 50px rgba(0, 0, 0, 0.05); + background: #fff; + top: 90px; +} + +.pane-header-wrapper { + box-shadow: 0 0 50px rgba(0, 0, 0, 0.2); +} + +.navbar .nav > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu:after { + display: none; + border: none; +} + +.dropdown.perspective-selector .dropdown-menu > div > p, +.hawtio-dropdown p { + border-top: 1px solid #d4d4d4; + border-bottom: 1px solid #d4d4d4; + background-image: linear-gradient(to bottom, #fff, #e5e5e5); +} +.dropdown.perspective-selector .dropdown-menu li.clear-recent { + border-top: 1px dashed #d4d4d4; +} + +ng-include > .nav.nav-tabs { + border-left: none; + border-right: none; +} + diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/branding.css b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/branding.css new file mode 100644 index 0000000000..f11ff231a3 --- /dev/null +++ b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/css/branding.css @@ -0,0 +1,43 @@ +/* + * 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. + */ +#main-nav > .navbar-inner.main-nav-upper > .container > .pull-left > .brand { + /* + padding-top: 6px; + */ + white-space: nowrap; +} + + +#main-nav > .navbar-inner.main-nav-upper > .container > .pull-left > .brand > img { + display: inline-block; + position: relative; + left: -3px; + height: 43px; +} + +#main-nav > .navbar-inner.main-nav-upper > .container > .pull-left > .brand > strong { + font-weight: normal; + font-size: 18px; + position: relative; + top: 2px; + left: 0; +} + +.brand > .with-text { + margin-top: 0; +} + diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/doc/welcome.md b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/doc/welcome.md new file mode 100644 index 0000000000..4b095011d4 --- /dev/null +++ b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/doc/welcome.md @@ -0,0 +1,15 @@ + +![ActiveMQ Artemis logo](../activemq-branding/plugin/img/activemq-artemis-logo.png) + +Apache ActiveMQ Artemis +======================= + + +Management Console +------------------ + +Links +----- + +[Artemis User Guide](http://activemq.apache.org/artemis/docs/2.1.0/index.html) +[Java Docs](http://activemq.apache.org/artemis/docs/javadocs/javadoc-2.1.0/index.html) \ No newline at end of file diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq-artemis-logo.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq-artemis-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7e1c5ab67586dc002180efd32c4e8c37410684 GIT binary patch literal 33442 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 literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq-logo.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1766a89ed6851cb82069a7e3d077bc2c1f5b6475 GIT binary patch literal 21424 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 FV1j#5YPtXb literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/activemq.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2ff74b0ac36fba94d97a2a47528100f78d1a80 GIT binary patch literal 16426 zcmdVBg=V>-)#Rr zlCm>#{TK4zX`- zF>|*6=JGdrbvrAd5LlOgviOhS|3qp1uXrKu|Hk}#;C})%|4)E_5BxX4-)i9d$4;8! zR<>q#|LDTO0nXxGLH{ZJPd-}zD<4+&|1FNm#KjU^3~;|Blo1zIbB8?DgLB6jxZ6nAmw`GI zEKnjR??{24hK9z0#_;e*t9j14=)e0e^cpcSUgwVkjg*rkjRVgK4X*-_lRg)0IXr!v z*md0L;O1|uYpc6o4_rDQZE9n;80WoiOBdv~7|+<^abqa+(|9|T- zXOukWuvXB7*yLXY=R}`;dAXjbOGrpK$QJf}yQ{CSKN}br(6zFn)lgNPVN%SWa`5x> z(=|1vT&S~{@CSiFSbf1L&)>HD!`fED#(+J@nLmG+8~-(m8T`vd9~vuPX6000Uw(OR zZqM(jshaVnB`qvm+y#gXmyu>2-{Xe|_qNtnzLn(Uk2=)U)Ls=|Z8QuF&SxrgntmV7 z6cv>$1@!m#i>@@;zb`}+^Z&}^cN>TGfm_=CW^3EBxTtA2U#`W!Kau?|o-O3fX39?S zZ3vl|Oer!FTp!guQ1R=PcXxLg>FImn>o;?qot>e$y1Ei* zXe@k&gM%Z+8<%7uH*@fw8W^Br<>7f)>I<}$43$=QqDDlRUz#0nT!K}Ns}|23Mz%pZG16Lc2A z+?jfNIY?3^=)4~pljy2q35PA;#AjD903yi z85=w4y*m_FXe?m05RkiLC@xiypL&un71JvG{&IZ~O~i{yCRz5?d!y64!DhZ3|HB}! zHrt6M>-2R?`?xeo@T z)_72+@T3dIDk|}Vn>_*a1KOq*7K33^n$E8=!f!k_BZ;&+Wo2cIrTc|)DXW7~gl>1k z)Y$@8TOlOTg}IR^D4#t)S=P=@OQIgC02ytX^{HLW|7pRp=tE;;?U@Cyx5o=paIQrH zU&}Qe4cFT}K5{#GUTEv+@Ul3W{Ei{1noFVORpkV(H@K=M(g4bAm94*`GwMg8f$i_$ zOaTFVqK^r!qN*yDFsViO=W1_sqT}^$#Zd*yaBMCl01mBHH1HSdYVWwLsR}0$MuY8u zUOD*dN?zhO?Q%R4@L;g{S!#2+!AAV7?&bz~>^W`A@xAlHo3M0s3!&d48?SNjUC)B*JE48Ka3TwTosjEeCZ;Y zCH$KWc^VKvIE_7Jr>D?I*GaB()eHgY-2S!ADD^VGbpw!{B8j;G0E zYdlI)Vu6P+e(NFY`dBww8jadDixwS{pA|;Q92_J{)9m^Qw<{A3Q$o6(HKgEhO``gtLv_0XLZ=y%}I(diFb3-cal6+}}hOB{UhBH0>FaiWD-n^MaXZ z9&fh?BC^@{P$bVj)kD&set>}&9g*3FdBT`}VcQlUwnbgn%)`LIIP&t|6vc1u7_-4sre)`tgGv#{ zI{9HpiY3hk-gS%(F#v9!GjB^8XxW|&$FoU}L9{>bIL*{okDB44ZrIyB#Mx7iKOIfL z+{To`6Hh){RylqU2Dv;>z6NvDS54Rn^F1ZtE6$jYnq_^7Mj<2^U5%TKQxDlH^bT{= zjZ*add>m6|a+NT%I$Ddk4Ba7kx`zstvV^+T8Uo|sGnG3>7VtzAPB8PHpi>mRzT{Vp z^s$?1#iuU>jhW+=KpX;AK9$sJWGFFc>5NRYA%&nfFE7uUB{({u^&<GX(yHgV?^Dhi+Q3V9cck)|I8*?@#;5gtH(0N#=#wB}jro}{WqsfpmJyA9+RvCb zfr)od(Yl$YesA8)wTjBb)KhT|!3G=kJzO=PL)Zzc)Phb^m;t)Ydq! zoLK~&5TA^mW)NMU2&~GTax_-lb&fZn+UW+=RoF)8nK`JQtZGWs9lmEinaVhuB+w69 zoqTyN+Uc(OK-}c)Xy@cmYwu4p+js~~7-gGjQLUJ#XnJ8DbCL7l=N3JJ4WkOx6Lx+- zF4SUlP^Ph?c>8R)z0=P)MZ~cD72$0){+_4{i(tKF%#H>Zi~C{ZB53A~_p0YGJ?y6o zo0v3!^OM?H^(!tOnoRCl@(CBHH2fhn6rRDv-rjx}#UYom89ev1&??eVw2p8bYisA6 ze^-``rZZsnd;{sazP1joqxmd*?nc-;5|ViIRm)zw*m~f&os=0!b#JsZNis5}bsW`{ zOqsyF=ccl<@Vu>!;}a&gSB@+UXQ^*|d3}9F5fwuwVW=mk2_`>V-J4!O! z?n1;MI{J1wjYlYp9_sV4kii9_0Z!vLTJGYG@!#{o&PV&d1uvdgP^+c1RK0?_2L|*I zDE$y=3cu)R|0FC|YIMD+nY`<{NPNaSTW`whbUVqve*@<0Um@JdISak5?`I-xd?R_^ z`|gRcZ<%#Ja!&2pxACi}HEQp-uAZ#wF%kN7IYRZD)!JNiomG zR*a*(i>)eNtw$K=7eUwY`_r1341M+kUWwqd{GYyZ!MIIl$Ik|D>WrDn{m1)V9ljfc zueb$dT8dtgGd-h8Za|oPW~rLa(b9vTkiw6D&NK^`ye30oy?x`ay zUZ*p%r910r_&hx8c%N0R-M{_5l=f{vttZ(#<6e;GyIY7!_w_oBAhsT^fi}RKx{O}! zhCpNztPZT)Pd?n7XnEb`#v>$coD2)>KO>8aXbZOvAY;jQl~j< zpxvauKV22g=#w<(unvyYe#U?t1V9Imrxc|ID7kHeggfu{>7Ez5-X!+CCyJQy_)g$> zBJZjtV`Ffwets>Ri=9?EbkD`H2bNZhx{ZcuQok!v!RxDy0lq|QLH9O_q!+u3>O8awcW}*c^>Sy|yn?P+B2Wt-z zNLRJv%{vmeLct&s|JK!6Yd-P3^GVQuf0n_;^wn{|XRdjGYOr(JJV~E~wz*rISKmpO zm$?Q8Nh%W0Z*{AbsIszhF$7r>2sew47#y9-hy&2bNRwxnTn&V=;&q#ff9zvFKYKiz zdM|GZZZPH>O6+{iwh>x;+8%r-J2g<2-4{{O<^&O>$y$vM$b4nxVnY3cqr@xAjwBV! zQc7Qm|3yqnY=%OBG%gTzs$A#F`p&+pGLzB;Qkd447C3ZV<1>7m?$&uYZn~wyM0G(oSJuQXMB51Brv%XlkyU z-*V_>FFV`YZ8PBf^VFt9!eHh5^ASmxZ}p`pX4b8G!$(dI0^9uES$)dacrkztgjSq9 z7e*x`T{gLdFqw80%X@{`?Nh6wxuA~E$*4iV?ftxir1C&l`^yqQC%Nivj^HM)>_b5o zBI~y{w{!iTNZR1~gy zM6cghy!qc=AHNrVpS6CUxtcqU-@(f3f8d^1NzcQ?8qhJ&FaUUWCThfr-Umn5Mq&$5SoccpiVkzs$DN7YWN;TIv?a zROVn7uO(PZ*CRuKG8%-MlLQJ03H{+wH>6zhFH==vGJ}I1_}EF)Wtf3!_PD&fJo79V zu2PF5aa)+pyYu*}YX90@RMe1|dvO*Op-~umxU*@j#lLg1Ypo@R1o3!-JRPslY2@VbD0=x>4}pYKJQ&-Ylpm%NIXxsgXbSSeabFm%6{1m9mb;0zXLol^Px_FxxT?vzRd$C8UFz+1 zc<7pVlUzIFdh*VMRYa}Aa9{c@%OXZ=xANzj^tv!3jr++9~1lF zK+)WtwbqIVB(9sS9I|4N!BsQuBuB@LJ4$|N9O}9$-@DK%{}xbw^cNpKAzQWLO5cW8 zZ!C1iw94q{^oZ%>l%jXnvwBIb^r3gY7!QYMp$Et8tm6U~(F?{PyXQ+zjH8Qn3cpvg zV}J$nZ%OkKMuUlsHjC<$F>=pOPtI26ejur=#%5i`O3*3=(Yw8?k40~DeIOEKIP?X_ z8SnO2yRqq|M+)4DF(eRH4?a z;Lt;j;!w=)bm@-m?i}l~qQBE{IHJ;Q)G6rmIUg7FsG50DN5Y4Dm1%C}sv^6Y_RKD+ z>+WUT#+-VU`skhG#);lb0*8f%Kdd{jG}n9EsYr?ZEo~0YZ*AMIkeGGqJ;iq{j7B&u zL3wf-q(|}LJkkZafhNG0W83qsqupdhZ=cJ!q`|Iv2Hj_sO@mHPD$v}h4oA~CUOHV0 zi2;8i{M*>P`^ojl!tZG_OMMV%D*wz=kbzTndNjq!&f0ofI`>?*K76CP5MS+=z%px8 z7@_CKwTGLq)iwR%i#!%8n{u^}n@~W2Rf;9aMJ*2jU$epU$V`pg`A_!87KvHi@aou~ zZT07~;u-6sXx>|0S26Z|A!F&lPf~#V@7;oqDOqwaM&gHUbBGzV7 zt1{PXvgCU83hSflxt2v7dvV~78h~J=cwKY zWBl~qdHpe}k?&;c4WiD}?dHp$%|%z?Ii~Ynbl1}_%F(N`K0KSh-G->Y+MdiJ^olVp zN%?wGb2&Zyz+Nm0XRroH8;!UOMak~ajMCda8oSc!_s>Tqn z%GY2?X3fq_@)<09thQcJCp#AT(873-FXo`5aHM2408`CtokBQud%BWB zBW@6v%ikvKr_etX74qS9(A<5}^RX{Sj|2i>jm%6s6D?v}Nr`oe7U27YM>u|o_Vb%k@+#cXp0QdGp{-FI*( z@8_bTqJDnT)|hp)HP1Co$x*uRnZyr@@(98s6v}NBb8+Gds$eR|qwH5z$h1Hg5}`L= zC0%EB<#loz*Qa_Nr8UrjqeIRQs459vm(AdJE+lf{*XicPCmS z*u~zi;UwRh@2{wKAxh=sVB6!;f}~-Ave((s8$CUlkLgbvh-xcy3!XF!T*MHtOA$w4 zW3R{x>s)}{m0nH`u9RkgFDY)c-jJ-U5@IdEsL6QsR*)2J3T8a5dB?StmC+z>Qu1Cw z9jZfK3P%^Gkq-awF@%i)7+G;!?BxlbdX5b|3bN_TwRF~Y)E&C;wi7c3=~+4fYgk`K z6IZEUvv$em*Vh)DL-3+9JT(;UkDPg(Zn_&F7pRi-s;3C#bMqUEjpLOBt%y&we^6D> zG4!+{R96Jj6A_)(1dl5i)>Dt+7^J&hKDmFd@Z?lhR?btd`#x=i-9yalwA<4w=HVzG ziy0A9ab))A&!3Nu7-dT}S65EAQouqhkB4^={ElnHtH-%&t$Xx$li+*V%7`kt6{5zH z#%OpETD~6ghX9_Zx7X)|%_GyK1se%!RiYE(iQ#R=X-m~@`>S;b^6ysa&o>3!@f~z5 ziWQ7ZSb7#x)6{q#CJQubDPP0i#wpp5t+auBC+V7F&4gEE9phaY3Kr4+YMUs0582Oi zF`1rk*4Z}n1mXri8t<6QtU-`uUA+Ke z&Oq5se9lr~SNSw(F53b#kG*^cTf-W6=t>1yUhopvvMaY$0g;}3dH+fB1SxKoQGpT! z8#k@DQ8+X`bL3V7kA}8@E5m2MSS^a#k>$QzZ$*T+2zPV8FVGjNaFdynEM$$(H~o?s zj-1&TdgkSHUE|FgEaGGgM(s+md8|f_7Xh9V|5Yn<1RmX<8M=% zX9?RUUZY4+7p?*+H+OfWsrXP2l_(vNy|_%%qi!ZOr{oxFt+Re_IHELCk#(l5N>^yF4(DpyV4!AvV? z@sUc~gUQHB^fRhGr_c~-2z6Dn|E!upgDV5|ABUc@)JU<8+=$Rn9>)BZ^3Rso2o!wQ zcFtO|n#FP2!O%qMb``fQ|TRr#p?7cl<6L-I2FYz&ns z>Q5sewNlz|A`o)7g-VBL`&$DnoA2zK>uM%Ymal^Ely&q6^b}=LIrq|?F1A&Fnbn^a z#SrW%MBpNjfC~^AxhgKE7y!FkaQZDH6UG^(erBp2!o;KoO{YOOrQng@jIcGnURS1v z*jN}(T=(h?{tkQLRLv}Ap5?hc$6pb|H&a>1yPlD%J#?-<=YKTRLDP8uww~46S3i&tfm;MJ3 zik`IekPoZ2_U-G_t<6To!f@Er5fvsUp-d6%dGk4_EQB8M@R!Fq*H08_?W@lhOAJh%y z?1UkfI~>+5%q7b=D~#`v9@?=uapqniJock+oH&-pXuqbYW9p$NGO{D zO|O3FWs`pPWS^EmjV{+U=MT(hJxEMUG!=HgFw9RGY7sop70zncWUUv9V@Y}7&q6sp zz-E?NOAB^7Jtf`3bt!xq*0TpG$yi#_q{PKtS`^A^pg&yIWi?Pq0x!yoO>A#6F?srQ z(?lv>=pLlWY5}syncq*{weLXq-RTv*e^#)_D0LJ8%HY$1&;yXAFYO8@Wnag8-@zIC ztj5%>_FVgy@Y&j5zpDoc;h5a_=*%?o9?Oq|BaiBX)C4~HDEIQ`&G;ywJR6Q5FC#Ku zO3|QnAfphEWj6TdQl#oAedZMqX!q7%6rU+wb9#6eZWstCmAQZb)0i;c=*!?PWkL3;$Y0tVN@S12<4skj%z$ly;T~ z7}LJ;MLjEwq^Tpi+7+{19n8*^0ncj}r**UWlFtf|W$mE-cU9e(L z1P{dm50E#pW*|ED@WGjr09EePu3n-_!S-mAQd1mid*SfaFL`jMXz01fH+dsKawvqE z@Q>$7F+-MNYCZ8|FQ^f}jVuC;3Qirtd!M2=7nUyhdJesRboF(VWp@4Z3X``&|IYst znN!>LBXIM__&7@|E9q+>O|f6fMe5Cdq_}w(>RQ2-0)lAichU+5?G*mie+;AT&>B@F zC5$}B-Q&&crGWL^<&=j3RF)iE{g>>?N)yuN_r=u#k}z!cBW&0Ffxk8O={NR=DXKr{ z{3Ou!t!oXp&SP=Z7G&iBR(n_oFn00?8G>YykCCMkgZJnRbjDmtzIJs}$zn&6k4}pA zn}slIQW5)=zezOTRc4LLH1qN9!7Q*H#MkHBg1TLn_CB%c6Agcm@JLUubJ)zxXR{g# zcn?ASRv%OtE=9uYdid*4s***qqUjb0lq@!?`CDTJlP zC16X)*oB*Q*O@p4Ujh5rOhZ}aF1e7AoeMclsYL5dx#K*Ejz{NZ|hdgc2seu7Pq^r(?g zP-tQ!eSSmBT)8v4cqTM?-mGcC7<$(@yTrmgeHRElzXc0HkCWVm-Ufk_!P4#~+xv~-*3NMKkRy@n>Pusnj~`;CJBs3StH?(4)Sq5P^Cmv%6GhUI}nK^;)XrFZd z&_&6*5jw;SYbk!~_O|g!NPA2SnzCsD5puUn$vBaonfV(YFCsz%@8jATt=MgKzeusR zlipOr39oU~rYJT=oZ3cSuPa?Vb~ieBVwuib=`WVASY#H+khS!%GGB-9P)QoV3167> zfObD#LdddeTa2p?PJPa;+NUi2AO`GA8Bw=Xwk^VH5WVXK^W%9Y{Wu@@F$!0BnA=>l7tB|L;RkyZg3Qyjl z-*+q>R<)9+a#Q;^PtEUHy%h7T0QBSR&a9^&l}VtMnTV!`miq!fkJwCunonlE(&Kz@If~8nq%d!vqfgLHw_Es;O1Y_1$SihHl8-+T) zg?c@Qmy&xz%P5&0^!wK7jKKPcstb2_sK%7A6SttMidjQV+=WwB2e+@UkG~+TE-?3l zn{7xORmFygWgAhqcEbSzS2b0*aeTRmm1LGMqXWYL9CBu{&T#I)psSmRr4`FZ)FHayt(OP>WaAX6TJ;^|~cc(>Q3Rmx&%r(R!%RDNr#|k`}E6x{mQU^#mUtlj| z#i{w61*tLJkKqjD1G0x=bya>ceXP*Kp>WxF|;J>*(}S3R9uy-`T+tn zOQK}S-_$kQpG&5iu~LO$v7oayji6J$f>FH7R>L`Wvl^HFJ_12C!w!kcN$95J%IZ^g zF=<{QOtGSZ{#kDvg)#9#3GS$!YE?yU7V+@-aGa$ec1&w+_=6-c6hmBpWIMzL8Y6`` z`6H=zM()66t~#o6c)ce6rQZ*%@+R={%@-$N7l!i~iZ-g4Cwd3+?U?M0^BJCUVXw!uzfV@r9W?jSc|~pvS`*Q#rM4nU#Xk- z;f1d<_@@|U`YA_8N9#{EGwgVLGvsvl7djZi&+*8_QPoy-f(8A%tK)a+3k5=M3m~iOLZ$?4;fluwcy9Q zH6;x#fZO7S@D}%0TAdo^LT8Z(c3^Bu{0Ll(J~7@DLR<7rpgA8LG&C?Zy?~4Wnb_Bz zmSy4()m^`w3XJ5&pbViQiMbH${yI#mB3zo8nU&QdFDo3b)X|}nA=#y%*pmjXhEjxi zoy$U8i@zp|?26*{4FAoKNqdv=R(;GXre2~oAx6>KPgp`y)!kj=h0ZtBdZ)Z82u+_0% z{z*IsN-m&ALOk@E9jpNVAG4l@3@^tKzLuHnUAU&?O(I=&j1IES^g8yb6hddcw{rv# zzpI1LnHGzM2e+^lr1cq@e#qS9M4f-%(^=UlU5$&A%VistamZ?;)ACjxS`WHXUmf_Z zNOO+i*7xB2oH^|ydRe`Q#MiIMj0T)z_tAUwMauI{_8V&j-$POK=5DVX3%>9p5%0G5 zk8?IZyQ{ok(JGAMWCR2dh0W$13wqWk2mYj+DqKm>l{VEOj3Tg^F1V|)U4TM}0_Lu< zQ^sN?G;+)uZA^1g;q;%QVETay?a$CqIh<&h=WB6IP4|=*izNh#~ z3xl(?^zum?Z>pp82V-MNTN^*O>xt%ejOsRABLhE)EyGe_GS%N0E!6+2hti-b6Uea-EO(V9@H<97z7%0rCICAxu5$uIn+hd?NVrTd1pCxhz==>e zC&jrH4@ zAm4?DG*Rczv&b3jHBZS_`8MRiYtzNQi$5G{run^-I^3UDx(g=KqE?SWgvjNa8?0L1 z#HKbTIh_+?1;0{r?U|g5+iF*5y2u+n=G>(#03ji1<0B&p^sXbeW2Uj<_s#-d^|7o! zYij&V7eAnkG2`r@ENUF=6@WSV+gOZiu>nQz;AvS$qaJ>s$mPh; zmmPV3yYC{IYzo<36!m=^HHbbux5_>Tdtap#UQlwKn&J1_anp*)TLnBxI9BOCDEATb z7;DeD`koH87?FI@O_q+Aj7Wj}gHBoPE5S2cQOu(xL(A%GXhTr= zc$VOCnVKc|3VC-HRFsPX#lGx;U0H*p4AG8Ua$P!oURxQ(U5-d|itsR{pNnwJk32=asjsiETPUQWi_LdqGjI*QU;1be}{pK%3UNnHz!WXrl@!U%8T-qPk<1d2lW zn|6ktz#J6)Nd^|~Rd6{V^_S!-W_^Ic8r=Qlbg7v8iC4iNJ0>=fD36tb07b$i6 zbj?5-*0jKNZOgn6DUB)VGlnK%r-Nl<>X=0;Du^((F6M)-W}Aa!gG%1pzVitpgZq{A z^Js%*_@CY5@tlWGYp+=L@Q0;>MiA{ruI7;ym^Qd2PMW#eur>M)6*CvbWsiT;le zcev@Opdl}$+rx#?w|F$NPVrz=#wRRe<7htqs5LXrU2NTv?qFrKOzu+|PAH?JhKAMO zX7&QtsXOp%WdQT}T?5&CE@dvqfdDkwp5e6xEJFOxK{2$pm$yV`0gf>SUP8v^*M2cv ziYygP^IinQnR|EgN7GOM-li|ak0D!vQ8w5D4X1^Q$v#5%d(U8xt-Y2qI7QXWPQ0h? zS)?~*9nuUWyxq1upkH*X->JxZobC-JUc!;`vAC5E~DM z6INWu`tAi7n<}W5mw5Rc+&ZsP_!-CuhoJ!>Xf45>78Vu~rK0_XhF&%-K!C66Td%&2o&zj&ET~t6>0!V6iR@BY z^ItcZC6LutNJhpK9(fI**fk$-#C%DiAgLe&UKV^bAT92_5#6b#u;>XkFTXh^w5u7C zJ6C$YgK2VV{l22NvqSddC_bZc-#P$FY2WwNskvo$YqvYm&k+411FLj*0~IZBr_bE ztC)BiW0^F6xrZUS4*k)ch1MRT@V9yEaY3o|<%e%C1QIf?aBKWqIlO$cnqTG35Q5TL z)A$eaj0|=e7+Jo>RFbScDKHSQY8^XngpA_e5p%N4Oh36C&&y8&peguQAtrJGC~w zX@g!alF{1RDar>^hy`6mc18lLaD?Lk$rC?IB*6>S zGJ2#wy#V+%h~E6ew?ynBJV=DO#ZIMJq6qiaN zQ(XDvb$74CCgvi21#5loj$;^OM+02>SvdSBwj=S`p;3}jh5l)4f}el)#ow~nyWz~2 zKb~)N`7Q<`U{#jA+R@O_ZIf#3lQlejF$EFW9M8oojxEf0Du8{;=l4G{nH?yQ=R-o` zR8;A%nmVtPUw(Wfzm7t*^KrWOm737M?a%Dr#6XYsu{7Uaz1N5YIMbL5T2@x&6f}bk z_$(fxTU6k~Pv~HEpK*Q09y3M6*vL-Z?f`V&`e^TNdlu=-s3*SI&tMu0Rj&L6J^UrX zIkX}dAYc@ImPWLm%9ZEcQ;)?6OW}qYsfYcNZr%B~pZ@&GebX;Lc0#2-lgR&m-OIi_ zB_+k~?d1`sOrz@UJD5#kLfTZCXNBMK$@K{-m%VoXqb~{XvZ`LW_3}pibh0K5g+B0k zvC-{$z_)SFFFX5nb0wId$HP`tx%MoMA4OMK?z8Z7w?>uXlf*}~8cD3Imh+1s!4NTS z1`l>537KgjUCJT)K%?nZ;#RvPYS-{v0*EHu!x{Xd{Ug?326BRJ!B7y7mKwzdO4 znQQPn_K<1XcmwL9>5aZ$HL;mmu|Hs%1#)q5S*L;7M~1vmG8dt?a&i$^(CQo?e9?o1 z^*#2Ih`TrHDl5lP=TD4o2c0*0q|?5^Ia^gKC@3&)-eHj!s=&2je1nn%#RL>AupTc| z8N4o8WXqRS6ykQN=vSiu&5>5cCAs5NSg}`r>SU?1cEKH^1)t{z|AM zI4o)kB5i;BDR^G~4pG5dx0pLKncmNG2>o<4=31VR5lnBl)Im5sGt-oz{W=pP)%9Zb zdBk1pSwzNuP{{NAiQhoC78GEyV^w$FUA3|6xTI9fTmAI>j5UAm&V77i_KqsfhD17E zZZcaK3}7aD3RdVz`DtH;enVyS6>xxsUvT948~k$ zee%K)KJrwHcbl0#E3wJqY&buV5n$D(Guk zb0s8*Q;=xWD%Y&Z!@iq2k(^dQMS0SY9L}5C03VSH`VFQk3O$;B`S$IEKr{G+C9j$g0b;I^bve+uhmk z)$5W3-l%c>EQF9osi9brE6zxC7u^Jd?COMj-+Cwi-TlcN8r~(_z8MnpUg3}gqRizi zc1z3i?ODrn(4v2qdQ?T!cuP9r7$oSMXke5x_r2J`nH{yB!0Np#+9l7d@BS{3x0TK+ z;btdG3)k)Q%V}?AV9jzK+iq{Qne!iP{!k$7hBINBMCbT=lFhRR(JraA+ z|KI?0*%yFnZ|T+{r|%2CS;G}7-@vWG3Q04=XsY>qa%L_?YUS1LrX}n1P0z#3R8QTd z>(_EH%Y&0kFj|N?;SdUfhcXt}H%F2G!E1LJ#v>U6T6gs%cAewZ&Czjc3TPA$bq{7X zzIR&BmC6*{L`MG)U9%P)kJVV5i9>u{pzclZvL6ed5>d|eJ&whU<6p#1hilS{NdVew zA7)38vgx3QuN+OUDcgS$KSdU#a=?r%n!LGk3ck>G%5Vr%iq^{amzq!iB`}Af*<_cQ zT||u-&anY0w-K5Q#R9PC+z6C0{)e%q_YrcDsNra~MD^4D>IQ1^ryPs|5ST;f4yBm`peFOcMVW7J420! zH;t$HJwFwf({K4Nj;aVNl;ySA;`KNcH#c{EL4oNPZ|~Pd@UD_*to5J#($WzWm10p; z#KbQJjKx73pPV$HP-MGxc}<66qgXt@N2SE#{7dWqH|egM`y!j~kl(O1ACHkB?fw$@ NWh4~DE5!``|3B-iITru` literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/checkbox-background-checked.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/checkbox-background-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..21be54a1333d27c4b7f0970cb6616b19babf6ca1 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2?f#ZI0f96(URk z2Vq7hjoB4ILCF%=h?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`))iiXM2nIEH9U zOun-<`}(K-_5a-r1UP5RoEg61&)?tXhfbdCjIibT{q1dcLSjNf!jJ#|?Jv%f0D=>j zj<8&A;m+Unwe#Vl)9(xH9DTd>>k~NQ|4&(1@?P7=_y51Y$v?iomv_Fk?K#ghZh3<} z|NpfoetgQ$^YV7Q!Hdp~#ya1px2!(+LD=3}`0&zjd&xCown-IVUYaw51Wd{e+3d{R zMCun?tiKyKBXQPjiI~IJ0yNoT1@Q=*qFh2AZ+em8r2=+KH`E>^417>JlOO q!Iiag;^{MI_B?uWa z2Vq7hjoB4ILCF%=h?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`))iiV8hl978lF zCZD-kl>W2d{=c$B2aAkOk9I`epP%v<->aQIaO{jnz~S}#|4VX}+x8_SCICTdQo@h_ z|Lq-p*Z2s`YHe(^;60I`k@4&Md-=IJi{>wjum5kj!AQ_gaQ}Ztp7g}@w3xu!C$bka e`{&LqWMx>k&(!0mVUZ-zat2RVKbLh*2~7ZD?pD?S literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/checkbox-background.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/checkbox-background.png new file mode 100644 index 0000000000000000000000000000000000000000..9b0ee2e38025946b9ec1cabafb0ea6a59e07d6f6 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2?f#ZI0f96(URk z2Vq7hjoB4ILCF%=h?3y^w370~qEv?R@^Zb*yzJuS#DY}4{G#;P?`))iiV{6t978lF zUcI!N_lN-x%SFp|zk;M+U0CNhGwJG{2aJmF_?{Fk-1`|Y8_Dr--cowQVb zDRyJo)-WLl7lY?}Tm=~&nB*FZ|2G_ykoWz?chioq{OZ2yNn5_%i~oC%&7{zDU5uq_ Q8qhKZPgg&ebxsLQ0PPk}s{jB1 literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/favicon.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1375eb66fcac4534bf8a51d626e299efde8ca2 GIT binary patch literal 5030 zcmW+)c{tSH_kYhAV`yl`I<~wm*_V+mvdmaQk~M@f*|$)HK9ZTSFJ({?m9d2qBl}Wj zq*5enLNSRDS+dpGe!jnd&bhC1?>*;rpL6a#&vR34&zW;`iEse`z-?(^Y7YRA!yyDf zupO$PDi_B?1@psO;{l*H^T_UH_W#X>+nXB$)qP?M0Kf*=o^>=kH14ddZ2sQdT3q|L zw9H!i{cmY$cWL(T%G$rxHP*@+Yi(^iUwR>0cI$!kdr;?tq;`*#b{DAME2Z5dsr?Sr z{V1(f4_dzfZJNL{ouFX{X#5g1>6Ox=gSZcpItg;oZ@^Q{pk)fEMc%nNPBs z)u6)%P-pAD^hS=%LZs|hJC#u*Y_GHyN$$TVp!>u*m2oT8KX+u(j)#w&QXj=*zd5LU zHo#VZ7bdJ#%R#rVwkoN|Bl;CJO2JD}ilh|T>lrdvzh6=sKB+D*>p5zy)&iRM>sYR3 z$W()l0V?TXN=ZW+Cq60}Wgfp;7F0I*_Uo{Y`gV!l(zjo$KUW7-HGX`W-WVD!wo040 zlA_Cv+(FTI1t z4kHG7_YKHvUGLlOchZYLEX*v=*U@9u$g3X)a?R2PgA=Es6BkoYZ@;)a6XTVk`rqH5 z3n^wQ|UvZj$N?eC(`yROD4{4qF78)~` z`|xW4ttqzZQ+)B<%idk)tDU)TtiHU}hSH7K)uWbY{{EO9?HC(5<2vd{_!yn{(j41}8+lPK8$8;!IwY~U=H@v=9MO<&nTF8!hCyVbjb{n~oRq=#gW1sr{s_(+x zlnW{e1eH`f1)Q|r@o1@G80AH>KSfiT@a6SWFog@yZC=>l7If;|xlYly`*zZLE=1-~x z500Pc|HGoHfiBR@5_djyG{Ess6ZwV1@8rcI&R%_jXF?d{=E{s_Je(H$#8L!)gwViO zZE|-%-ZucFNW9|1OH2$EVF|?smV>4>zH8AA zFWs+sRPS1%LS*aBaw&jNJSbHWBKpxZDD^C7e7dU9f+=FnzPD&;#F--qF(a6A>4MLV z&W3)U6wV5pLg(u+pX`n2U!SK0COGpz^m(RM#>$V9fF}CZ@2_PRBSl(4z7|dpo49i} z?uyV<{Dl#zAC4}ez9V?c8xI;~{D8B-9&57%RrT*DVMJh;RPz9j82uF!%?X}tE+kXS z(+Hcf<#IyJM~c!WU&hD#z(vUCCj$Fd9EI}sTb(_Yt)=Db3W}1UujtQ-iE2NJQB~Ep zkwv=18q$K%_%mlU5r$&&iH|(6JmSNUZ>_=z8Mw2!)261_RqQHf#r1|59d^7LHzV+b zz$$`hP5-`ZpM`L;tfazWG+FBO4R?O>GoI~DM?w-oK$)X`kFky(0e+@=n;daLgbHr9cT!0=7soD9GaYU6fx{WJ2YhW{uMdamJdoS*9)(s zD*6kt94|r~h~3FXKx4jE7kGUk36l*YDR4qJWk7^n%|#ZUM=Ydx>pP)vtz6^UtUXCy z@&KGHU18i{s(S2M4?(mP620?#TNtK0A9++8W0xC-83fw5Cnu0(iT(kcDkcj-hG-G@ zQllpA(DF#umceD`rgustUqpQ@B7p7d!qkB{oWT>({LGi*38ET0co5JQxhD*JXLsi^ zM})o;8plPF8*k7+$s^B|NVkep#%#^QV3hrLY7If}K$i@~(;AGF)BSszVtcx3mSvK* zm{RHwQ|vTKe@Z-?{n)|k>!ZRjBdU0-c>kJqdOF1jOk_HjyKyzu#1E~st9|Av%5Z6jNO=B~Vb%3NZ@8K*2 zPX^J6kV>z&-H0Sb#GR7XmCcn;ekQRJaA+&n6mjz?;$!T6(=d^5lHytBfIpjHvQDsk z1HG+T6P9VqC6QraMbrdlxy!O$={O2mFes9cMpdFhxjR5U$TGh zL0n58koFPEmnN1<+|vpAeAb-OeCuTbQ(f=*g<@f-E$c^tLKznEk^42`nz-H57e{Wu z@)%wgEIZFVmJGRzMx$+t_6L09ISG?1Jw^HZ$EHXO`pe1(M10~t(qkrn{l%}t486T> z&MF$F(LCh^T|88{At5Agd5^KgoT=k=MG1tfTxnA@zNq)-K-RO17Z-;Ro#C~O!<&OA zW>ETPPCdB0!&yzk%Ey4iBlpZG(Y&)(=|miDJzBB)!=u8pdD!oKWkmNR)$sFarr0BD zZ?TovqMSU(Qe%ucDzxwlmPQm#d7h~2v#7hpyIsRw9}J4PQ$5kaL($%Y%(al!e%wH@`7*?M~@99Z5 zp+U-;^Sz}-@Fyt_l>0)-fR$2IRICWu2iz!sx%O7{k|tZ!wvYdPrQd0?JE(4W-t1DZ zB%LDKNZ_aj!5zuu{$jUoW$K}^qJITfbd^DTo3w)Q7%8FEGmqk9gL{~S5bFD2Z|xd zz=T`2rS_n3ucB##c0!w=Fq`;ikpoMnUq0w=St=dJk4a6 zfgAcy=6CU-baSu^YUE zQo_5o=WY&%9b&zfuDEIaSivz*Jz`uqH zmD^>-sE2Rjdf3@`Aa~(kCYsd~0gb<$HMpGME|B;qvH#WE+ZSL>{nr1(e~~G-+JvqS zAhv!8_-Eh7I9I`;RO))VGFiDD8sI$hDeZZYCNMtHq7jdCCAnjnvX`a#fgO0HFDm$R z3BEwv<{=Er&HOt+Cn3rF5jp4JzKBK~gjQxH#Eti3C)FQ1(ZpjV(r(qaSP8L{CgJS) z8lQ>GU==K|)f8wZ-CXT+ScTrCflR%|Lr8G~MUgI6c|7I^xlU(<5h0RoeK)la5A=*3ayu64lFG1oC(}HW*95^m3F+G^~8dGA24RwZ;W>VLRYL z$LCiDw+U)}Z|jv_f%6HVoqug3FwqDX&OB4wk*i_`1fo#QB`K;9cTn+RS| zeotP~^PdYZKKEfpAdV)Kdy5~Pg$;Q~0&3`P^-3oY)P>C3DJd?7eK^{v42FWxW*f?U zb(`XbGY{jg!O3DMes6B~ZX;*j@sT{dta?$P$h13Ns{OW%D_Tf*2nc^ zP~N`|q~=|YVYb)T6w%&@ob{4B*n7E<}n z!^|Wln+G&zFXFJ>n(d+NeHlbvYG&rA2QK`&SBsOF-#rkz`^T-xBtmG$K3mXwn0E%` zF7X^YQvt`B7oSE&BonJp4Kn}cbfz?Olf?3}CC%tFL?Tcatk0x2Z2 z@tp_7OZwlW!&Fkqkvxijo}idV4b+IH(a@6b>vUi(hsuV=zgB5TdEe`10_ z)Y+BYyKMs48|ewoJeOXrz5=ZMM9sXx4`&vW$q}%uXeE(QB-sn$FTlQlPzCvg`MuMa zz3lR%fcwW=i_bx`O@)NO9feSSXfNp2igOiZP*{JJE$3GWKW7Y7!O! z-`#bDMZbSOE& z>CEBE<1aMe-hdUc?$d%>zX$sEsrK%vOjF$Q>)^1Sscpyi?EeCqIyy>Y#2<&p#mzo2 zr*PM-tCjAsSWjx)nwIZMiN0eZw3{v7Eel<+zkOC7BDy=qNbgN~-$x^@ z_1=BU;XLx%s;@_zU~|wQZ};A>E;6PcEi=z*8-BNVwi2>nv*@ZmT#|=mEk3{D6aYO_ z_4$UKCqNk29}85;^0I5auE1LxwzA@6%+OyHgKUmAe&7S=jQ1={2W4?jkqtr#ioq#w zm)%4Z9^T?m8r!y;e$LQ!Qo1qWEHw!`TOjBhZ%$Tg3mEFsjEjXnvF<^M(C2z#DNePY zWSL{IhcVg^PaFD@A0HU@@sZx|@FG#d)^H`+hCW;w{^l{UveSkxHXsK&dGD$J|At}o zP3ZnkFf`#Y(W6{1t;%R?)Z=iSZpZF58-JkVU@N_!H4xgdr&_-sqZ5KKgy@8%7#xb5 z$LsfvR4=kF_ya;}7kOE#h}fuw(4x(QfVw@KB~IE{U#bD5aV6n%T%T{7ye9ErEI5vf zn;FWGBUI1xt=4_qO6~_b~*aga#jyKhBV29xbq5eFpr$I7BuD m%qYAN`xG!gZL}*pb0Bblfl+@69)2ePfTh_v(`sV^`TqbiF!0L& literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/input-background.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/input-background.png new file mode 100644 index 0000000000000000000000000000000000000000..7c731595535baeb8379b80ed9deeb3878ce51080 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr9!3HE}Hf~b~QY^(zo*^7SP{WbZ0pxQQctjQh z)n5l;MkkHg6+l7B64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1TqJY5_^ mIA$hSe1CVhUM(#xjg3L3lKJYxpuCkpSq4v6KbLh*2~7ZsYA3b; literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/login-screen-background.png b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/img/login-screen-background.png new file mode 100644 index 0000000000000000000000000000000000000000..e94c4179fc2991f090b5bca6f7fe91eae25035f4 GIT binary patch literal 5658 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 t+C#;@Rg}V)g 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 literal 0 HcmV?d00001 diff --git a/artemis-hawtio/activemq-branding/src/main/webapp/plugin/js/plugin.js b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/js/plugin.js new file mode 100644 index 0000000000..0277c215bb --- /dev/null +++ b/artemis-hawtio/activemq-branding/src/main/webapp/plugin/js/plugin.js @@ -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 + * + * 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. + */ +/** + * The activemq hawtio theme + * + * @module activemqBranding + * @main activemq + */ +var activemqBranding = (function (self) { + + self.log = Logger.get("activemq"); + self.context = '../activemq-branding/'; + self.pluginName = 'hawtio-activemq-branding'; + + hawtioPluginLoader.registerPreBootstrapTask(function (task) { + Themes.definitions['activemq'] = { + label: 'activemq', + file: self.context + 'plugin/css/activemq.css', + loginBg: self.context + 'plugin/img/apache-login-background.jpg' + }; + var localStorage = Core.getLocalStorage(); + if (!('theme' in localStorage)) { + localStorage['theme'] = 'activemq'; + } + Themes.brandings['activemq'] = { + label: 'activemq', + setFunc: function(branding) { + branding.appName = 'Management Console'; + branding.appLogo = self.context + 'plugin/img/activemq.png'; + branding.logoOnly = false; + branding.fullscreenLogin = true; + branding.css = self.context + 'plugin/css/branding.css'; + branding.favicon = self.context + 'plugin/img/favicon.png'; + branding.welcomePageUrl = self.context + 'plugin/doc/welcome.md'; + return branding; + } + } + if (!('branding' in localStorage)) { + localStorage['branding'] = 'activemq'; + } + task(); + }); + + self.module = angular.module(self.pluginName, ['hawtioCore']); + self.module.run(function (branding) { + self.log.debug("ActivMQ theme loaded"); + }); + + hawtioPluginLoader.addModule(self.pluginName); + return self; +})(activemqBranding || {}); + diff --git a/artemis-hawtio/pom.xml b/artemis-hawtio/pom.xml new file mode 100644 index 0000000000..a12046de43 --- /dev/null +++ b/artemis-hawtio/pom.xml @@ -0,0 +1,103 @@ + + + + + 4.0.0 + + + org.apache.activemq + artemis-pom + 2.2.0-SNAPSHOT + + + artemis-hawtio-pom + ActiveMQ Artemis HawtIO + + + pom + + + + ${project.basedir}/.. + + 1.8 + 1.8 + + 1.5.2 + 3.2.0 + 1.3.6 + 4.11 + 1.2.17 + 3.0.4 + 1.7 + 3.0.1 + 3.3 + 2.1.2 + 2.6 + 2.19.1 + 2.5 + + + 1.6.6 + 1.7.21 + + 2.1.1 + + + + + + + io.hawt + hawtio-plugin-mbean + ${hawtio.version} + + + + + javax.servlet + servlet-api + ${servlet-api-version} + provided + + + + + org.slf4j + slf4j-api + ${slf4j-version} + provided + + + org.slf4j + slf4j-log4j12 + ${slf4j-version} + provided + + + + + + + activemq-branding + + + diff --git a/artemis-server/src/main/resources/schema/artemis-configuration.xsd b/artemis-server/src/main/resources/schema/artemis-configuration.xsd index fb1d147403..87ec201c75 100644 --- a/artemis-server/src/main/resources/schema/artemis-configuration.xsd +++ b/artemis-server/src/main/resources/schema/artemis-configuration.xsd @@ -22,8 +22,17 @@ elementFormDefault="qualified" version="1.0"> + + + + + + + + + - + diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java index ddff9af1ac..221468a141 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileConfigurationTest.java @@ -58,7 +58,7 @@ import org.junit.Test; public class FileConfigurationTest extends ConfigurationImplTest { - private final String fullConfigurationName = "ConfigurationTest-full-config.xml"; + private final String fullConfigurationName = "configurationImport.xml"; @Override @Test diff --git a/artemis-web/src/main/java/org/apache/activemq/artemis/ActiveMQWebLogger.java b/artemis-web/src/main/java/org/apache/activemq/artemis/ActiveMQWebLogger.java index ae3592e736..ec60aeb0a8 100644 --- a/artemis-web/src/main/java/org/apache/activemq/artemis/ActiveMQWebLogger.java +++ b/artemis-web/src/main/java/org/apache/activemq/artemis/ActiveMQWebLogger.java @@ -54,4 +54,8 @@ public interface ActiveMQWebLogger extends BasicLogger { @LogMessage(level = Logger.Level.WARN) @Message(id = 244003, value = "Temporary file not deleted on shutdown: {0}", format = Message.Format.MESSAGE_FORMAT) void tmpFileNotDeleted(File tmpdir); + + @LogMessage(level = Logger.Level.INFO) + @Message(id = 241004, value = "Artemis Hawtio available at {0}", format = Message.Format.MESSAGE_FORMAT) + void hawtioAvailable(String bind); } diff --git a/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java b/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java index 601ea4cf5d..59ad7b65ae 100644 --- a/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java +++ b/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java @@ -55,6 +55,7 @@ public class WebServerComponent implements ExternalComponent { private WebServerDTO webServerConfig; private URI uri; private String jolokiaUrl; + private String hawtioUrl; private List webContexts; private ServerConnector connector; @@ -105,6 +106,9 @@ public class WebServerComponent implements ExternalComponent { if (app.war.startsWith("jolokia")) { jolokiaUrl = webServerConfig.bind + "/" + app.url; } + if (app.war.startsWith("hawtio")) { + hawtioUrl = webServerConfig.bind + "/" + app.url; + } } } @@ -136,6 +140,9 @@ public class WebServerComponent implements ExternalComponent { if (jolokiaUrl != null) { ActiveMQWebLogger.LOGGER.jolokiaAvailable(jolokiaUrl); } + if (hawtioUrl != null) { + ActiveMQWebLogger.LOGGER.hawtioAvailable(hawtioUrl); + } } public void internalStop() throws Exception { diff --git a/pom.xml b/pom.xml index 1035f692ca..41db888b40 100644 --- a/pom.xml +++ b/pom.xml @@ -54,6 +54,7 @@ artemis-jdbc-store artemis-maven-plugin artemis-server-osgi + artemis-hawtio integration/activemq-spring-integration artemis-distribution artemis-tools