server/resources/report/buildUsedResources.jsp (122 lines of code) (raw):

<%--suppress ELValidationInJSP --%> <%@ include file="/include-internal.jsp" %> <%@ taglib prefix="admin" tagdir="/WEB-INF/tags/admin" %> <%@ page import="jetbrains.buildServer.sharedResources.model.resources.ResourceType" %> <%@ page import="jetbrains.buildServer.sharedResources.model.LockType" %> <c:set var="CUSTOM" value="<%=ResourceType.CUSTOM.name()%>"/> <c:set var ="TYPE_READ" value="<%=LockType.READ.getName()%>"/> <c:set var ="TYPE_WRITE" value="<%=LockType.WRITE.getName()%>"/> <bs:linkCSS> /css/buildLog/buildParameters.css </bs:linkCSS> <c:choose> <%--@elvariable id="usedResources" type="java.util.List<jetbrains.buildServer.sharedResources.server.report.UsedResource>"--%> <%--@elvariable id="resourceOrigins" type="java.util.Map<java.lang.String, jetbrains.buildServer.serverSide.SProject>"--%> <%--@elvariable id="parameters" type="java.util.List<com.intellij.openapi.util.Pair<java.lang.String, java.lang.String>>"--%> <c:when test="${not empty usedResources}"> <div class="buildParameters"> <h2>Shared resources used by the build</h2> <table class="runnerFormTable" style="width: 80em;"> <tr> <th style="width: 25%; white-space: nowrap">Resource</th> <th>Lock</th> </tr> <c:forEach var="ur" items="${usedResources}"> <c:set var="rc" value="${ur.resource}"/> <tr> <td style="white-space: nowrap"> <c:set var="tooltipContent" value=""/> <c:set var="project" value="${resourceOrigins[rc.name]}"/> <c:set var="resourceNameContent"> <c:choose> <c:when test="${not empty project}"> <authz:authorize projectId="${project.externalId}" allPermissions="EDIT_PROJECT"> <jsp:attribute name="ifAccessGranted"> <%--edit project--%> <admin:editProjectLink projectId="${project.externalId}" addToUrl="&tab=JetBrains.SharedResources"><bs:out value="${project.name} / ${rc.name}"/></admin:editProjectLink> </jsp:attribute> <jsp:attribute name="ifAccessDenied"> <%--view project--%> <bs:projectLink project="${project}"><bs:out value="${project.name} / ${rc.name}"/></bs:projectLink> </jsp:attribute> </authz:authorize> </c:when> <c:otherwise> <bs:out value="${rc.name}"/> </c:otherwise> </c:choose> </c:set> <c:choose> <c:when test="${not empty rc}"> <c:set var="containerId" value="resource_${util:forJSIdentifier(rc.name)}"/> <c:choose> <c:when test="${rc.type == CUSTOM}"> <div id="${containerId}" style="display:none"> <bs:out value="Resource with custom values: "/> <ul> <c:forEach items="${rc.values}" var="val"> <li><bs:out value="${val}"/></li> </c:forEach> </ul> </div> </c:when> <c:otherwise> <div id="${containerId}" style="display:none"> <c:choose> <c:when test="${rc.quota == -1}"> <bs:out value="Resource with infinite quota"/><br/> </c:when> <c:otherwise> <bs:out value="Resource with quota of ${rc.quota}"/><br/> </c:otherwise> </c:choose> </div> </c:otherwise> </c:choose> <c:set var="tooltipContent"> <bs:tooltipAttrs containerId="${containerId}"/> </c:set> </c:when> <c:otherwise/> </c:choose> <span ${tooltipContent}>${resourceNameContent}</span> </td> <td> <c:forEach items="${ur.locks}" var="lock"> <c:choose> <c:when test="${rc.type == CUSTOM}"> <c:choose> <c:when test="${lock.type.name == TYPE_READ}"> Locked value: <code><bs:out value="${lock.value}"/></code><br/> </c:when> <c:otherwise> <bs:out value="All custom values were locked"/> </c:otherwise> </c:choose> </c:when> <c:otherwise> <bs:out value="${lock.type.descriptiveName}"/><br/> </c:otherwise> </c:choose> </c:forEach> </td> </tr> </c:forEach> </table> <c:if test="${not empty parameters}"> <h2>Provided build parameters</h2> <table class="runnerFormTable" style="width: 80em;"> <tr> <th style="width: 25%; white-space: nowrap">Name</th> <th>Value</th> </tr> <c:forEach items="${parameters}" var="pair"> <c:set var="val" value="${empty pair.second ? '<empty>' : pair.second}"/> <c:set var="valueClass" value="${empty pair.second ? 'emptyValue' : ''}"/> <tr> <td class="at_top"><c:out value="${pair.first}"/></td> <td class="${valueClass}"><bs:out value="${val}" multilineOnly="true"/></td> </tr> </c:forEach> </table> </c:if> </div> </c:when> <c:otherwise> <bs:out value="No resources were locked by the current build"/> </c:otherwise> </c:choose>