diff options
author | Olivier Lamy <olamy@apache.org> | 2011-10-04 08:55:51 +0000 |
---|---|---|
committer | Olivier Lamy <olamy@apache.org> | 2011-10-04 08:55:51 +0000 |
commit | 345cc14b7cdf00ad5c0e512cd3c5876f8cfed3f3 (patch) | |
tree | c7c9c20d55f100d1c1548740051d8d8348c44286 /archiva-modules | |
parent | 0d0e89a25bbe7c12ce38b9172d41a988f8f88082 (diff) | |
download | archiva-345cc14b7cdf00ad5c0e512cd3c5876f8cfed3f3.tar.gz archiva-345cc14b7cdf00ad5c0e512cd3c5876f8cfed3f3.zip |
[MRM-1526] configure http connection pool values for wagon http: ui part
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1178725 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules')
4 files changed, 167 insertions, 0 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/network/NetworkConfigurationAction.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/network/NetworkConfigurationAction.java new file mode 100644 index 000000000..552682a9c --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/network/NetworkConfigurationAction.java @@ -0,0 +1,97 @@ +package org.apache.archiva.web.action.admin.network; +/* + * 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. + */ + +import com.opensymphony.xwork2.Preparable; +import org.apache.archiva.admin.model.RepositoryAdminException; +import org.apache.archiva.admin.model.admin.ArchivaAdministration; +import org.apache.archiva.admin.model.beans.NetworkConfiguration; +import org.apache.archiva.security.common.ArchivaRoleConstants; +import org.apache.archiva.web.action.AbstractActionSupport; +import org.codehaus.plexus.redback.rbac.Resource; +import org.codehaus.redback.integration.interceptor.SecureAction; +import org.codehaus.redback.integration.interceptor.SecureActionBundle; +import org.codehaus.redback.integration.interceptor.SecureActionException; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; + +import javax.inject.Inject; + +/** + * @author Olivier Lamy + */ +@Controller( "networkConfigurationAction" ) +@Scope( "prototype" ) +public class NetworkConfigurationAction + extends AbstractActionSupport + implements Preparable, SecureAction +{ + + @Inject + private ArchivaAdministration archivaAdministration; + + private NetworkConfiguration networkConfiguration; + + public void prepare( ) + throws Exception + { + networkConfiguration = archivaAdministration.getNetworkConfiguration( ); + } + + public SecureActionBundle getSecureActionBundle( ) + throws SecureActionException + { + SecureActionBundle bundle = new SecureActionBundle( ); + + bundle.setRequiresAuthentication( true ); + bundle.addRequiredAuthorization( ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION, Resource.GLOBAL ); + + return bundle; + } + + public String edit( ) + { + return INPUT; + } + + public String save( ) + { + try + { + archivaAdministration.setNetworkConfiguration( this.networkConfiguration ); + } + catch ( RepositoryAdminException e ) + { + addActionError( "Error during networkConfiguration upate:" + e.getMessage( ) ); + return ERROR; + } + addActionMessage( "Network Configuration Updated" ); + return SUCCESS; + } + + public NetworkConfiguration getNetworkConfiguration( ) + { + return networkConfiguration; + } + + public void setNetworkConfiguration( NetworkConfiguration networkConfiguration ) + { + this.networkConfiguration = networkConfiguration; + } +} diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml index 54116d0d7..ef83869b0 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml @@ -578,6 +578,22 @@ </interceptor-ref> </action> + <!-- .\ NETWORKCONFIGURATION SUPPORT \.__________________________________________ --> + <action name="editNetworkConfiguration" class="networkConfigurationAction" method="edit"> + <result name="input">/WEB-INF/jsp/admin/networkConfiguration.jsp</result> + <result name="error">/WEB-INF/jsp/admin/networkConfiguration.jsp</result> + <interceptor-ref name="configuredPrepareParamsStack"/> + </action> + + <action name="saveNetworkConfiguration" class="networkConfigurationAction" method="save"> + <result name="input">/WEB-INF/jsp/admin/networkConfiguration.jsp</result> + <result name="error">/WEB-INF/jsp/admin/networkConfiguration.jsp</result> + <result name="success" type="redirectAction">editNetworkConfiguration</result> + <interceptor-ref name="configuredPrepareParamsStack"> + <param name="tokenSession.includeMethods">*</param> + </interceptor-ref> + </action> + </package> <package name="report" namespace="/report" extends="base"> diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/networkConfiguration.jsp b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/networkConfiguration.jsp new file mode 100644 index 000000000..6cb780414 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/networkConfiguration.jsp @@ -0,0 +1,51 @@ +<%-- + ~ 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. + --%> + +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + +<html> +<head> + <title>Configure NetworkConfiguration</title> + <s:head/> +</head> + +<body> + +<h1>Admin: Configure NetworkConfiguration</h1> + +<div id="contentArea"> + + <s:actionerror/> + <s:actionmessage/> + + <s:form name="saveNetworkConfiguration" method="post" action="saveNetworkConfiguration" namespace="/admin" validate="true"> + <s:token/> + <s:textfield name="networkConfiguration.maxTotal" label="Max Total Http Connections"/> + <s:textfield name="networkConfiguration.maxTotalPerHost" label="Max Total Http Connections per host"/> + <s:checkbox name="networkConfiguration.usePooling" label="Use http connection pooling"/> + <s:submit value="Save Network Configuration"/> + </s:form> + +</div> + +</body> + +</html>
\ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp index 7a6d490f1..0c4663493 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp @@ -173,6 +173,9 @@ <li class="none"> <my:currentWWUrl action="systemStatus" namespace="/admin">System Status</my:currentWWUrl> </li> + <li class="none"> + <my:currentWWUrl action="editNetworkConfiguration" namespace="/admin">Network Configuration</my:currentWWUrl> + </li> <%-- TODO: future options here. * Repository Syncing Connectors. (rsync, ftp, scp, etc...) * Web Services (enable / disable), role based? |