diff --git a/admin-web/src/java/org/jppf/admin/web/HeaderPanel.html b/admin-web/src/java/org/jppf/admin/web/HeaderPanel.html index cca5b58d81..693e884a8e 100644 --- a/admin-web/src/java/org/jppf/admin/web/HeaderPanel.html +++ b/admin-web/src/java/org/jppf/admin/web/HeaderPanel.html @@ -29,10 +29,7 @@

- - - -
+
diff --git a/admin-web/src/java/org/jppf/admin/web/HeaderPanel.java b/admin-web/src/java/org/jppf/admin/web/HeaderPanel.java index 270621b215..b216fea919 100644 --- a/admin-web/src/java/org/jppf/admin/web/HeaderPanel.java +++ b/admin-web/src/java/org/jppf/admin/web/HeaderPanel.java @@ -46,7 +46,6 @@ public class HeaderPanel extends Panel { public HeaderPanel() { super("jppf.header"); final String user = JPPFWebSession.getSignedInUser(); - //String user = JPPFWebSession.get().getUserName(); final Locale locale = Session.get().getLocale(); final String s = (user != null) ? LocalizationUtils.getLocalized(getClass().getName(), "jppf.header.user.label", locale) + " " + user @@ -62,6 +61,7 @@ protected void onSubmit(final AjaxRequestTarget target, final Form form) { setResponsePage(getApplication().getHomePage()); } }; + form.add(link); showIPCheckBox = new CheckBox("jppf.header.show.ip", Model.of(JPPFWebSession.get().isShowIP())) { @Override diff --git a/admin-web/src/java/org/jppf/admin/web/JPPFWebConsoleApplication.java b/admin-web/src/java/org/jppf/admin/web/JPPFWebConsoleApplication.java index 6a7e230fae..da75f809d5 100644 --- a/admin-web/src/java/org/jppf/admin/web/JPPFWebConsoleApplication.java +++ b/admin-web/src/java/org/jppf/admin/web/JPPFWebConsoleApplication.java @@ -26,11 +26,14 @@ import org.apache.wicket.page.*; import org.apache.wicket.pageStore.*; import org.apache.wicket.pageStore.memory.*; +import org.apache.wicket.request.cycle.RequestCycle; +import org.apache.wicket.request.resource.*; import org.jppf.admin.web.admin.*; import org.jppf.admin.web.auth.LoginPage; import org.jppf.admin.web.settings.*; import org.jppf.admin.web.stats.StatsUpdater; import org.jppf.admin.web.topology.TopologyPage; +import org.jppf.admin.web.utils.ClasspathResource; import org.jppf.client.JPPFClient; import org.jppf.client.monitoring.jobs.*; import org.jppf.client.monitoring.topology.TopologyManager; @@ -88,6 +91,15 @@ public JPPFWebConsoleApplication() { @Override protected void init() { super.init(); + mountImageResource("images/exit.png"); + mountImageResource("images/logo.gif"); + mountImageResource("images/logo-small.gif"); + mountImageResource("images/toolbar/upload.png"); + mountImageResource("jppf.css"); + mountImageResource("images/arrow-right-double-2.png"); + mountImageResource("images/arrow-left-double-2.png"); + mountImageResource("images/arrow-up-double-2.png"); + mountImageResource("images/arrow-down-double-2.png"); String name = getInitParameter("jppfPersistenceClassName"); if (debugEnabled) log.debug("read persistence class name '{}' from init parameter", name); if (name == null) { @@ -219,9 +231,7 @@ private static final class MyPageManagerProvider extends DefaultPageManagerProvi @Override protected IDataStore newDataStore() { // keep everything in memory - return new HttpSessionDataStore(new DefaultPageManagerContext(), new IDataStoreEvictionStrategy() { - @Override public void evict(final PageTable pageTable) { } - }); + return new HttpSessionDataStore(new DefaultPageManagerContext(), pageTable -> {}); } @Override protected IPageStore newPageStore(final IDataStore dataStore) { return new NullPageStore(); } @@ -240,4 +250,41 @@ private static class NullPageStore implements IPageStore { @Override public Object restoreAfterSerialization(final Serializable serializable) { return null; } @Override public IManageablePage convertToPage(final Object page) { return null; } } + + /** + * + * @param key the resource key. + * @return a {@link ResourceReference} pointing to the image. + */ + public ResourceReference getSharedImageResource(final String key) { + ResourceReference ref = getSharedResources().get(key); + if (ref == null) { + final ClasspathResource resource = new ClasspathResource(key); + getSharedResources().add(key, resource); + ref = getSharedResources().get(key); + } + return ref; + } + + /** + * + * @param key the resource key. + * @return the url of the shared image. + */ + public String getSharedImageURL(final String key) { + final ResourceReference ref = getSharedImageResource(key); + if (ref == null) return null; + String resourceURL = RequestCycle.get().urlFor(ref, null).toString(); + if (resourceURL.startsWith("./")) resourceURL = resourceURL.substring(1); + return resourceURL; + } + + /** + * Mount the resource with the specified key. + * @param key the resource key. + */ + public void mountImageResource(final String key) { + final ResourceReference ref = getSharedImageResource(key); + mountResource("/" + key, ref); + } } diff --git a/admin-web/src/java/org/jppf/admin/web/tabletree/NodeContent.java b/admin-web/src/java/org/jppf/admin/web/tabletree/NodeContent.java index ef13e8fa2e..457836dc47 100644 --- a/admin-web/src/java/org/jppf/admin/web/tabletree/NodeContent.java +++ b/admin-web/src/java/org/jppf/admin/web/tabletree/NodeContent.java @@ -23,6 +23,8 @@ import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.image.ContextImage; import org.apache.wicket.markup.html.panel.Panel; +import org.apache.wicket.request.cycle.RequestCycle; +import org.jppf.admin.web.JPPFWebConsoleApplication; /** * A panel that associates a label with an icon. @@ -38,8 +40,11 @@ public class NodeContent extends Panel { */ public NodeContent(final String id, final DefaultMutableTreeNode treeNode, final TreeNodeRenderer renderer, final boolean showIP) { super(id); + final String contextPath = RequestCycle.get().getRequest().getContextPath(); final String iconPath = renderer.getIconPath(treeNode); - add(new ContextImage("icon", (iconPath != null) ? iconPath : "")); + final String resourceURL = (iconPath != null) ? JPPFWebConsoleApplication.get().getSharedImageURL(iconPath) : null; + //if (debugEnabled) log.debug("resourceURL for key = {}: {}", iconPath, resourceURL); + add(new ContextImage("icon", (resourceURL != null) ? contextPath + resourceURL : "")); final String text = renderer.getText(treeNode, showIP); add(new Label("text", (text != null) ? text : "")); } diff --git a/admin-web/src/java/org/jppf/admin/web/utils/AbstractActionLink.java b/admin-web/src/java/org/jppf/admin/web/utils/AbstractActionLink.java index ed4e4ebb38..5ba0a9d1dc 100644 --- a/admin-web/src/java/org/jppf/admin/web/utils/AbstractActionLink.java +++ b/admin-web/src/java/org/jppf/admin/web/utils/AbstractActionLink.java @@ -23,15 +23,24 @@ import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.model.*; import org.apache.wicket.request.cycle.RequestCycle; -import org.jppf.admin.web.AbstractJPPFPage; +import org.jppf.admin.web.*; import org.jppf.admin.web.tabletree.*; import org.jppf.utils.*; +import org.slf4j.*; /** * * @author Laurent Cohen */ public abstract class AbstractActionLink extends AjaxLink { + /** + * Logger for this class. + */ + private static final Logger log = LoggerFactory.getLogger(AbstractActionLink.class); + /** + * Determines whether the debug level is enabled in the log configuration, without the cost of a method call. + */ + private static final boolean debugEnabled = log.isDebugEnabled(); /** * Determines whether this link is enabled and/or authorized. */ @@ -74,12 +83,20 @@ public AbstractActionLink(final String id, final IModel model, final Str protected void onComponentTag(final ComponentTag tag) { super.onComponentTag(tag); final Pair pair = FileUtils.getFileNameAndExtension(imageName); - final String format = ""; + final String contextPath = RequestCycle.get().getRequest().getContextPath(); + String imageKey = null; if ((action != null) && (!action.isEnabled() || !action.isAuthorized())) { tag.getAttributes().put("class", "button_link_disabled"); - if (pair != null) setBody(Model.of(String.format(format, pair.first() + "-disabled", pair.second()))); + if (pair != null) imageKey = pair.first() + "-disabled"; } else { - if (pair != null) setBody(Model.of(String.format(format, pair.first(), pair.second()))); + if (pair != null) imageKey = pair.first(); + } + if (imageKey != null) { + imageKey = "images/toolbar/" + imageKey + "." + pair.second(); + final String resourceURL = JPPFWebConsoleApplication.get().getSharedImageURL(imageKey); + final String html = ""; + setBody(Model.of(html)); + if (debugEnabled) log.debug("image html for key = {}, contextPath = {}: {}", imageKey, contextPath, html); } setEscapeModelStrings(false); } diff --git a/admin-web/src/java/org/jppf/admin/web/utils/AjaxButtonWithIcon.java b/admin-web/src/java/org/jppf/admin/web/utils/AjaxButtonWithIcon.java index 90b013a753..5ff76bfa88 100644 --- a/admin-web/src/java/org/jppf/admin/web/utils/AjaxButtonWithIcon.java +++ b/admin-web/src/java/org/jppf/admin/web/utils/AjaxButtonWithIcon.java @@ -22,7 +22,7 @@ import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.model.*; import org.apache.wicket.request.cycle.RequestCycle; -import org.jppf.admin.web.AbstractJPPFPage; +import org.jppf.admin.web.*; import org.jppf.utils.*; /** @@ -102,12 +102,19 @@ protected void onComponentTag(final ComponentTag tag) { super.onComponentTag(tag); final Pair pair = FileUtils.getFileNameAndExtension(imageName); final StringBuilder style = new StringBuilder(); - final String format = "background-image: url(" + RequestCycle.get().getRequest().getContextPath() + "/images/toolbar/%s.%s)"; + + final String contextPath = RequestCycle.get().getRequest().getContextPath(); + String imageKey = null; if ((action != null) && (!action.isEnabled() || !action.isAuthorized())) { tag.getAttributes().put("class", "button_link_disabled"); - if (pair != null) style.append(String.format(format, pair.first() + "-disabled", pair.second())); + if (pair != null) imageKey = pair.first() + "-disabled"; } else { - if (pair != null) style.append(String.format(format, pair.first(), pair.second())); + if (pair != null) imageKey = pair.first(); + } + if (imageKey != null) { + imageKey = "images/toolbar/" + imageKey + "." + pair.second(); + final String resourceURL = JPPFWebConsoleApplication.get().getSharedImageURL(imageKey); + style.append("background-image: url(" + contextPath + resourceURL + ")"); } tag.getAttributes().put("style", style.append(FIXED_STYLE).toString()); } diff --git a/admin-web/src/java/org/jppf/admin/web/utils/ClasspathResource.java b/admin-web/src/java/org/jppf/admin/web/utils/ClasspathResource.java new file mode 100644 index 0000000000..5dad98fbf4 --- /dev/null +++ b/admin-web/src/java/org/jppf/admin/web/utils/ClasspathResource.java @@ -0,0 +1,92 @@ +/* + * JPPF. + * Copyright (C) 2005-2018 JPPF Team. + * http://www.jppf.org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jppf.admin.web.utils; + +import java.io.*; + +import org.apache.wicket.request.resource.ResourceStreamResource; +import org.apache.wicket.request.resource.caching.IResourceCachingStrategy; +import org.apache.wicket.util.resource.*; +import org.apache.wicket.util.time.Time; + +/** + * A resource loaded from the classpath. + * @author Laurent Cohen + */ +public class ClasspathResource extends ResourceStreamResource { + /** + * Path to the resource in the classpath. + */ + private final String path; + + /** + * @param path the path to the resource in the classpath. + */ + public ClasspathResource(final String path) { + this.path = path; + setFileName(new File(path).getName()); + } + + @Override + protected IResourceStream getResourceStream() { + return new ClasspathResourceStream(path); + } + + @Override + protected IResourceCachingStrategy getCachingStrategy() { + return super.getCachingStrategy(); + } + + /** + * Resource stream associated with a {@link ClasspathResource}. + */ + public static class ClasspathResourceStream extends AbstractResourceStream { + /** + * Path to the resource in the classpath. + */ + private final String path; + /** + * Last modified date, equal to the creation date. + */ + private final Time lastModified = Time.millis(System.currentTimeMillis()); + + /** + * @param path the path to the resource in the classpath. + */ + public ClasspathResourceStream(final String path) { + this.path = path; + } + + @Override + public InputStream getInputStream() throws ResourceStreamNotFoundException { + final InputStream is = getClass().getClassLoader().getResourceAsStream(path); + if (is == null) throw new ResourceStreamNotFoundException(); + return is; + } + + @Override + public void close() throws IOException { + } + + @Override + public Time lastModifiedTime() { + return lastModified; + } + } +} diff --git a/admin-web/src/resources/images/arrow-down-double-2.png b/admin-web/src/resources/images/arrow-down-double-2.png new file mode 100644 index 0000000000..4f96181eb0 Binary files /dev/null and b/admin-web/src/resources/images/arrow-down-double-2.png differ diff --git a/admin-web/src/resources/images/arrow-left-double-2.png b/admin-web/src/resources/images/arrow-left-double-2.png new file mode 100644 index 0000000000..6a5a3b07b5 Binary files /dev/null and b/admin-web/src/resources/images/arrow-left-double-2.png differ diff --git a/admin-web/src/resources/images/arrow-right-double-2.png b/admin-web/src/resources/images/arrow-right-double-2.png new file mode 100644 index 0000000000..6b51b3240e Binary files /dev/null and b/admin-web/src/resources/images/arrow-right-double-2.png differ diff --git a/admin-web/src/resources/images/arrow-up-double-2.png b/admin-web/src/resources/images/arrow-up-double-2.png new file mode 100644 index 0000000000..04df135949 Binary files /dev/null and b/admin-web/src/resources/images/arrow-up-double-2.png differ diff --git a/admin-web/webapp/images/exit.png b/admin-web/src/resources/images/exit.png similarity index 100% rename from admin-web/webapp/images/exit.png rename to admin-web/src/resources/images/exit.png diff --git a/admin-web/webapp/images/jppf-icon.ico b/admin-web/src/resources/images/jppf-icon.ico similarity index 100% rename from admin-web/webapp/images/jppf-icon.ico rename to admin-web/src/resources/images/jppf-icon.ico diff --git a/admin-web/webapp/images/logo-small.gif b/admin-web/src/resources/images/logo-small.gif similarity index 100% rename from admin-web/webapp/images/logo-small.gif rename to admin-web/src/resources/images/logo-small.gif diff --git a/admin-web/webapp/images/logo.gif b/admin-web/src/resources/images/logo.gif similarity index 100% rename from admin-web/webapp/images/logo.gif rename to admin-web/src/resources/images/logo.gif diff --git a/admin-web/webapp/images/toolbar/add.png b/admin-web/src/resources/images/toolbar/add.png similarity index 100% rename from admin-web/webapp/images/toolbar/add.png rename to admin-web/src/resources/images/toolbar/add.png diff --git a/admin-web/webapp/images/toolbar/balance-disabled.png b/admin-web/src/resources/images/toolbar/balance-disabled.png similarity index 100% rename from admin-web/webapp/images/toolbar/balance-disabled.png rename to admin-web/src/resources/images/toolbar/balance-disabled.png diff --git a/admin-web/webapp/images/toolbar/balance.png b/admin-web/src/resources/images/toolbar/balance.png similarity index 100% rename from admin-web/webapp/images/toolbar/balance.png rename to admin-web/src/resources/images/toolbar/balance.png diff --git a/admin-web/webapp/images/toolbar/calc.png b/admin-web/src/resources/images/toolbar/calc.png similarity index 100% rename from admin-web/webapp/images/toolbar/calc.png rename to admin-web/src/resources/images/toolbar/calc.png diff --git a/admin-web/webapp/images/toolbar/cancel_deferred_action-disabled.gif b/admin-web/src/resources/images/toolbar/cancel_deferred_action-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/cancel_deferred_action-disabled.gif rename to admin-web/src/resources/images/toolbar/cancel_deferred_action-disabled.gif diff --git a/admin-web/webapp/images/toolbar/cancel_deferred_action.gif b/admin-web/src/resources/images/toolbar/cancel_deferred_action.gif similarity index 100% rename from admin-web/webapp/images/toolbar/cancel_deferred_action.gif rename to admin-web/src/resources/images/toolbar/cancel_deferred_action.gif diff --git a/admin-web/webapp/images/toolbar/checkbox.png b/admin-web/src/resources/images/toolbar/checkbox.png similarity index 100% rename from admin-web/webapp/images/toolbar/checkbox.png rename to admin-web/src/resources/images/toolbar/checkbox.png diff --git a/admin-web/webapp/images/toolbar/collapse.gif b/admin-web/src/resources/images/toolbar/collapse.gif similarity index 100% rename from admin-web/webapp/images/toolbar/collapse.gif rename to admin-web/src/resources/images/toolbar/collapse.gif diff --git a/admin-web/webapp/images/toolbar/delete.png b/admin-web/src/resources/images/toolbar/delete.png similarity index 100% rename from admin-web/webapp/images/toolbar/delete.png rename to admin-web/src/resources/images/toolbar/delete.png diff --git a/admin-web/webapp/images/toolbar/download.png b/admin-web/src/resources/images/toolbar/download.png similarity index 100% rename from admin-web/webapp/images/toolbar/download.png rename to admin-web/src/resources/images/toolbar/download.png diff --git a/admin-web/webapp/images/toolbar/dump-disabled.gif b/admin-web/src/resources/images/toolbar/dump-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/dump-disabled.gif rename to admin-web/src/resources/images/toolbar/dump-disabled.gif diff --git a/admin-web/webapp/images/toolbar/dump.gif b/admin-web/src/resources/images/toolbar/dump.gif similarity index 100% rename from admin-web/webapp/images/toolbar/dump.gif rename to admin-web/src/resources/images/toolbar/dump.gif diff --git a/admin-web/webapp/images/toolbar/expand.gif b/admin-web/src/resources/images/toolbar/expand.gif similarity index 100% rename from admin-web/webapp/images/toolbar/expand.gif rename to admin-web/src/resources/images/toolbar/expand.gif diff --git a/admin-web/webapp/images/toolbar/gc-disabled.gif b/admin-web/src/resources/images/toolbar/gc-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/gc-disabled.gif rename to admin-web/src/resources/images/toolbar/gc-disabled.gif diff --git a/admin-web/webapp/images/toolbar/gc.gif b/admin-web/src/resources/images/toolbar/gc.gif similarity index 100% rename from admin-web/webapp/images/toolbar/gc.gif rename to admin-web/src/resources/images/toolbar/gc.gif diff --git a/admin-web/webapp/images/toolbar/info-disabled.gif b/admin-web/src/resources/images/toolbar/info-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/info-disabled.gif rename to admin-web/src/resources/images/toolbar/info-disabled.gif diff --git a/admin-web/webapp/images/toolbar/info.gif b/admin-web/src/resources/images/toolbar/info.gif similarity index 100% rename from admin-web/webapp/images/toolbar/info.gif rename to admin-web/src/resources/images/toolbar/info.gif diff --git a/admin-web/webapp/images/toolbar/job.png b/admin-web/src/resources/images/toolbar/job.png similarity index 100% rename from admin-web/webapp/images/toolbar/job.png rename to admin-web/src/resources/images/toolbar/job.png diff --git a/admin-web/webapp/images/toolbar/priority-disabled.gif b/admin-web/src/resources/images/toolbar/priority-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/priority-disabled.gif rename to admin-web/src/resources/images/toolbar/priority-disabled.gif diff --git a/admin-web/webapp/images/toolbar/priority.gif b/admin-web/src/resources/images/toolbar/priority.gif similarity index 100% rename from admin-web/webapp/images/toolbar/priority.gif rename to admin-web/src/resources/images/toolbar/priority.gif diff --git a/admin-web/webapp/images/toolbar/provisioning-disabled.png b/admin-web/src/resources/images/toolbar/provisioning-disabled.png similarity index 100% rename from admin-web/webapp/images/toolbar/provisioning-disabled.png rename to admin-web/src/resources/images/toolbar/provisioning-disabled.png diff --git a/admin-web/webapp/images/toolbar/provisioning.png b/admin-web/src/resources/images/toolbar/provisioning.png similarity index 100% rename from admin-web/webapp/images/toolbar/provisioning.png rename to admin-web/src/resources/images/toolbar/provisioning.png diff --git a/admin-web/webapp/images/toolbar/reset-disabled.gif b/admin-web/src/resources/images/toolbar/reset-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/reset-disabled.gif rename to admin-web/src/resources/images/toolbar/reset-disabled.gif diff --git a/admin-web/webapp/images/toolbar/reset.gif b/admin-web/src/resources/images/toolbar/reset.gif similarity index 100% rename from admin-web/webapp/images/toolbar/reset.gif rename to admin-web/src/resources/images/toolbar/reset.gif diff --git a/admin-web/webapp/images/toolbar/restart.png b/admin-web/src/resources/images/toolbar/restart.png similarity index 100% rename from admin-web/webapp/images/toolbar/restart.png rename to admin-web/src/resources/images/toolbar/restart.png diff --git a/admin-web/webapp/images/toolbar/resume-disabled.gif b/admin-web/src/resources/images/toolbar/resume-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/resume-disabled.gif rename to admin-web/src/resources/images/toolbar/resume-disabled.gif diff --git a/admin-web/webapp/images/toolbar/resume.gif b/admin-web/src/resources/images/toolbar/resume.gif similarity index 100% rename from admin-web/webapp/images/toolbar/resume.gif rename to admin-web/src/resources/images/toolbar/resume.gif diff --git a/admin-web/webapp/images/toolbar/revert.png b/admin-web/src/resources/images/toolbar/revert.png similarity index 100% rename from admin-web/webapp/images/toolbar/revert.png rename to admin-web/src/resources/images/toolbar/revert.png diff --git a/admin-web/webapp/images/toolbar/save.png b/admin-web/src/resources/images/toolbar/save.png similarity index 100% rename from admin-web/webapp/images/toolbar/save.png rename to admin-web/src/resources/images/toolbar/save.png diff --git a/admin-web/webapp/images/toolbar/select_all.gif b/admin-web/src/resources/images/toolbar/select_all.gif similarity index 100% rename from admin-web/webapp/images/toolbar/select_all.gif rename to admin-web/src/resources/images/toolbar/select_all.gif diff --git a/admin-web/webapp/images/toolbar/select_drivers.gif b/admin-web/src/resources/images/toolbar/select_drivers.gif similarity index 100% rename from admin-web/webapp/images/toolbar/select_drivers.gif rename to admin-web/src/resources/images/toolbar/select_drivers.gif diff --git a/admin-web/webapp/images/toolbar/select_jobs.gif b/admin-web/src/resources/images/toolbar/select_jobs.gif similarity index 100% rename from admin-web/webapp/images/toolbar/select_jobs.gif rename to admin-web/src/resources/images/toolbar/select_jobs.gif diff --git a/admin-web/webapp/images/toolbar/select_nodes-disabled.gif b/admin-web/src/resources/images/toolbar/select_nodes-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/select_nodes-disabled.gif rename to admin-web/src/resources/images/toolbar/select_nodes-disabled.gif diff --git a/admin-web/webapp/images/toolbar/select_nodes.gif b/admin-web/src/resources/images/toolbar/select_nodes.gif similarity index 100% rename from admin-web/webapp/images/toolbar/select_nodes.gif rename to admin-web/src/resources/images/toolbar/select_nodes.gif diff --git a/admin-web/webapp/images/toolbar/server_reset_stats-disabled.gif b/admin-web/src/resources/images/toolbar/server_reset_stats-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/server_reset_stats-disabled.gif rename to admin-web/src/resources/images/toolbar/server_reset_stats-disabled.gif diff --git a/admin-web/webapp/images/toolbar/server_reset_stats.gif b/admin-web/src/resources/images/toolbar/server_reset_stats.gif similarity index 100% rename from admin-web/webapp/images/toolbar/server_reset_stats.gif rename to admin-web/src/resources/images/toolbar/server_reset_stats.gif diff --git a/admin-web/webapp/images/toolbar/server_restart-disabled.gif b/admin-web/src/resources/images/toolbar/server_restart-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/server_restart-disabled.gif rename to admin-web/src/resources/images/toolbar/server_restart-disabled.gif diff --git a/admin-web/webapp/images/toolbar/server_restart.gif b/admin-web/src/resources/images/toolbar/server_restart.gif similarity index 100% rename from admin-web/webapp/images/toolbar/server_restart.gif rename to admin-web/src/resources/images/toolbar/server_restart.gif diff --git a/admin-web/webapp/images/toolbar/sort-ascending.png b/admin-web/src/resources/images/toolbar/sort-ascending.png similarity index 100% rename from admin-web/webapp/images/toolbar/sort-ascending.png rename to admin-web/src/resources/images/toolbar/sort-ascending.png diff --git a/admin-web/webapp/images/toolbar/sort-descending.png b/admin-web/src/resources/images/toolbar/sort-descending.png similarity index 100% rename from admin-web/webapp/images/toolbar/sort-descending.png rename to admin-web/src/resources/images/toolbar/sort-descending.png diff --git a/admin-web/webapp/images/toolbar/suspend-disabled.gif b/admin-web/src/resources/images/toolbar/suspend-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/suspend-disabled.gif rename to admin-web/src/resources/images/toolbar/suspend-disabled.gif diff --git a/admin-web/webapp/images/toolbar/suspend.gif b/admin-web/src/resources/images/toolbar/suspend.gif similarity index 100% rename from admin-web/webapp/images/toolbar/suspend.gif rename to admin-web/src/resources/images/toolbar/suspend.gif diff --git a/admin-web/webapp/images/toolbar/suspend_requeue-disabled.gif b/admin-web/src/resources/images/toolbar/suspend_requeue-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/suspend_requeue-disabled.gif rename to admin-web/src/resources/images/toolbar/suspend_requeue-disabled.gif diff --git a/admin-web/webapp/images/toolbar/suspend_requeue.gif b/admin-web/src/resources/images/toolbar/suspend_requeue.gif similarity index 100% rename from admin-web/webapp/images/toolbar/suspend_requeue.gif rename to admin-web/src/resources/images/toolbar/suspend_requeue.gif diff --git a/admin-web/webapp/images/toolbar/table-column-hide.png b/admin-web/src/resources/images/toolbar/table-column-hide.png similarity index 100% rename from admin-web/webapp/images/toolbar/table-column-hide.png rename to admin-web/src/resources/images/toolbar/table-column-hide.png diff --git a/admin-web/webapp/images/toolbar/terminate-disabled.gif b/admin-web/src/resources/images/toolbar/terminate-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/terminate-disabled.gif rename to admin-web/src/resources/images/toolbar/terminate-disabled.gif diff --git a/admin-web/webapp/images/toolbar/terminate.gif b/admin-web/src/resources/images/toolbar/terminate.gif similarity index 100% rename from admin-web/webapp/images/toolbar/terminate.gif rename to admin-web/src/resources/images/toolbar/terminate.gif diff --git a/admin-web/webapp/images/toolbar/text-2.png b/admin-web/src/resources/images/toolbar/text-2.png similarity index 100% rename from admin-web/webapp/images/toolbar/text-2.png rename to admin-web/src/resources/images/toolbar/text-2.png diff --git a/admin-web/webapp/images/toolbar/text.png b/admin-web/src/resources/images/toolbar/text.png similarity index 100% rename from admin-web/webapp/images/toolbar/text.png rename to admin-web/src/resources/images/toolbar/text.png diff --git a/admin-web/webapp/images/toolbar/thread_dump-disabled.gif b/admin-web/src/resources/images/toolbar/thread_dump-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/thread_dump-disabled.gif rename to admin-web/src/resources/images/toolbar/thread_dump-disabled.gif diff --git a/admin-web/webapp/images/toolbar/thread_dump.gif b/admin-web/src/resources/images/toolbar/thread_dump.gif similarity index 100% rename from admin-web/webapp/images/toolbar/thread_dump.gif rename to admin-web/src/resources/images/toolbar/thread_dump.gif diff --git a/admin-web/webapp/images/toolbar/threads-disabled.gif b/admin-web/src/resources/images/toolbar/threads-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/threads-disabled.gif rename to admin-web/src/resources/images/toolbar/threads-disabled.gif diff --git a/admin-web/webapp/images/toolbar/threads.gif b/admin-web/src/resources/images/toolbar/threads.gif similarity index 100% rename from admin-web/webapp/images/toolbar/threads.gif rename to admin-web/src/resources/images/toolbar/threads.gif diff --git a/admin-web/webapp/images/toolbar/thresholds-disabled.gif b/admin-web/src/resources/images/toolbar/thresholds-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/thresholds-disabled.gif rename to admin-web/src/resources/images/toolbar/thresholds-disabled.gif diff --git a/admin-web/webapp/images/toolbar/thresholds.gif b/admin-web/src/resources/images/toolbar/thresholds.gif similarity index 100% rename from admin-web/webapp/images/toolbar/thresholds.gif rename to admin-web/src/resources/images/toolbar/thresholds.gif diff --git a/admin-web/webapp/images/toolbar/toggle_active-disabled.gif b/admin-web/src/resources/images/toolbar/toggle_active-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/toggle_active-disabled.gif rename to admin-web/src/resources/images/toolbar/toggle_active-disabled.gif diff --git a/admin-web/webapp/images/toolbar/toggle_active.gif b/admin-web/src/resources/images/toolbar/toggle_active.gif similarity index 100% rename from admin-web/webapp/images/toolbar/toggle_active.gif rename to admin-web/src/resources/images/toolbar/toggle_active.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red-disabled.gif b/admin-web/src/resources/images/toolbar/traffic_light_red-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red-disabled.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red-disabled.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red.gif b/admin-web/src/resources/images/toolbar/traffic_light_red.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red_green-disabled.gif b/admin-web/src/resources/images/toolbar/traffic_light_red_green-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red_green-disabled.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red_green-disabled.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red_green.gif b/admin-web/src/resources/images/toolbar/traffic_light_red_green.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red_green.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red_green.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red_green_yellow-disabled.gif b/admin-web/src/resources/images/toolbar/traffic_light_red_green_yellow-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red_green_yellow-disabled.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red_green_yellow-disabled.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red_green_yellow.gif b/admin-web/src/resources/images/toolbar/traffic_light_red_green_yellow.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red_green_yellow.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red_green_yellow.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red_yellow-disabled.gif b/admin-web/src/resources/images/toolbar/traffic_light_red_yellow-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red_yellow-disabled.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red_yellow-disabled.gif diff --git a/admin-web/webapp/images/toolbar/traffic_light_red_yellow.gif b/admin-web/src/resources/images/toolbar/traffic_light_red_yellow.gif similarity index 100% rename from admin-web/webapp/images/toolbar/traffic_light_red_yellow.gif rename to admin-web/src/resources/images/toolbar/traffic_light_red_yellow.gif diff --git a/admin-web/webapp/images/toolbar/update-disabled.gif b/admin-web/src/resources/images/toolbar/update-disabled.gif similarity index 100% rename from admin-web/webapp/images/toolbar/update-disabled.gif rename to admin-web/src/resources/images/toolbar/update-disabled.gif diff --git a/admin-web/webapp/images/toolbar/update.gif b/admin-web/src/resources/images/toolbar/update.gif similarity index 100% rename from admin-web/webapp/images/toolbar/update.gif rename to admin-web/src/resources/images/toolbar/update.gif diff --git a/admin-web/webapp/images/toolbar/upload.png b/admin-web/src/resources/images/toolbar/upload.png similarity index 100% rename from admin-web/webapp/images/toolbar/upload.png rename to admin-web/src/resources/images/toolbar/upload.png diff --git a/admin-web/webapp/images/tree/critical -orig.gif b/admin-web/src/resources/images/tree/critical -orig.gif similarity index 100% rename from admin-web/webapp/images/tree/critical -orig.gif rename to admin-web/src/resources/images/tree/critical -orig.gif diff --git a/admin-web/webapp/images/tree/critical.gif b/admin-web/src/resources/images/tree/critical.gif similarity index 100% rename from admin-web/webapp/images/tree/critical.gif rename to admin-web/src/resources/images/tree/critical.gif diff --git a/admin-web/webapp/images/tree/driver.gif b/admin-web/src/resources/images/tree/driver.gif similarity index 100% rename from admin-web/webapp/images/tree/driver.gif rename to admin-web/src/resources/images/tree/driver.gif diff --git a/admin-web/webapp/images/tree/job.png b/admin-web/src/resources/images/tree/job.png similarity index 100% rename from admin-web/webapp/images/tree/job.png rename to admin-web/src/resources/images/tree/job.png diff --git a/admin-web/webapp/images/tree/node-master.png b/admin-web/src/resources/images/tree/node-master.png similarity index 100% rename from admin-web/webapp/images/tree/node-master.png rename to admin-web/src/resources/images/tree/node-master.png diff --git a/admin-web/webapp/images/tree/node-slave.png b/admin-web/src/resources/images/tree/node-slave.png similarity index 100% rename from admin-web/webapp/images/tree/node-slave.png rename to admin-web/src/resources/images/tree/node-slave.png diff --git a/admin-web/webapp/jppf.css b/admin-web/src/resources/jppf.css similarity index 85% rename from admin-web/webapp/jppf.css rename to admin-web/src/resources/jppf.css index 62c2b11ab5..13232f30dd 100644 --- a/admin-web/webapp/jppf.css +++ b/admin-web/src/resources/jppf.css @@ -638,4 +638,50 @@ scrollable, div.scrollable { white-space: nowrap; width: 100%; overflow: scroll; -} \ No newline at end of file +} + +.palette-theme-default .palette-buttons { + float: left; + text-align: center; + padding-left: 10px; + padding-right: 10px; +} + +.palette-theme-default .palette-buttons button { + display: block; + padding: 0px; +} +.palette-theme-default .palette-buttons button div { + height: 16px; + width: 16px; +} + +.palette-theme-default .palette-buttons button.palette-add div { + content: none; + background: transparent url(images/arrow-right-double-2.png) no-repeat scroll center center; +} +.palette-theme-default .palette-buttons button.palette-remove div { + content: none; + background: transparent url(images/arrow-left-double-2.png) no-repeat scroll center center; +} +.palette-theme-default .palette-buttons button.palette-up div { + content: none; + background: transparent url(images/arrow-up-double-2.png) no-repeat scroll center center; +} +.palette-theme-default .palette-buttons button.palette-down div { + content: none; + background: transparent url(images/arrow-down-double-2.png) no-repeat scroll center center; +} + +.palette-theme-default .palette-buttons button.palette-add div:after { + content: none; +} +.palette-theme-default .palette-buttons button.palette-remove div:after { + content: none; +} +.palette-theme-default .palette-buttons button.palette-up div:after { + content: none; +} +.palette-theme-default .palette-buttons button.palette-down div:after { + content: none; +}