Commit 57fc8e83 authored by Gradl, Tobias's avatar Gradl, Tobias
Browse files

953: Create and show individual crawl log

Task-Url: https://pm.winseda.de/issues/953
parent c6faeb14
......@@ -9,54 +9,98 @@
<table class="table-light table-striped">
<tbody>
<c:forEach items="${crawls}" var="crawl" varStatus="status" >
<c:set var="state" value="ok" />
<c:set var="icon" value="check" />
<c:set var="state_message" value="~eu.dariah.de.minfba.search.states.ok" />
<c:choose>
<c:when test="${crawl.error}">
<c:set var="state" value="warning" />
<c:set var="icon" value="exclamation" />
<c:set var="state_message" value="~eu.dariah.de.minfba.search.states.crawl.error" />
</c:when>
<c:when test="${crawl.complete}">
<c:set var="state" value="ok" />
<c:set var="icon" value="check" />
<c:set var="state_message" value="~eu.dariah.de.minfba.search.states.crawl.complete" />
</c:when>
<c:when test="${crawl.busy}">
<c:set var="state" value="info" />
<c:set var="icon" value="refresh" />
<c:set var="state_message" value="~eu.dariah.de.minfba.search.states.crawl.busy" />
</c:when>
<c:when test="${crawl.waiting}">
<c:set var="state" value="info" />
<c:set var="icon" value="clock-o" />
<c:set var="state_message" value="~eu.dariah.de.minfba.search.states.crawl.waiting" />
</c:when>
</c:choose>
<tr id="crawl-${crawl.id}">
<td class="state-column state-${crawl.stringState}">
<c:choose>
<c:when test="${crawl.state=='CANCELLED'}">
<div class="cell-heading"><i class="fa fa-ban"></i></div>
<div class="cell-payload">~cancelled</div>
</c:when>
<c:when test="${crawl.state=='ERROR'}">
<div class="cell-heading"><i class="fa fa-exclamation"></i></div>
<div class="cell-payload">~error</div>
</c:when>
<c:when test="${crawl.state=='INPROGRESS'}">
<div class="cell-heading"><i class="fa fa-refresh"></i></div>
<div class="cell-payload">~in progress</div>
</c:when>
<c:when test="${crawl.state=='QUEUE'}">
<div class="cell-heading"><i class="fa fa-clock-o"></i></div>
<div class="cell-payload">~enqueued</div>
</c:when>
<c:otherwise>
<div class="cell-heading"><i class="fa fa-check"></i></div>
<div class="cell-payload">~ok</div>
</c:otherwise>
</c:choose>
</td>
<td class="content-column">
<div class="cell-heading"><joda:format value="${crawl.timestamp}" style="SM" /></div>
<div class="cell-payload no-break-out">${crawl.id}</div>
<td class="state-column state-${state}">
<div class="cell-heading no-wrap">
<c:choose>
<c:when test="${crawl.online}">
<i class="fa fa-lg fa-globe" aria-hidden="true"></i>
</c:when>
<c:otherwise>
<i class="fa fa-lg fa-refresh" aria-hidden="true"></i>
</c:otherwise>
</c:choose>
<i class="fa fa-lg fa-${icon}" aria-hidden="true"></i>
</div>
</td>
<td class="content-column">
<div class="cell-heading">${crawl.files} ~files</div>
<div class="cell-payload">${crawl.size}</div>
</td>
<td>
<c:if test="${crawl.state=='COMPLETE'}">
<button type="button" onclick="editor.performOffline('${crawl.id}');" class="btn btn-link"><i class="fa fa-repeat"></i> ~reindex</button><br />
</c:if>
<c:if test="${crawl.state=='ERROR'}">
<button type="button" onclick="editor.performOffline('${crawl.id}');" class="btn btn-link"><i class="fa fa-play"></i> ~ try continue</button><br />
<td class="content-column" <c:if test="${crawl.offline}">colspan="2"</c:if>>
<div class="cell-heading state-${state}">
<c:choose>
<c:when test="${crawl.online}">
<s:message code="~eu.dariah.de.minfba.search.model.crawl.online.explained" />
</c:when>
<c:otherwise>
<s:message code="~eu.dariah.de.minfba.search.model.crawl.offline.explained" />
</c:otherwise>
</c:choose>
</div>
<div class="cell-payload"><s:message code="~eu.dariah.de.minfba.search.model.crawl.timestamp" />: <strong><joda:format value="${crawl.timestamp}" style="LM" /></strong></div>
<div class="cell-payload no-break-out"><s:message code="~eu.dariah.de.minfba.search.model.crawl.id" />: ${crawl.id}</div>
<c:if test="${crawl.online}">
<div class="cell-payload"><s:message code="~eu.dariah.de.minfba.common.view.label.files" />: ${crawl.files}
<c:if test="${crawl.size !=null && crawl.size != ''}">
(${crawl.size})
</c:if>
</div>
</c:if>
<c:if test="${crawl.state!='INPROGRESS' && crawl.state!='QUEUE'}">
<button type="button" onclick="editor.removeCrawl('${crawl.id}', this);" class="btn btn-link"><i class="fa fa-trash fa-color-danger"></i> ~ remove</button>
<c:if test="${crawl.logAvailable}">
<div class="cell-payload">
<a href='<s:url value="/logs/${crawl.id}.html"></s:url>' target="_blank">
<i class="fa fa-external-link" aria-hidden="true"></i>
<s:message code="~eu.dariah.de.minfba.common.view.label.open_log" />
</a>
</div>
</c:if>
<c:if test="${crawl.state=='INPROGRESS' || crawl.state=='QUEUE'}">
<button type="button" onclick="editor.cancelCrawl('${crawl.id}', this);" class="btn btn-link"><i class="fa fa-ban fa-color-warning"></i> ~ cancel</button>
<c:if test="${crawl.offline}">
<div class="cell-payload no-break-out"><s:message code="~eu.dariah.de.minfba.search.model.crawl.base_crawl_id" />: ${crawl.baseCrawlId}</div>
</c:if>
</td>
<c:if test="${crawl.online}">
<td>
<c:if test="${state=='ok'}">
<button type="button" onclick="editor.performOffline('${crawl.id}');" class="btn btn-link"><i class="fa fa-repeat"></i> <s:message code="~eu.dariah.de.minfba.search.actions.crawls.reindex" /></button><br />
</c:if>
<c:if test="${state=='error'}">
<button type="button" onclick="editor.performOffline('${crawl.id}');" class="btn btn-link"><i class="fa fa-play"></i> <s:message code="~eu.dariah.de.minfba.search.actions.crawls.try_continue" /></button><br />
</c:if>
<c:if test="${state!='info'}">
<button type="button" onclick="editor.removeCrawl('${crawl.id}', this);" class="btn btn-link"><i class="fa fa-trash fa-color-danger"></i> <s:message code="~eu.dariah.de.minfba.search.actions.crawls.remove" /></button>
</c:if>
<c:if test="${state=='info'}">
<button type="button" onclick="editor.cancelCrawl('${crawl.id}', this);" class="btn btn-link"><i class="fa fa-ban fa-color-warning"></i> <s:message code="~eu.dariah.de.minfba.search.actions.crawls.cancel" /></button>
</c:if>
</td>
</c:if>
</tr>
</c:forEach>
</tbody>
......
......@@ -47,7 +47,7 @@
</c:when>
</c:choose>
<div id="table-details${ep.id}.${ds.id}" class="table-light-details<c:if test="${index!=0}"> hide</c:if>">
<div id="table-details${ep.id}-${ds.id}" class="table-light-details<c:if test="${index!=0}"> hide</c:if>">
<h4><s:message code="~eu.dariah.de.minfba.search.view.titles.details_parameter" /></h4>
<h5><s:message code="~eu.dariah.de.minfba.search.model.endpoint" /></h5>
<table class="details-table state-table">
......@@ -145,7 +145,7 @@
</c:choose>
<h4><s:message code="~eu.dariah.de.minfba.search.view.titles.existing_crawls" /></h4>
<h4><s:message code="~eu.dariah.de.minfba.search.view.titles.recent_activity" /></h4>
<div class="previous-crawls-container">
</div>
......
......@@ -45,7 +45,7 @@
<tr data-detail-target="${ep.id}.${ds.id}"<c:if test="${i==0}"> class="active"</c:if>>
<tr data-detail-target="${ep.id}-${ds.id}"<c:if test="${i==0}"> class="active"</c:if>>
<td class="state-column state-${status}">
<div class="cell-heading">
<i class="fa fa-lg fa-${icon}" aria-hidden="true"></i>
......
Supports Markdown
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