OF-1205: Show message on admin console when plugins are being processed.

parent 763f626c
......@@ -2584,14 +2584,14 @@ plugin.admin.info=Plugins add new functionality to the server. The list of plugi
<a href="available-plugins.jsp">Available Plugins</a> page.
plugin.admin.deleted_success=Plugin deleted successfully.
plugin.admin.deleted_failure=Unable to delete plugin.
plugin.admin.uploaded_success=Plugin uploaded successfully. It may take a short time for the \
plugin to appear in the list of installed plugins.
plugin.admin.uploaded_success=Plugin uploaded successfully.
plugin.admin.uploaded_failure=Unable to upload plugin. See server error logs.
plugin.admin.upload_plugin=Upload Plugin
plugin.admin.upload_plugin.info=Plugin files (.jar) can be uploaded directly by using the form below.
plugin.admin.click_reload=Reload the plugin.
plugin.admin.reload_success=Plugin was successfully reloaded. It may take a short time for the \
plugin to appear in the list of installed plugins again.
plugin.admin.reload_success=Plugin was successfully reloaded.
plugin.admin.reload_failure=Unable to reload the plugin. Refer to the log files for additional information.
plugin.admin.monitortask_running=The plugin manager is currently running. It may take a short time for the list of installed plugins to be complete.
plugin.admin.name=Plugins
plugin.admin.description=Description
plugin.admin.version=Version
......
......@@ -1047,4 +1047,9 @@ public class PluginManager
}
}
}
public boolean isMonitorTaskRunning()
{
return pluginMonitor.isTaskRunning();
}
}
\ No newline at end of file
......@@ -45,6 +45,8 @@ public class PluginMonitor
private ScheduledExecutorService executor;
private boolean isTaskRunning = false;
public PluginMonitor( final PluginManager pluginManager )
{
this.pluginManager = pluginManager;
......@@ -84,6 +86,11 @@ public class PluginMonitor
}
}
public boolean isTaskRunning()
{
return isTaskRunning;
}
/**
* Immediately run a check of the plugin directory.
*/
......@@ -111,6 +118,7 @@ public class PluginMonitor
// Prevent two tasks from running in parallel by using the plugin monitor itself as a mutex.
synchronized ( PluginMonitor.this )
{
isTaskRunning = true;
try
{
// The directory that contains all plugins.
......@@ -319,6 +327,10 @@ public class PluginMonitor
{
Log.error( "An unexpected exception occurred:", e );
}
finally
{
isTaskRunning = false;
}
}
}
......
......@@ -37,8 +37,10 @@
<%@ page import="org.apache.commons.fileupload.FileItem" %>
<%@ page import="org.apache.commons.fileupload.FileUploadException" %>
<%@ taglib uri="admin" prefix="admin" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager" />
<% webManager.init(request, response, session, application, out ); %>
......@@ -421,51 +423,42 @@
</head>
<body>
<% if ("true".equals(request.getParameter("deletesuccess"))) { %>
<div class="success">
<fmt:message key="plugin.admin.deleted_success"/>
</div>
<br>
<% }
else if ("false".equals(request.getParameter("deletesuccess"))) { %>
<div class="error">
<fmt:message key="plugin.admin.deleted_failure"/>
</div>
<br>
<% } %>
<% if ("true".equals(request.getParameter("reloadsuccess"))) { %>
<div class="success">
<fmt:message key="plugin.admin.reload_success"/>
</div>
<br>
<% } %>
<% if ("true".equals(request.getParameter("uploadsuccess"))) { %>
<div class="success">
<fmt:message key="plugin.admin.uploaded_success"/>
</div>
<br>
<% }
else if ("false".equals(request.getParameter("uploadsuccess"))) { %>
<div class="error">
<fmt:message key="plugin.admin.uploaded_failure"/>
</div>
<br>
<% } %>
<p>
<c:if test="${param.deletesuccess eq 'true'}">
<admin:infobox type="success">
<fmt:message key="plugin.admin.deleted_success" />
</admin:infobox>
</c:if>
<c:if test="${param.deletesuccess eq 'false'}">
<admin:infobox type="error">
<fmt:message key="plugin.admin.deleted_failure" />
</admin:infobox>
</c:if>
<c:if test="${param.reloadsuccess eq 'true'}">
<admin:infobox type="success">
<fmt:message key="plugin.admin.reload_success" />
</admin:infobox>
</c:if>
<c:if test="${param.reloadsuccess eq 'false'}">
<admin:infobox type="success">
<fmt:message key="plugin.admin.reload_failure" />
</admin:infobox>
</c:if>
<c:if test="${param.uploadsuccess eq 'true'}">
<admin:infobox type="success">
<fmt:message key="plugin.admin.uploaded_success" />
</admin:infobox>
</c:if>
<c:if test="${param.uploadsuccess eq 'false'}">
<admin:infobox type="error">
<fmt:message key="plugin.admin.uploaded_failure" />
</admin:infobox>
</c:if>
<c:if test="${ webManager.XMPPServer.pluginManager.monitorTaskRunning }">
<admin:infobox type="info">
<fmt:message key="plugin.admin.monitortask_running" />
</admin:infobox>
</c:if>
<p>
<fmt:message key="plugin.admin.info"/>
</p>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment