You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/05/05 02:05:26 UTC
svn commit: r535418 [1/2] - in /maven/archiva/trunk:
archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/
archiva-base/archiva-configuration/src/main/mdo/
archiva-base/archiva-policies/src/main/java/org/apache/m...
Author: joakime
Date: Fri May 4 17:05:23 2007
New Revision: 535418
URL: http://svn.apache.org/viewvc?view=rev&rev=535418
Log:
* Updates to repositories and proxy connector configuration / admin screens.
Added:
maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/
maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java (with props)
maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java (with props)
maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java (with props)
maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java (with props)
maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java
- copied, changed from r534213, maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/models/AdminRepositoryConfiguration.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/ConfigureRepositoryAction.java
- copied, changed from r534213, maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/ConfigureRepositoryAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
- copied, changed from r534213, maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/RepositoriesAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoryConfigurationAdminTransformer.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/scanning/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/scanning/RepositoryScanningAction.java (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addProxyConnector.jsp (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editProxyConnector.jsp (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/proxyConnectorForm.jspf
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/repositoryForm.jspf
- copied, changed from r534213, maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/proxyConnectors.jsp (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/archiva-splat-32.gif (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/archiva-world.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/arrow-down.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/arrow-left.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/arrow-right.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/arrow-up.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/box.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/create.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/delete.gif (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/edit.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/security-key.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/security-lock.png (with props)
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/images/icons/user.png (with props)
Removed:
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/AbstractDeleteRepositoryAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/AbstractRepositoryAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/ConfigureRepositoryAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/DeleteRepositoryAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/EditRepositoryAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/RepositoriesAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/SaveRepositoryAction.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/models/
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/managedRepositoryForm.jspf
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/proxiedRepositoryForm.jspf
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/syncedRepositoryForm.jspf
Modified:
maven/archiva/trunk/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/AbstractUpdatePolicy.java
maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/CachedFailuresPolicy.java
maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java
maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/DownloadPolicy.java
maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ReleasesPolicy.java
maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/SnapshotsPolicy.java
maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/resources/xwork.xml
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/deleteRepository.jsp
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/css/maven-base.css
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/webapp/css/site.css
Added: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java Fri May 4 17:05:23 2007
@@ -0,0 +1,55 @@
+package org.apache.maven.archiva.configuration.util;
+
+/*
+ * 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+
+/**
+ * Predicate for {@link RepositoryConfiguration} objects that are local (aka managed)
+ * {@link RepositoryConfiguration#isManaged()}
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class LocalRepositoryPredicate
+ implements Predicate
+{
+ public static final Predicate INSTANCE = new LocalRepositoryPredicate();
+
+ public static Predicate getInstance()
+ {
+ return INSTANCE;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof RepositoryConfiguration )
+ {
+ RepositoryConfiguration repoconfig = (RepositoryConfiguration) object;
+ return repoconfig.isManaged();
+ }
+
+ return satisfies;
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/LocalRepositoryPredicate.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java Fri May 4 17:05:23 2007
@@ -0,0 +1,59 @@
+package org.apache.maven.archiva.configuration.util;
+
+/*
+ * 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 org.apache.commons.collections.Predicate;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
+
+/**
+ * ProxyConnectorPredicate
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ProxyConnectorSelectionPredicate
+ implements Predicate
+{
+ private String sourceId;
+
+ private String targetId;
+
+ public ProxyConnectorSelectionPredicate( String sourceId, String targetId )
+ {
+ this.sourceId = sourceId;
+ this.targetId = targetId;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof ProxyConnectorConfiguration )
+ {
+ ProxyConnectorConfiguration connector = (ProxyConnectorConfiguration) object;
+ return ( StringUtils.equals( sourceId, connector.getSourceRepoId() ) && StringUtils
+ .equals( targetId, connector.getTargetRepoId() ) );
+ }
+
+ return satisfies;
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/ProxyConnectorSelectionPredicate.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java Fri May 4 17:05:23 2007
@@ -0,0 +1,54 @@
+package org.apache.maven.archiva.configuration.util;
+
+/*
+ * 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 org.apache.commons.collections.Predicate;
+import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+
+/**
+ * Predicate for {@link RepositoryConfiguration} objects that are remote
+ * {@link RepositoryConfiguration#isRemote()}
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RemoteRepositoryPredicate
+ implements Predicate
+{
+ public static final Predicate INSTANCE = new RemoteRepositoryPredicate();
+
+ public static Predicate getInstance()
+ {
+ return INSTANCE;
+ }
+
+ public boolean evaluate( Object object )
+ {
+ boolean satisfies = false;
+
+ if ( object instanceof RepositoryConfiguration )
+ {
+ RepositoryConfiguration repoconfig = (RepositoryConfiguration) object;
+ return repoconfig.isRemote();
+ }
+
+ return satisfies;
+ }
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RemoteRepositoryPredicate.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java Fri May 4 17:05:23 2007
@@ -0,0 +1,63 @@
+package org.apache.maven.archiva.configuration.util;
+
+/*
+ * 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 org.apache.maven.archiva.configuration.RepositoryConfiguration;
+
+import java.util.Comparator;
+
+/**
+ * RepositoryConfigurationComparator
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RepositoryConfigurationComparator
+ implements Comparator
+{
+
+ public int compare( Object o1, Object o2 )
+ {
+ if ( o1 == null && o2 == null )
+ {
+ return 0;
+ }
+
+ if ( o1 == null && o2 != null )
+ {
+ return 1;
+ }
+
+ if ( o1 != null && o2 == null )
+ {
+ return -1;
+ }
+
+ if ( ( o1 instanceof RepositoryConfiguration ) && ( o2 instanceof RepositoryConfiguration ) )
+ {
+ String id1 = ( (RepositoryConfiguration) o1 ).getId();
+ String id2 = ( (RepositoryConfiguration) o2 ).getId();
+ return id1.compareToIgnoreCase( id2 );
+ }
+
+ return 0;
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryConfigurationComparator.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java Fri May 4 17:05:23 2007
@@ -0,0 +1,56 @@
+package org.apache.maven.archiva.configuration.util;
+
+/*
+ * 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 org.apache.commons.collections.Closure;
+import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+
+import java.util.List;
+
+/**
+ * RepositoryIdListClosure
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RepositoryIdListClosure
+ implements Closure
+{
+ private List list;
+
+ public RepositoryIdListClosure( List list )
+ {
+ this.list = list;
+ }
+
+ public void execute( Object input )
+ {
+ if ( input instanceof RepositoryConfiguration )
+ {
+ RepositoryConfiguration repoconfig = (RepositoryConfiguration) input;
+ list.add( repoconfig.getId() );
+ }
+ }
+
+ public List getList()
+ {
+ return list;
+ }
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/util/RepositoryIdListClosure.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo (original)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo Fri May 4 17:05:23 2007
@@ -365,7 +365,7 @@
<field>
<name>policies</name>
<version>1.0.0+</version>
- <type>Properties</type>
+ <type>Map</type>
<description>Policy configuration for the connector.</description>
<association xml.mapStyle="inline">
<type>String</type>
@@ -375,7 +375,7 @@
<field>
<name>properties</name>
<version>1.0.0+</version>
- <type>Properties</type>
+ <type>Map</type>
<description>Configuration for the connector.</description>
<association xml.mapStyle="inline">
<type>String</type>
@@ -401,8 +401,15 @@
return null;
}
- return this.getPolicies().getProperty( policyId, defaultValue );
- }
+ Object value = this.getPolicies().get( policyId );
+
+ if ( value == null )
+ {
+ return defaultValue;
+ }
+
+ return (String) value;
+ }
]]></code>
</codeSegment>
</codeSegments>
Modified: maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/AbstractUpdatePolicy.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/AbstractUpdatePolicy.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/AbstractUpdatePolicy.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/AbstractUpdatePolicy.java Fri May 4 17:05:23 2007
@@ -24,10 +24,10 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import java.io.File;
+import java.util.ArrayList;
import java.util.Calendar;
-import java.util.HashSet;
+import java.util.List;
import java.util.Properties;
-import java.util.Set;
/**
* AbstractUpdatePolicy
@@ -76,20 +76,25 @@
*/
public static final String ONCE = "once";
- private Set validPolicyCodes = new HashSet();
+ private List options = new ArrayList();
public AbstractUpdatePolicy()
{
- validPolicyCodes.add( IGNORED );
- validPolicyCodes.add( DISABLED );
- validPolicyCodes.add( DAILY );
- validPolicyCodes.add( HOURLY );
- validPolicyCodes.add( ONCE );
+ options.add( IGNORED );
+ options.add( DISABLED );
+ options.add( DAILY );
+ options.add( HOURLY );
+ options.add( ONCE );
}
protected abstract boolean isSnapshotPolicy();
protected abstract String getUpdateMode();
+
+ public List getOptions()
+ {
+ return options;
+ }
public boolean applyPolicy( String policySetting, Properties request, File localFile )
{
@@ -101,7 +106,7 @@
isSnapshotVersion = VersionUtil.isSnapshot( version );
}
- if ( !validPolicyCodes.contains( policySetting ) )
+ if ( !options.contains( policySetting ) )
{
// No valid code? false it is then.
getLogger().error( "Unknown artifact-update policyCode [" + policySetting + "]" );
Modified: maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/CachedFailuresPolicy.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/CachedFailuresPolicy.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/CachedFailuresPolicy.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/CachedFailuresPolicy.java Fri May 4 17:05:23 2007
@@ -24,9 +24,9 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import java.io.File;
-import java.util.HashSet;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
-import java.util.Set;
/**
* {@link PreDownloadPolicy} to check if the requested url has failed before.
@@ -53,17 +53,17 @@
*/
private UrlFailureCache urlFailureCache;
- private Set validPolicyCodes = new HashSet();
+ private List options = new ArrayList();
public CachedFailuresPolicy()
{
- validPolicyCodes.add( IGNORED );
- validPolicyCodes.add( CACHED );
+ options.add( IGNORED );
+ options.add( CACHED );
}
public boolean applyPolicy( String policySetting, Properties request, File localFile )
{
- if ( !validPolicyCodes.contains( policySetting ) )
+ if ( !options.contains( policySetting ) )
{
// No valid code? false it is then.
getLogger().error( "Unknown checksum policyCode [" + policySetting + "]" );
@@ -93,8 +93,18 @@
return true;
}
- public String getDefaultPolicySetting()
+ public String getDefaultOption()
{
return IGNORED;
+ }
+
+ public String getId()
+ {
+ return "cache-failures";
+ }
+
+ public List getOptions()
+ {
+ return options;
}
}
Modified: maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ChecksumPolicy.java Fri May 4 17:05:23 2007
@@ -27,9 +27,9 @@
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.util.HashSet;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
-import java.util.Set;
/**
* ChecksumPolicy
@@ -73,18 +73,18 @@
*/
private ChecksumFile checksumFile;
- private Set validPolicyCodes = new HashSet();
+ private List options = new ArrayList();
public ChecksumPolicy()
{
- validPolicyCodes.add( FAIL );
- validPolicyCodes.add( FIX );
- validPolicyCodes.add( IGNORED );
+ options.add( FAIL );
+ options.add( FIX );
+ options.add( IGNORED );
}
public boolean applyPolicy( String policySetting, Properties request, File localFile )
{
- if ( !validPolicyCodes.contains( policySetting ) )
+ if ( !options.contains( policySetting ) )
{
// No valid code? false it is then.
getLogger().error( "Unknown checksum policyCode [" + policySetting + "]" );
@@ -275,9 +275,19 @@
}
}
- public String getDefaultPolicySetting()
+ public String getDefaultOption()
{
return FIX;
+ }
+
+ public String getId()
+ {
+ return "checksum";
+ }
+
+ public List getOptions()
+ {
+ return options;
}
}
Modified: maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/DownloadPolicy.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/DownloadPolicy.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/DownloadPolicy.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/DownloadPolicy.java Fri May 4 17:05:23 2007
@@ -20,6 +20,7 @@
*/
import java.io.File;
+import java.util.List;
import java.util.Properties;
/**
@@ -39,11 +40,25 @@
public static final boolean FAIL = false;
/**
- * Get the default policy setting.
+ * Get the list of options for this policy.
*
- * @return the default policy setting.
+ * @return the list of options for this policy.
*/
- public String getDefaultPolicySetting();
+ public List getOptions();
+
+ /**
+ * Get the default option for this policy.
+ *
+ * @return the default policy for this policy.
+ */
+ public String getDefaultOption();
+
+ /**
+ * Get the id for this policy.
+ *
+ * @return the id for this policy.
+ */
+ public String getId();
/**
* Apply the download policy.
Modified: maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ReleasesPolicy.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ReleasesPolicy.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ReleasesPolicy.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/ReleasesPolicy.java Fri May 4 17:05:23 2007
@@ -33,7 +33,7 @@
extends AbstractUpdatePolicy
implements PreDownloadPolicy
{
- public String getDefaultPolicySetting()
+ public String getDefaultOption()
{
return AbstractUpdatePolicy.IGNORED;
}
@@ -44,6 +44,11 @@
}
protected String getUpdateMode()
+ {
+ return "releases";
+ }
+
+ public String getId()
{
return "releases";
}
Modified: maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/SnapshotsPolicy.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/SnapshotsPolicy.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/SnapshotsPolicy.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-policies/src/main/java/org/apache/maven/archiva/policies/SnapshotsPolicy.java Fri May 4 17:05:23 2007
@@ -33,7 +33,7 @@
extends AbstractUpdatePolicy
implements PreDownloadPolicy
{
- public String getDefaultPolicySetting()
+ public String getDefaultOption()
{
return AbstractUpdatePolicy.IGNORED;
}
@@ -44,6 +44,11 @@
}
protected String getUpdateMode()
+ {
+ return "snapshots";
+ }
+
+ public String getId()
{
return "snapshots";
}
Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java Fri May 4 17:05:23 2007
@@ -20,6 +20,7 @@
*/
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.ConfigurationNames;
import org.apache.maven.archiva.configuration.NetworkProxyConfiguration;
@@ -494,7 +495,7 @@
}
}
- private boolean applyPolicies( Properties policySettings, Map downloadPolicies, Properties request, File localFile )
+ private boolean applyPolicies( Map policySettings, Map downloadPolicies, Properties request, File localFile )
{
Iterator it = downloadPolicies.entrySet().iterator();
while ( it.hasNext() )
@@ -502,8 +503,8 @@
Map.Entry entry = (Entry) it.next();
String key = (String) entry.getKey();
DownloadPolicy policy = (DownloadPolicy) entry.getValue();
- String defaultSetting = policy.getDefaultPolicySetting();
- String setting = policySettings.getProperty( key, defaultSetting );
+ String defaultSetting = policy.getDefaultOption();
+ String setting = StringUtils.defaultString( (String) policySettings.get( key ), defaultSetting );
getLogger().debug( "Applying [" + key + "] policy with [" + setting + "]" );
if ( !policy.applyPolicy( setting, request, localFile ) )
Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java?view=diff&rev=535418&r1=535417&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/ProxyConnector.java Fri May 4 17:05:23 2007
@@ -22,9 +22,9 @@
import org.apache.maven.archiva.model.ArchivaRepository;
import org.apache.maven.archiva.repository.connector.RepositoryConnector;
-import java.util.Enumeration;
+import java.util.Iterator;
import java.util.List;
-import java.util.Properties;
+import java.util.Map;
/**
* This represents a connector for a repository to repository proxy.
@@ -45,7 +45,7 @@
private String proxyId;
- private Properties policies;
+ private Map policies;
public List getBlacklist()
{
@@ -87,12 +87,12 @@
this.whitelist = whitelist;
}
- public Properties getPolicies()
+ public Map getPolicies()
{
return policies;
}
- public void setPolicies( Properties policies )
+ public void setPolicies( Map policies )
{
this.policies = policies;
}
@@ -116,12 +116,12 @@
sb.append( " target:" ).append( this.targetRepository ).append( "\n" );
sb.append( " proxyId:" ).append( this.proxyId ).append( "\n" );
- Enumeration keys = this.policies.propertyNames();
- while ( keys.hasMoreElements() )
+ Iterator keys = this.policies.keySet().iterator();
+ while ( keys.hasNext() )
{
- String name = (String) keys.nextElement();
+ String name = (String) keys.next();
sb.append( " policy[" ).append( name ).append( "]:" );
- sb.append( this.policies.getProperty( name ) ).append( "\n" );
+ sb.append( this.policies.get( name ) ).append( "\n" );
}
sb.append( "]" );
@@ -131,6 +131,6 @@
public void setPolicy( String policyId, String policySetting )
{
- // TODO Auto-generated method stub
+ this.policies.put( policyId, policySetting );
}
}
Added: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java (added)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java Fri May 4 17:05:23 2007
@@ -0,0 +1,606 @@
+package org.apache.maven.archiva.web.action.admin.connectors.proxy;
+
+/*
+ * 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.xwork.Preparable;
+
+import org.apache.commons.collections.Closure;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.functors.IfClosure;
+import org.apache.commons.collections.functors.NotPredicate;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.configuration.InvalidConfigurationException;
+import org.apache.maven.archiva.configuration.NetworkProxyConfiguration;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
+import org.apache.maven.archiva.configuration.util.ProxyConnectorSelectionPredicate;
+import org.apache.maven.archiva.configuration.util.RemoteRepositoryPredicate;
+import org.apache.maven.archiva.configuration.util.RepositoryIdListClosure;
+import org.apache.maven.archiva.policies.DownloadPolicy;
+import org.apache.maven.archiva.security.ArchivaRoleConstants;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.registry.RegistryException;
+import org.codehaus.plexus.security.rbac.Resource;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.codehaus.plexus.xwork.action.PlexusActionSupport;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+/**
+ * ConfigureProxyConnectorAction
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="configureProxyConnectorAction"
+ */
+public class ConfigureProxyConnectorAction
+ extends PlexusActionSupport
+ implements SecureAction, Preparable, Initializable
+{
+ private static final String DIRECT_CONNECTION = "(direct connection)";
+
+ /**
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ /**
+ * @plexus.requirement role="org.apache.maven.archiva.policies.PreDownloadPolicy"
+ */
+ private Map preDownloadPolicyMap;
+
+ /**
+ * @plexus.requirement role="org.apache.maven.archiva.policies.PostDownloadPolicy"
+ */
+ private Map postDownloadPolicyMap;
+
+ /**
+ * The model for this action.
+ */
+ private ProxyConnectorConfiguration connector;
+
+ private Map policyMap;
+
+ private String source;
+
+ private String target;
+
+ private String mode;
+
+ private String propertyKey;
+
+ private String propertyValue;
+
+ private String pattern;
+
+ /**
+ * The list of possible proxy ids.
+ */
+ private List proxyIdOptions = new ArrayList();
+
+ /**
+ * The list of local repository ids.
+ */
+ private List localRepoIdList = new ArrayList();
+
+ /**
+ * The list of remote repository ids.
+ */
+ private List remoteRepoIdList = new ArrayList();
+
+ /**
+ * The blacklist pattern to add.
+ */
+ private String blackListPattern;
+
+ /**
+ * The whitelist pattern to add.
+ */
+ private String whiteListPattern;
+
+ public String add()
+ {
+ getLogger().info( ".add()" );
+ this.mode = "add";
+ return INPUT;
+ }
+
+ public String confirm()
+ {
+ getLogger().info( ".confirm()" );
+ return INPUT;
+ }
+
+ public String delete()
+ {
+ getLogger().info( ".delete()" );
+ return INPUT;
+ }
+
+ public String addProperty()
+ {
+ getLogger().info( ".addProperty()" );
+ String key = getPropertyKey();
+ String value = getPropertyValue();
+
+ if ( StringUtils.isBlank( key ) )
+ {
+ addActionError( "Unable to add property with blank key." );
+ }
+
+ if ( StringUtils.isBlank( value ) )
+ {
+ addActionError( "Unable to add property with blank value." );
+ }
+
+ if ( !hasActionErrors() )
+ {
+ getConnector().getProperties().put( key, value );
+ setPropertyKey( null );
+ setPropertyValue( null );
+ }
+
+ return INPUT;
+ }
+
+ public String removeProperty()
+ {
+ getLogger().info( ".removeProperty()" );
+ String key = getPropertyKey();
+
+ if ( StringUtils.isBlank( key ) )
+ {
+ addActionError( "Unable to remove property with blank key." );
+ }
+
+ if ( !hasActionErrors() )
+ {
+ getConnector().getProperties().remove( key );
+ setPropertyKey( null );
+ setPropertyValue( null );
+ }
+
+ return INPUT;
+ }
+
+ public String addWhiteListPattern()
+ {
+ getLogger().info( ".addWhiteListPattern()" );
+ String pattern = getWhiteListPattern();
+
+ if ( StringUtils.isBlank( pattern ) )
+ {
+ addActionError( "Cannot add an blank white list pattern." );
+ }
+
+ if ( !hasActionErrors() )
+ {
+ getLogger().info(
+ "whitelist patterns: (" + getConnector().getWhiteListPatterns().size() + "): "
+ + getConnector().getWhiteListPatterns() );
+
+ getConnector().getWhiteListPatterns().add( pattern );
+ setWhiteListPattern( null );
+ }
+
+ return INPUT;
+ }
+
+ public String removeWhiteListPattern()
+ {
+ String pattern = getPattern();
+ getLogger().info( ".removeWhiteListPattern(" + pattern + ")" );
+
+ if ( StringUtils.isBlank( pattern ) )
+ {
+ addActionError( "Cannot remove an blank white list pattern." );
+ }
+
+ if ( !hasActionErrors() )
+ {
+ getConnector().getWhiteListPatterns().remove( pattern );
+ setWhiteListPattern( null );
+ }
+
+ return INPUT;
+ }
+
+ public String addBlackListPattern()
+ {
+ getLogger().info( ".addBlackListPattern()" );
+ String pattern = getBlackListPattern();
+
+ if ( StringUtils.isBlank( pattern ) )
+ {
+ addActionError( "Cannot add an blank black list pattern." );
+ }
+
+ if ( !hasActionErrors() )
+ {
+ getConnector().getBlackListPatterns().add( pattern );
+ setBlackListPattern( null );
+ }
+
+ return INPUT;
+ }
+
+ public String removeBlackListPattern()
+ {
+ getLogger().info( ".removeBlackListPattern()" );
+ String pattern = getBlackListPattern();
+
+ if ( StringUtils.isBlank( pattern ) )
+ {
+ addActionError( "Cannot remove an blank black list pattern." );
+ }
+
+ if ( !hasActionErrors() )
+ {
+ getConnector().getBlackListPatterns().remove( pattern );
+ setBlackListPattern( null );
+ }
+
+ return INPUT;
+ }
+
+ public String edit()
+ {
+ getLogger().info( ".edit()" );
+ this.mode = "edit";
+ return INPUT;
+ }
+
+ public String getBlackListPattern()
+ {
+ return blackListPattern;
+ }
+
+ public ProxyConnectorConfiguration getConnector()
+ {
+ return connector;
+ }
+
+ public List getLocalRepoIdList()
+ {
+ return localRepoIdList;
+ }
+
+ public String getMode()
+ {
+ return this.mode;
+ }
+
+ public Map getPolicyMap()
+ {
+ return policyMap;
+ }
+
+ public String getPropertyKey()
+ {
+ return propertyKey;
+ }
+
+ public String getPropertyValue()
+ {
+ return propertyValue;
+ }
+
+ public List getProxyIdOptions()
+ {
+ return proxyIdOptions;
+ }
+
+ public List getRemoteRepoIdList()
+ {
+ return remoteRepoIdList;
+ }
+
+ public SecureActionBundle getSecureActionBundle()
+ throws SecureActionException
+ {
+ SecureActionBundle bundle = new SecureActionBundle();
+
+ bundle.setRequiresAuthentication( true );
+ bundle.addRequiredAuthorization( ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION, Resource.GLOBAL );
+
+ return bundle;
+ }
+
+ public String getSource()
+ {
+ return source;
+ }
+
+ public String getTarget()
+ {
+ return target;
+ }
+
+ public String getWhiteListPattern()
+ {
+ return whiteListPattern;
+ }
+
+ public void initialize()
+ throws InitializationException
+ {
+ policyMap = new HashMap();
+ policyMap.putAll( preDownloadPolicyMap );
+ policyMap.putAll( postDownloadPolicyMap );
+ }
+
+ public String input()
+ {
+ getLogger().info( "input()" );
+ return INPUT;
+ }
+
+ public void prepare()
+ throws Exception
+ {
+ String sourceId = getSource();
+ String targetId = getTarget();
+
+ getLogger().info( ".prepare() - sourceId [" + sourceId + "], targetId [" + targetId + "]" );
+
+ if ( StringUtils.isBlank( sourceId ) || StringUtils.isBlank( targetId ) )
+ {
+ if ( this.connector == null )
+ {
+ getLogger().info( "Creating new connector." );
+ this.connector = new ProxyConnectorConfiguration();
+ }
+ }
+ else
+ {
+ this.connector = findProxyConnector( sourceId, targetId );
+ }
+ getLogger().info( "Connector: " + connector );
+
+ Configuration config = archivaConfiguration.getConfiguration();
+
+ // Gather Network Proxy Ids.
+
+ this.proxyIdOptions = new ArrayList();
+ this.proxyIdOptions.add( DIRECT_CONNECTION );
+
+ Closure addProxyIds = new Closure()
+ {
+ public void execute( Object input )
+ {
+ if ( input instanceof NetworkProxyConfiguration )
+ {
+ NetworkProxyConfiguration netproxy = (NetworkProxyConfiguration) input;
+ proxyIdOptions.add( netproxy.getId() );
+ }
+ }
+ };
+
+ CollectionUtils.forAllDo( config.getNetworkProxies(), addProxyIds );
+
+ // Gather Local & Remote Repo Ids.
+
+ RepositoryIdListClosure remoteRepoIdList = new RepositoryIdListClosure( new ArrayList() );
+ RepositoryIdListClosure localRepoIdList = new RepositoryIdListClosure( new ArrayList() );
+ Closure repoIfClosure = IfClosure.getInstance( RemoteRepositoryPredicate.getInstance(), remoteRepoIdList,
+ localRepoIdList );
+
+ CollectionUtils.forAllDo( config.getRepositories(), repoIfClosure );
+
+ this.remoteRepoIdList = remoteRepoIdList.getList();
+ this.localRepoIdList = localRepoIdList.getList();
+ }
+
+ public String save()
+ {
+ String mode = getMode();
+
+ String sourceId = getConnector().getSourceRepoId();
+ String targetId = getConnector().getTargetRepoId();
+
+ getLogger().info( ".save(" + mode + ":" + sourceId + "->" + targetId + ")" );
+
+ if ( !isValid( getConnector() ) )
+ {
+ return INPUT;
+ }
+
+ if ( StringUtils.equalsIgnoreCase( "edit", mode ) )
+ {
+ removeConnector( sourceId, targetId );
+ }
+
+ try
+ {
+ if ( StringUtils.equals( DIRECT_CONNECTION, getConnector().getProxyId() ) )
+ {
+ getConnector().setProxyId( null );
+ }
+
+ addProxyConnector( getConnector() );
+ saveConfiguration();
+ }
+ catch ( IOException e )
+ {
+ addActionError( "I/O Exception: " + e.getMessage() );
+ }
+ catch ( InvalidConfigurationException e )
+ {
+ addActionError( "Invalid Configuration Exception: " + e.getMessage() );
+ }
+ catch ( RegistryException e )
+ {
+ addActionError( "Configuration Registry Exception: " + e.getMessage() );
+ }
+
+ return SUCCESS;
+ }
+
+ public void setBlackListPattern( String blackListPattern )
+ {
+ this.blackListPattern = blackListPattern;
+ }
+
+ public void setConnector( ProxyConnectorConfiguration connector )
+ {
+ this.connector = connector;
+ }
+
+ public void setLocalRepoIdList( List localRepoIdList )
+ {
+ this.localRepoIdList = localRepoIdList;
+ }
+
+ public void setMode( String mode )
+ {
+ this.mode = mode;
+ }
+
+ public void setPropertyKey( String propertyKey )
+ {
+ this.propertyKey = propertyKey;
+ }
+
+ public void setPropertyValue( String propertyValue )
+ {
+ this.propertyValue = propertyValue;
+ }
+
+ public void setRemoteRepoIdList( List remoteRepoIdList )
+ {
+ this.remoteRepoIdList = remoteRepoIdList;
+ }
+
+ public void setSource( String source )
+ {
+ this.source = source;
+ }
+
+ public void setTarget( String target )
+ {
+ this.target = target;
+ }
+
+ public void setWhiteListPattern( String whiteListPattern )
+ {
+ this.whiteListPattern = whiteListPattern;
+ }
+
+ private void addProxyConnector( ProxyConnectorConfiguration proxyConnector )
+ throws IOException
+ {
+ archivaConfiguration.getConfiguration().addProxyConnector( proxyConnector );
+ }
+
+ private ProxyConnectorConfiguration findProxyConnector( String sourceId, String targetId )
+ {
+ Configuration config = archivaConfiguration.getConfiguration();
+
+ ProxyConnectorSelectionPredicate selectedProxy = new ProxyConnectorSelectionPredicate( sourceId, targetId );
+ return (ProxyConnectorConfiguration) CollectionUtils.find( config.getProxyConnectors(), selectedProxy );
+ }
+
+ private boolean isValid( ProxyConnectorConfiguration proxyConnector )
+ {
+ if ( proxyConnector.getPolicies() == null )
+ {
+ addActionError( "Policies must be set." );
+ return false;
+ }
+
+ Iterator it = policyMap.entrySet().iterator();
+ while ( it.hasNext() )
+ {
+ Map.Entry entry = (Entry) it.next();
+ String policyId = (String) entry.getKey();
+ DownloadPolicy policy = (DownloadPolicy) entry.getValue();
+ List options = policy.getOptions();
+
+ if ( !proxyConnector.getPolicies().containsKey( policyId ) )
+ {
+ addActionError( "Policy [" + policyId + "] must be set (missing id)." );
+ continue;
+ }
+
+ String arr[] = (String[]) proxyConnector.getPolicies().get( policyId );
+ String value = arr[0];
+
+ proxyConnector.getPolicies().put( policyId, value );
+
+ if ( StringUtils.isBlank( value ) )
+ {
+ addActionError( "Policy [" + policyId + "] must be set (missing value)." );
+ continue;
+ }
+
+ if ( !options.contains( value ) )
+ {
+ addActionError( "Value of [" + value + "] is invalid for policy [" + policyId + "], valid values: "
+ + options );
+ continue;
+ }
+ }
+
+ if ( hasActionErrors() || hasActionMessages() )
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ private void removeConnector( String sourceId, String targetId )
+ {
+ ProxyConnectorSelectionPredicate selectedProxy = new ProxyConnectorSelectionPredicate( sourceId, targetId );
+ NotPredicate notSelectedProxy = new NotPredicate( selectedProxy );
+ CollectionUtils.filter( archivaConfiguration.getConfiguration().getProxyConnectors(), notSelectedProxy );
+ }
+
+ private String saveConfiguration()
+ throws IOException, InvalidConfigurationException, RegistryException
+ {
+ archivaConfiguration.save( archivaConfiguration.getConfiguration() );
+
+ addActionMessage( "Successfully saved configuration" );
+
+ return SUCCESS;
+ }
+
+ public String getPattern()
+ {
+ return pattern;
+ }
+
+ public void setPattern( String pattern )
+ {
+ this.pattern = pattern;
+ }
+}
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java (added)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java Fri May 4 17:05:23 2007
@@ -0,0 +1,151 @@
+package org.apache.maven.archiva.web.action.admin.connectors.proxy;
+
+/*
+ * 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.xwork.Preparable;
+
+import org.apache.commons.collections.Closure;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Transformer;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
+import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.security.ArchivaRoleConstants;
+import org.apache.maven.archiva.web.action.admin.repositories.AdminRepositoryConfiguration;
+import org.codehaus.plexus.security.rbac.Resource;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.codehaus.plexus.xwork.action.PlexusActionSupport;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ProxyConnectorsAction
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="proxyConnectorsAction"
+ */
+public class ProxyConnectorsAction
+ extends PlexusActionSupport
+ implements SecureAction, Preparable
+{
+ /**
+ * @plexus.requirement role-hint="adminrepoconfig"
+ */
+ private Transformer repoConfigToAdmin;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ private Map /*<String,AdminRepositoryConfiguration>*/repoMap;
+
+ /**
+ * Map of Proxy Connectors.
+ */
+ private Map /*<String,AdminProxyConnector>*/proxyConnectorMap;
+
+ public void prepare()
+ throws Exception
+ {
+ Configuration config = archivaConfiguration.getConfiguration();
+
+ repoMap = new HashMap();
+
+ Closure addToRepoMap = new Closure()
+ {
+ public void execute( Object input )
+ {
+ if ( input instanceof RepositoryConfiguration )
+ {
+ AdminRepositoryConfiguration arepo = (AdminRepositoryConfiguration) repoConfigToAdmin
+ .transform( input );
+ repoMap.put( arepo.getId(), arepo );
+ }
+ }
+ };
+
+ CollectionUtils.forAllDo( config.getRepositories(), addToRepoMap );
+
+ proxyConnectorMap = new HashMap();
+
+ Closure addToProxyConnectorMap = new Closure()
+ {
+ public void execute( Object input )
+ {
+ if ( input instanceof ProxyConnectorConfiguration )
+ {
+ ProxyConnectorConfiguration proxyConfig = (ProxyConnectorConfiguration) input;
+ String key = proxyConfig.getSourceRepoId();
+
+ List connectors = (List) proxyConnectorMap.get( key );
+ if ( connectors == null )
+ {
+ connectors = new ArrayList();
+ proxyConnectorMap.put( key, connectors );
+ }
+
+ connectors.add( proxyConfig );
+ }
+ }
+ };
+
+ CollectionUtils.forAllDo( config.getProxyConnectors(), addToProxyConnectorMap );
+ }
+
+ public SecureActionBundle getSecureActionBundle()
+ throws SecureActionException
+ {
+ SecureActionBundle bundle = new SecureActionBundle();
+
+ bundle.setRequiresAuthentication( true );
+ bundle.addRequiredAuthorization( ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION, Resource.GLOBAL );
+
+ return bundle;
+ }
+
+ public Map getRepoMap()
+ {
+ return repoMap;
+ }
+
+ public void setRepoMap( Map repoMap )
+ {
+ this.repoMap = repoMap;
+ }
+
+ public Map getProxyConnectorMap()
+ {
+ return proxyConnectorMap;
+ }
+
+ public void setProxyConnectorMap( Map proxyConnectorMap )
+ {
+ this.proxyConnectorMap = proxyConnectorMap;
+ }
+}
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java (added)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java Fri May 4 17:05:23 2007
@@ -0,0 +1,56 @@
+package org.apache.maven.archiva.web.action.admin.connectors.proxy;
+
+/*
+ * 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 org.apache.commons.collections.Transformer;
+
+/**
+ * Ensure that input strings are never arrays.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class SingleSelectTransformer
+ implements Transformer
+{
+ private static Transformer INSTANCE = new SingleSelectTransformer();
+
+ public Object transform( Object input )
+ {
+ if ( input instanceof String )
+ {
+ if ( input.getClass().isArray() )
+ {
+ String arr[] = (String[]) input;
+ if ( arr.length > 0 )
+ {
+ return arr[0];
+ }
+ }
+ }
+ return null;
+ }
+
+ public static Transformer getInstance()
+ {
+ return INSTANCE;
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/SingleSelectTransformer.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java (added)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java Fri May 4 17:05:23 2007
@@ -0,0 +1,73 @@
+package org.apache.maven.archiva.web.action.admin.database;
+
+/*
+ * 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.webwork.interceptor.ServletRequestAware;
+import com.opensymphony.xwork.ModelDriven;
+import com.opensymphony.xwork.Preparable;
+import com.opensymphony.xwork.Validateable;
+
+import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.codehaus.plexus.xwork.action.PlexusActionSupport;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * DatabaseAction
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="databaseAction"
+ */
+public class DatabaseAction
+extends PlexusActionSupport
+implements ModelDriven, Preparable, Validateable, SecureAction, ServletRequestAware
+{
+
+ public Object getModel()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void prepare()
+ throws Exception
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public SecureActionBundle getSecureActionBundle()
+ throws SecureActionException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setServletRequest( HttpServletRequest request )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java?view=auto&rev=535418
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java (added)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java Fri May 4 17:05:23 2007
@@ -0,0 +1,73 @@
+package org.apache.maven.archiva.web.action.admin.networkproxies;
+
+/*
+ * 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.webwork.interceptor.ServletRequestAware;
+import com.opensymphony.xwork.ModelDriven;
+import com.opensymphony.xwork.Preparable;
+import com.opensymphony.xwork.Validateable;
+
+import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.codehaus.plexus.xwork.action.PlexusActionSupport;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * NetworkProxiesAction
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="networkProxiesAction"
+ */
+public class NetworkProxiesAction
+extends PlexusActionSupport
+implements ModelDriven, Preparable, Validateable, SecureAction, ServletRequestAware
+{
+
+ public Object getModel()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void prepare()
+ throws Exception
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public SecureActionBundle getSecureActionBundle()
+ throws SecureActionException
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setServletRequest( HttpServletRequest request )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/NetworkProxiesAction.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java (from r534213, maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/models/AdminRepositoryConfiguration.java)
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java?view=diff&rev=535418&p1=maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/models/AdminRepositoryConfiguration.java&r1=534213&p2=maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java&r2=535418
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/models/AdminRepositoryConfiguration.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java Fri May 4 17:05:23 2007
@@ -1,4 +1,4 @@
-package org.apache.maven.archiva.web.action.admin.models;
+package org.apache.maven.archiva.web.action.admin.repositories;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -36,8 +36,6 @@
public class AdminRepositoryConfiguration
extends RepositoryConfiguration
{
- private String directory;
-
private RepositoryContentStatistics stats;
public AdminRepositoryConfiguration()
@@ -70,23 +68,33 @@
public boolean isDirectoryExists()
{
- if ( StringUtils.isBlank( directory ) )
+ if ( StringUtils.isBlank( getDirectory() ) )
{
return false;
}
- File dir = new File( directory );
+ File dir = new File( getDirectory() );
return ( dir.exists() && dir.isDirectory() );
}
public String getDirectory()
{
- return directory;
+ if ( this.isManaged() )
+ {
+ if ( StringUtils.isBlank( this.getUrl() ) )
+ {
+ return null;
+ }
+
+ RepositoryURL url = new RepositoryURL( this.getUrl() );
+ return url.getPath();
+ }
+
+ return null;
}
public void setDirectory( String directory )
{
- this.directory = directory;
this.setUrl( PathUtil.toUrl( directory ) );
}