blob: e1dcc38cce89b01250a27730daa556751bb94d1e [file] [log] [blame]
<%--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you 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.
--%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="redback" uri="http://plexus.codehaus.org/redback/taglib-1.0" %>
<%@ taglib prefix="archiva" uri="http://archiva.apache.org" %>
<html>
<head>
<title>Administration - Proxy Connectors</title>
<s:head/>
</head>
<body>
<h1>Administration - Proxy Connectors</h1>
<c:url var="iconDeleteUrl" value="/images/icons/delete.gif"/>
<c:url var="iconEditUrl" value="/images/icons/edit.png"/>
<c:url var="iconCreateUrl" value="/images/icons/create.png"/>
<c:url var="iconUpUrl" value="/images/icons/up.gif"/>
<c:url var="iconDownUrl" value="/images/icons/down.gif"/>
<c:url var="iconEnable" value="/images/icons/on-symbol.png"/>
<c:url var="iconDisable" value="/images/icons/off-symbol.png"/>
<div id="contentArea">
<s:actionerror/>
<s:actionmessage/>
<div style="float:right">
<c:choose>
<c:when test="${remoteRepoExists}">
<redback:ifAnyAuthorized permissions="archiva-manage-configuration">
<s:url id="addProxyConnectorUrl" action="addProxyConnector"/>
<s:a href="%{addProxyConnectorUrl}" cssClass="create">
<img src="<c:url value="/images/icons/create.png" />"/>
Add
</s:a>
</redback:ifAnyAuthorized>
</c:when>
<c:otherwise>
<img src="<c:url value="/images/icons/create.png" />"/>
Add (Disabled. No remote repositories)
</c:otherwise>
</c:choose>
</div>
<h2>Repository Proxy Connectors</h2>
<c:choose>
<c:when test="${empty (proxyConnectorMap)}">
<strong>No Repository Proxy Connectors Defined.</strong>
</c:when>
<c:otherwise>
<div class="admin">
<c:forEach items="${proxyConnectorMap}" var="repository" varStatus="i">
<div class="proxyConfig">
<div class="managedRepo">
<img src="<c:url value="/images/archiva-splat-32.gif"/>"/>
<p class="id">${repository.key}</p>
<p class="name">${repoMap[repository.key].name}</p>
</div>
<c:set var="numberOfRepos" value="${fn:length(repository.value)}" />
<c:forEach items="${repository.value}" var="connector" varStatus="pc">
<c:choose>
<c:when test='${(pc.index)%2 eq 0}'>
<c:set var="rowColor" value="dark" scope="page"/>
</c:when>
<c:otherwise>
<c:set var="rowColor" value="lite" scope="page"/>
</c:otherwise>
</c:choose>
<div class="connector ${rowColor}">
<div class="controls">
<redback:ifAnyAuthorized permissions="archiva-manage-configuration">
<s:url id="sortDownProxyConnectorUrl" action="sortDownProxyConnector">
<s:param name="source" value="%{#attr.connector.sourceRepoId}"/>
<s:param name="target" value="%{#attr.connector.targetRepoId}"/>
</s:url>
<s:url id="sortUpProxyConnectorUrl" action="sortUpProxyConnector">
<s:param name="source" value="%{#attr.connector.sourceRepoId}"/>
<s:param name="target" value="%{#attr.connector.targetRepoId}"/>
</s:url>
<s:url id="editProxyConnectorUrl" action="editProxyConnector">
<s:param name="target" value="%{#attr.connector.targetRepoId}"/>
<s:param name="source" value="%{#attr.connector.sourceRepoId}"/>
</s:url>
<s:url id="deleteProxyConnectorUrl" action="deleteProxyConnector" method="confirmDelete">
<s:param name="source" value="%{#attr.connector.sourceRepoId}"/>
<s:param name="target" value="%{#attr.connector.targetRepoId}"/>
</s:url>
<s:url id="enableProxyConnectorUrl" action="enableProxyConnector" method="confirmEnable">
<s:param name="source" value="%{#attr.connector.sourceRepoId}"/>
<s:param name="target" value="%{#attr.connector.targetRepoId}"/>
</s:url>
<s:url id="disableProxyConnectorUrl" action="disableProxyConnector" method="confirmDisable">
<s:param name="source" value="%{#attr.connector.sourceRepoId}"/>
<s:param name="target" value="%{#attr.connector.targetRepoId}"/>
</s:url>
<c:if test="${connector.disabled}">
<s:a href="%{enableProxyConnectorUrl}" title="Enable Proxy Connector">
<img src="${iconDisable}"/>
</s:a>
</c:if>
<c:if test="${connector.disabled == false}">
<s:a href="%{disableProxyConnectorUrl}" title="Disable Proxy Connector">
<img src="${iconEnable}"/>
</s:a>
</c:if>
<c:if test="${pc.count > 1}">
<s:a href="%{sortUpProxyConnectorUrl}" title="Move Proxy Connector Up">
<img src="${iconUpUrl}"/>
</s:a>
</c:if>
<c:if test="${pc.count < numberOfRepos}">
<s:a href="%{sortDownProxyConnectorUrl}" cssClass="down" title="Move Proxy Connector Down">
<img src="${iconDownUrl}"/>
</s:a>
</c:if>
<s:a href="%{editProxyConnectorUrl}" cssClass="edit" title="Edit Proxy Connector">
<img src="${iconEditUrl}"/>
</s:a>
<s:a href="%{deleteProxyConnectorUrl}" cssClass="delete" title="Delete Proxy Connector">
<img src="${iconDeleteUrl}"/>
</s:a>
</redback:ifAnyAuthorized>
</div>
<h4>Proxy Connector</h4>
<div class="remoteRepo">
<img src="<c:url value="/images/archiva-world.png"/>"/>
<p class="id">${connector.targetRepoId}</p>
<p class="name">${repoMap[connector.targetRepoId].name}</p>
<p class="url"><a href="${repoMap[connector.targetRepoId].url}">${repoMap[connector.targetRepoId].url}</a></p>
</div>
<a class="expand" href="#" onclick="Effect.toggle('proxySettings_${connector.sourceRepoId}_${connector.targetRepoId}','slide'); return false;">Expand</a>
<table class="settings" style="display: none;" id="proxySettings_${connector.sourceRepoId}_${connector.targetRepoId}">
<tr>
<th nowrap="nowrap">Network Proxy:</th>
<td>
<c:choose>
<c:when test="${empty (connector.proxyId)}">
<span class="directConnection">(Direct Connection)</span>
</c:when>
<c:otherwise>
<s:url id="editProxyIdUrl" action="editNetworkProxy">
<s:param name="proxyid" value="%{'#attr.connector.proxyId'}"/>
</s:url>
<s:a href="%{editProxyIdUrl}" cssClass="edit" title="Edit Network Proxy">
${connector.proxyId}
<img src="${iconEditUrl}"/>
</s:a>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th>Policies:</th>
<td nowrap="nowrap">
<table class="policies">
<c:forEach items="${connector.policies}" var="policies">
<tr>
<th>${policies.key}</th>
<td>${policies.value}</td>
</tr>
</c:forEach>
</table>
</td>
</tr>
<c:if test="${not (empty (connector.whiteListPatterns))}">
<tr>
<th nowrap="nowrap">White List:</th>
<td nowrap="nowrap">
<c:forEach items="${connector.whiteListPatterns}" var="pattern">
<p><code>"${pattern}"</code></p>
</c:forEach>
</td>
</tr>
</c:if>
<c:if test="${not (empty (connector.blackListPatterns))}">
<tr>
<th nowrap="nowrap">Black List:</th>
<td>
<c:forEach items="${connector.blackListPatterns}" var="pattern">
<p><code>"${pattern}"</code></p>
</c:forEach>
</td>
</tr>
</c:if>
<c:if test="${not (empty (connector.properties))}">
<tr>
<th>Properties:</th>
<td>
<table class="props">
<c:forEach items="${connector.properties}" var="prop">
<tr>
<th>${prop.key}</th>
<td>${prop.value}</td>
</tr>
</c:forEach>
</table>
</td>
</tr>
</c:if>
</table>
</div> <%-- connector --%>
</c:forEach>
</div> <%-- proxyConfig --%>
</c:forEach>
</div> <%-- admin --%>
</c:otherwise>
</c:choose>
</div>
</body>
</html>