show cluster's name and status

This commit is contained in:
Keiichi Watanabe 2015-09-17 15:12:09 +09:00
parent 488f0ba3d5
commit 6d8017e449
3 changed files with 113 additions and 118 deletions

View file

@ -27,6 +27,7 @@ import org.codelibs.core.misc.DynamicProperties;
import org.codelibs.fess.annotation.Token;
import org.codelibs.fess.app.service.ScheduledJobService;
import org.codelibs.fess.app.web.base.FessAdminAction;
import org.codelibs.fess.client.FessEsClient;
import org.codelibs.fess.es.exentity.ScheduledJob;
import org.codelibs.fess.helper.JobHelper;
import org.codelibs.fess.helper.SystemHelper;
@ -53,6 +54,8 @@ public class AdminSystemAction extends FessAdminAction {
protected JobHelper jobHelper;
@Resource
protected ScheduledJobService scheduledJobService;
@Resource
protected FessEsClient fessEsClient;
// ===================================================================================
// Hook
@ -69,12 +72,11 @@ public class AdminSystemAction extends FessAdminAction {
@Execute
public HtmlResponse index(final SystemForm form) {
return asHtml(path_AdminSystem_IndexJsp).renderWith(data -> {
// TODO
// data.register("clusterName", );
// data.register("clusterStatus", );
data.register("crawlerRunning", isCrawlerRunning());
data.register("runningSessionIds", getRunningSessionIds());
});
data.register("clusterName", fessEsClient.getClusterName());
data.register("clusterStatus", fessEsClient.getStatus());
data.register("crawlerRunning", isCrawlerRunning());
data.register("runningSessionIds", getRunningSessionIds());
});
}
@Token(save = false, validate = true)

View file

@ -194,6 +194,10 @@ public class FessEsClient implements Client {
this.clusterName = clusterName;
}
public String getStatus() {
return admin().cluster().prepareHealth().execute().actionGet().getStatus().name();
}
public void setRunner(final ElasticsearchClusterRunner runner) {
this.runner = runner;
}

View file

@ -1,119 +1,108 @@
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Fess | <la:message key="labels.system_title_configuration" /></title>
<jsp:include page="/WEB-INF/view/common/admin2/head.jsp"></jsp:include>
</head>
<body class="skin-blue sidebar-mini">
<div class="wrapper">
<jsp:include page="/WEB-INF/view/common/admin2/header.jsp"></jsp:include>
<jsp:include page="/WEB-INF/view/common/admin2/sidebar.jsp">
<jsp:param name="menuCategoryType" value="system" />
<jsp:param name="menuType" value="system" />
</jsp:include>
<head>
<meta charset="UTF-8">
<title>Fess | <la:message key="labels.system_title_configuration" /></title>
<jsp:include page="/WEB-INF/view/common/admin2/head.jsp"></jsp:include>
</head>
<body class="skin-blue sidebar-mini">
<div class="wrapper">
<jsp:include page="/WEB-INF/view/common/admin2/header.jsp"></jsp:include>
<jsp:include page="/WEB-INF/view/common/admin2/sidebar.jsp">
<jsp:param name="menuCategoryType" value="system" />
<jsp:param name="menuType" value="system" />
</jsp:include>
<div class="content-wrapper">
<%-- Content Header --%>
<%-- Message --%>
<div>
<la:info id="msg" message="true">
<div class="alert-message info">
${msg}
</div>
</la:info>
<la:errors />
</div>
<div class="content-wrapper">
<%-- Content Header --%>
<%-- Message --%>
<div>
<la:info id="msg" message="true">
<div class="alert-message info">${msg}</div>
</la:info>
<la:errors />
</div>
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box">
<%-- Box Header --%>
<div class="box-header">
<h3 class="box-title">
<la:message key="labels.system_title_system_status" />
</h3>
</div>
<%-- Box Body --%>
<div class="box-body">
<table class="table table-bordered table-hover table-striped">
<tbody>
<tr>
<th class="col-xs-3"><la:message key="labels.es_cluster_name" />
</th>
<td>${f:h(clusterName)}
(<c:if test="${clusterStatus=='ACTIVE'}">
<la:message key="labels.es_active" />
</c:if> <c:if test="${clusterStatus!='ACTIVE'}">
<la:message key="labels.es_inactive" />
</c:if>)
</td>
</tr>
</tbody>
</table>
</div>
</div>
<la:form>
<div class="box">
<%-- Box Header --%>
<div class="box-header">
<h3 class="box-title">
<la:message key="labels.crawler_status_title" />
</h3>
</div>
<%-- Box Body --%>
<div class="box-body">
<%-- Message --%>
<table class="table table-bordered table-hover table-striped">
<tbody>
<tr>
<th class="col-xs-3">
<la:message key="labels.crawler_process_running" /></th>
<td>
<c:if test="${crawlerRunning}">
<la:message key="labels.crawler_running" />
</c:if><c:if test="${!crawlerRunning}">
<la:message key="labels.crawler_stopped" />
</c:if>
</td>
</tr>
<tr>
<th>
<la:message key="labels.crawler_process_action" />
</th>
<td>
<c:if test="${!crawlerRunning}">
<input type="submit" class="btn" name="start"
value="<la:message key="labels.crawler_button_start"/>" />
</c:if>
<c:if test="${crawlerRunning}">
<div class="form-inline">
<la:select property="sessionId" styleClass="form-control">
<option value=""><la:message key="labels.crawler_sessionid_all"/></option>
<c:forEach var="runningSessionId" items="${runningSessionIds}">
<option value="${f:h(runningSessionId)}">${f:h(runningSessionId)}</option>
</c:forEach>
</la:select>
<input type="submit" class="btn" name="stop"
value="<la:message key="labels.crawler_button_stop"/>" />
</div>
</c:if>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</la:form>
</div>
</div>
</section>
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box">
<%-- Box Header --%>
<div class="box-header">
<h3 class="box-title">
<la:message key="labels.system_title_system_status" />
</h3>
</div>
<%-- Box Body --%>
<div class="box-body">
<table class="table table-bordered table-hover table-striped">
<tbody>
<tr>
<th class="col-xs-3"><la:message
key="labels.es_cluster_name" /></th>
<td>${f:h(clusterName)}
(${f:h(clusterStatus)})</td>
</tr>
</tbody>
</table>
</div>
</div>
<jsp:include page="/WEB-INF/view/common/admin2/footer.jsp"></jsp:include>
<la:form>
<div class="box">
<%-- Box Header --%>
<div class="box-header">
<h3 class="box-title">
<la:message key="labels.crawler_status_title" />
</h3>
</div>
<%-- Box Body --%>
<div class="box-body">
<%-- Message --%>
<table class="table table-bordered table-hover table-striped">
<tbody>
<tr>
<th class="col-xs-3"><la:message
key="labels.crawler_process_running" /></th>
<td><c:if test="${crawlerRunning}">
<la:message key="labels.crawler_running" />
</c:if>
<c:if test="${!crawlerRunning}">
<la:message key="labels.crawler_stopped" />
</c:if></td>
</tr>
<tr>
<th><la:message key="labels.crawler_process_action" />
</th>
<td><c:if test="${!crawlerRunning}">
<input type="submit" class="btn" name="start"
value="<la:message key="labels.crawler_button_start"/>" />
</c:if> <c:if test="${crawlerRunning}">
<div class="form-inline">
<la:select property="sessionId" styleClass="form-control">
<option value=""><la:message
key="labels.crawler_sessionid_all" /></option>
<c:forEach var="runningSessionId"
items="${runningSessionIds}">
<option value="${f:h(runningSessionId)}">${f:h(runningSessionId)}</option>
</c:forEach>
</la:select>
<input type="submit" class="btn" name="stop"
value="<la:message key="labels.crawler_button_stop"/>" />
</div>
</c:if></td>
</tr>
</tbody>
</table>
</div>
</div>
</la:form>
</div>
</div>
<jsp:include page="/WEB-INF/view/common/admin2/foot.jsp"></jsp:include>
</body>
</section>
</div>
<jsp:include page="/WEB-INF/view/common/admin2/footer.jsp"></jsp:include>
</div>
<jsp:include page="/WEB-INF/view/common/admin2/foot.jsp"></jsp:include>
</body>
</html>