<multiplicity>*</multiplicity>
</association>
</field>
+ <field>
+ <name>disabled</name>
+ <version>1.2+</version>
+ <description>
+ If the the repository proxy connector is disabled or not
+ </description>
+ <type>boolean</type>
+ <defaultValue>false</defaultValue>
+ </field>
</fields>
<codeSegments>
<codeSegment>
Map<String, Exception> previousExceptions = new LinkedHashMap<String, Exception>();
for ( ProxyConnector connector : connectors )
{
+ if (connector.isDisabled())
+ {
+ continue;
+ }
+
RemoteRepositoryContent targetRepository = connector.getTargetRepository();
requestProperties.setProperty( "remoteRepositoryId", targetRepository.getId() );
List<ProxyConnector> connectors = getProxyConnectors( repository );
for ( ProxyConnector connector : connectors )
{
+ if (connector.isDisabled())
+ {
+ continue;
+ }
+
RemoteRepositoryContent targetRepository = connector.getTargetRepository();
requestProperties.setProperty( "remoteRepositoryId", targetRepository.getId() );
List<ProxyConnector> connectors = getProxyConnectors( repository );
for ( ProxyConnector connector : connectors )
{
+ if (connector.isDisabled())
+ {
+ continue;
+ }
+
RemoteRepositoryContent targetRepository = connector.getTargetRepository();
File localRepoFile = toLocalRepoFile( repository, targetRepository, logicalPath );
private int order;
private Map<String, String> policies;
+
+ private boolean disabled;
+
+ public boolean isDisabled()
+ {
+ return disabled;
+ }
+
+ public void setDisabled(boolean disabled)
+ {
+ this.disabled = disabled;
+ }
public List<String> getBlacklist()
{
this.proxyId = proxyId;
}
+ @Override
public String toString()
{
StringBuffer sb = new StringBuffer();
public List<String> getBlacklist();
public List<String> getWhitelist();
+
+ public boolean isDisabled();
+
+ public void setDisabled(boolean disabled);
}
--- /dev/null
+package org.apache.maven.archiva.web.action.admin.connectors.proxy;
+
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
+
+/*
+ * 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.
+ */
+
+/**
+ * DisableProxyConnectorAction
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="disableProxyConnectorAction"
+ */
+public class DisableProxyConnectorAction extends AbstractProxyConnectorAction
+{
+ private String source;
+
+ private String target;
+
+ private ProxyConnectorConfiguration proxyConfig;
+
+ public String confirmDisable()
+ {
+ this.proxyConfig = findProxyConnector( source, target );
+
+ // Not set? Then there is nothing to delete.
+ if ( this.proxyConfig == null )
+ {
+ addActionError( "Unable to disable proxy configuration, configuration with source [" + source
+ + "], and target [" + target + "] does not exist." );
+ return ERROR;
+ }
+
+ return INPUT;
+ }
+
+ public String disable()
+ {
+ this.proxyConfig = findProxyConnector( source, target );
+
+ // Not set? Then there is nothing to delete.
+ if ( this.proxyConfig == null )
+ {
+ addActionError( "Unable to disable proxy configuration, configuration with source [" + source
+ + "], and target [" + target + "] does not exist." );
+ return ERROR;
+ }
+
+ if ( hasActionErrors() )
+ {
+ return ERROR;
+ }
+
+ proxyConfig.setDisabled(true);
+
+ addActionMessage( "Successfully disabled proxy connector [" + source + " , " + target + " ]" );
+
+ setSource( null );
+ setTarget( null );
+
+ return saveConfiguration();
+ }
+
+ public String getSource()
+ {
+ return source;
+ }
+
+ public void setSource(String source)
+ {
+ this.source = source;
+ }
+
+ public String getTarget()
+ {
+ return target;
+ }
+
+ public void setTarget(String target)
+ {
+ this.target = target;
+ }
+}
--- /dev/null
+package org.apache.maven.archiva.web.action.admin.connectors.proxy;
+
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
+
+/*
+ * 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.
+ */
+
+/**
+ * EnableProxyConnectorAction
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="enableProxyConnectorAction"
+ */
+public class EnableProxyConnectorAction extends AbstractProxyConnectorAction
+{
+ private String source;
+
+ private String target;
+
+ private ProxyConnectorConfiguration proxyConfig;
+
+ public String confirmEnable()
+ {
+ this.proxyConfig = findProxyConnector( source, target );
+
+ // Not set? Then there is nothing to delete.
+ if ( this.proxyConfig == null )
+ {
+ addActionError( "Unable to enable proxy configuration, configuration with source [" + source
+ + "], and target [" + target + "] does not exist." );
+ return ERROR;
+ }
+
+ return INPUT;
+ }
+
+ public String enable()
+ {
+ this.proxyConfig = findProxyConnector( source, target );
+
+ // Not set? Then there is nothing to delete.
+ if ( this.proxyConfig == null )
+ {
+ addActionError( "Unable to enabled proxy configuration, configuration with source [" + source
+ + "], and target [" + target + "] does not exist." );
+ return ERROR;
+ }
+
+ if ( hasActionErrors() )
+ {
+ return ERROR;
+ }
+
+ proxyConfig.setDisabled(true);
+
+ addActionMessage( "Successfully enabled proxy connector [" + source + " , " + target + " ]" );
+
+ setSource( null );
+ setTarget( null );
+
+ return saveConfiguration();
+ }
+
+ public String getSource()
+ {
+ return source;
+ }
+
+ public void setSource(String source)
+ {
+ this.source = source;
+ }
+
+ public String getTarget()
+ {
+ return target;
+ }
+
+ public void setTarget(String target)
+ {
+ this.target = target;
+ }
+}
<result name="success" type="redirect-action">proxyConnectors</result>
<interceptor-ref name="configuredPrepareParamsStack"/>
</action>
+
+ <action name="enableProxyConnector" class="enableProxyConnectorAction" method="confirm">
+ <result name="input">/WEB-INF/jsp/admin/enableProxyConnector.jsp</result>
+ <result name="success" type="redirect-action">proxyConnectors</result>
+ <interceptor-ref name="configuredPrepareParamsStack"/>
+ </action>
+
+ <action name="disableProxyConnector" class="disableProxyConnectorAction" method="confirm">
+ <result name="input">/WEB-INF/jsp/admin/disableProxyConnector.jsp</result>
+ <result name="success" type="redirect-action">proxyConnectors</result>
+ <interceptor-ref name="configuredPrepareParamsStack"/>
+ </action>
+
<!-- .\ NETWORK PROXIES \._________________________________________ -->
--- /dev/null
+<%--
+ ~ 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="ww" uri="/webwork" %>
+
+<html>
+<head>
+ <title>Admin: Disable Proxy Connector</title>
+ <ww:head/>
+</head>
+
+<body>
+
+<h1>Admin: Disable Proxy Connector</h1>
+
+<ww:actionerror/>
+
+<div id="contentArea">
+
+ <h2>Disable Proxy Connector</h2>
+
+ <p>
+ Are you sure you want to disable proxy connector <code>[ ${source} , ${target} ]</code> ?
+ </p>
+
+ <ww:form method="post" action="disableProxyConnector!disable" namespace="/admin" validate="true">
+ <ww:hidden name="target"/>
+ <ww:hidden name="source"/>
+ <ww:submit value="Disable"/>
+ </ww:form>
+</div>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<%--
+ ~ 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="ww" uri="/webwork" %>
+
+<html>
+<head>
+ <title>Admin: Enable Proxy Connector</title>
+ <ww:head/>
+</head>
+
+<body>
+
+<h1>Admin: Enable Proxy Connector</h1>
+
+<ww:actionerror/>
+
+<div id="contentArea">
+
+ <h2>Enable Proxy Connector</h2>
+
+ <p>
+ Are you sure you want to enable proxy connector <code>[ ${source} , ${target} ]</code> ?
+ </p>
+
+ <ww:form method="post" action="enableProxyConnector!enable" namespace="/admin" validate="true">
+ <ww:hidden name="target"/>
+ <ww:hidden name="source"/>
+ <ww:submit value="Enable"/>
+ </ww:form>
+</div>
+
+</body>
+</html>
\ No newline at end of file
<ww:param name="source" value="%{'${connector.sourceRepoId}'}"/>
<ww:param name="target" value="%{'${connector.targetRepoId}'}"/>
</ww:url>
+ <ww:url id="enableProxyConnectorUrl" action="enableProxyConnector" method="confirmEnable">
+ <ww:param name="source" value="%{'${connector.sourceRepoId}'}"/>
+ <ww:param name="target" value="%{'${connector.targetRepoId}'}"/>
+ </ww:url>
+ <ww:url id="disableProxyConnectorUrl" action="disableProxyConnector" method="confirmDisable">
+ <ww:param name="source" value="%{'${connector.sourceRepoId}'}"/>
+ <ww:param name="target" value="%{'${connector.targetRepoId}'}"/>
+ </ww:url>
+ <c:if test="${connector.disabled}">
+ <ww:a href="%{enableProxyConnectorUrl}" label="Enable Proxy Connector">
+ Enable
+ </ww:a>
+ </c:if>
+ <c:if test="${connector.disabled == false}">
+ <ww:a href="%{disableProxyConnectorUrl}" title="Disable Proxy Connector">
+ Disable
+ </ww:a>
+ </c:if>
<c:if test="${pc.count > 1}">
<ww:a href="%{sortUpProxyConnectorUrl}" cssClass="up" title="Move Proxy Connector Up">
<img src="${iconUpUrl}"/>