aboutsummaryrefslogtreecommitdiffstats
path: root/archiva-base/archiva-repository-layer
diff options
context:
space:
mode:
authorJoakim Erdfelt <joakime@apache.org>2007-10-10 09:47:20 +0000
committerJoakim Erdfelt <joakime@apache.org>2007-10-10 09:47:20 +0000
commite6bf5123682cc82597a80b7ee893c10840c0b163 (patch)
treecb67b3d7f81a210f5fc47d7d998f9594d0a432ad /archiva-base/archiva-repository-layer
parent25bc854985e1cac10e356155886f3289df1afbe9 (diff)
downloadarchiva-e6bf5123682cc82597a80b7ee893c10840c0b163.tar.gz
archiva-e6bf5123682cc82597a80b7ee893c10840c0b163.zip
[MRM-432] Proxy Connectors are unable to download artifacts with alpha numerical version numbers
[MRM-519] fail to resolve artifactId for libs that contain versionKeyword in artifactId, like "maven-test-plugin" [MRM-518] Changing the internal repository directory has no effect [MRM-512] Unable to convert null repository config to archiva repository. [MRM-533] metadata-updater is changing lastUpdating timestamp when it shouldn't [MRM-493] Downloaded artifacts are stored in incorrect archiva-managed repository - Work against proposal in mailing list http://www.nabble.com/-Proposal--Repository-Layout-Detection-Interaction-Changes.-tf4577852.html - Creation of package org.apache.maven.archiva.repository.content - Creation of RepositoryContent alternative as outlined in proposal. - Have not swung all code over to new repositorycontent object yet. - Left old BidirectionalRepositoryLayout classes in place temporarily. - Migrated the following over to new RepositoryContent objects... * the /repository/ url * proxying * metadata updating * repository purge classes - Unit testing. Lots and lots of unit testing. - Correcting bad template email address. git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@583412 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-base/archiva-repository-layer')
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ContentNotFoundException.java (renamed from archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/AllTests.java)33
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java209
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RemoteRepositoryContent.java105
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java204
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryNotFoundException.java (renamed from archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/AllTests.java)32
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java8
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java121
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java119
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java (renamed from archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java)61
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultArtifactExtensionMapping.java72
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java184
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java210
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyArtifactExtensionMapping.java75
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java153
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java438
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java495
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java88
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java88
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java146
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java8
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java10
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java486
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java2
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java2
-rw-r--r--archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java2
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java16
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AllTests.java47
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java400
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java329
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java355
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java129
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java301
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java206
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java192
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java63
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java65
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java266
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java45
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java29
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java115
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/RepositoryLayoutUtilsTest.java236
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java152
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/AllTests.java44
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/AllTests.java43
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java2
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java2
-rw-r--r--archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/AllTests.java41
-rw-r--r--archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/maven/poms/wagon-ssh-1.0.pom52
-rw-r--r--archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/javadocs/testing-1.0-javadoc.jar0
-rw-r--r--archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/poms/testing-1.0.pom0
-rw-r--r--archiva-base/archiva-repository-layer/src/test/resources/m1-repo-filelist.txt6230
-rw-r--r--archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/content/RepositoryRequestTest.xml47
-rw-r--r--archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml4
53 files changed, 11709 insertions, 1053 deletions
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/AllTests.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ContentNotFoundException.java
index 719b18369..993a7a095 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/AllTests.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ContentNotFoundException.java
@@ -1,4 +1,4 @@
-package org.apache.maven.archiva.repository.project.filters;
+package org.apache.maven.archiva.repository;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,26 +19,33 @@ package org.apache.maven.archiva.repository.project.filters;
* under the License.
*/
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
/**
- * AllTests
+ * ContentNotFoundException is thrown in response for requests for content that is not the repository.
*
* @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
-public class AllTests
+public class ContentNotFoundException
+ extends RepositoryException
{
- public static Test suite()
+ public ContentNotFoundException()
{
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project.filters" );
- //$JUnit-BEGIN$
- suite.addTestSuite( ProjectModelExpressionExpanderTest.class );
- suite.addTestSuite( EffectiveProjectModelFilterTest.class );
- //$JUnit-END$
- return suite;
+ super();
}
+ public ContentNotFoundException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+ public ContentNotFoundException( String message )
+ {
+ super( message );
+ }
+
+ public ContentNotFoundException( Throwable cause )
+ {
+ super( cause );
+ }
}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java
new file mode 100644
index 000000000..21a3b5fbc
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ManagedRepositoryContent.java
@@ -0,0 +1,209 @@
+package org.apache.maven.archiva.repository;
+
+/*
+ * 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.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.ProjectReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+import java.io.File;
+import java.util.Set;
+
+/**
+ * ManagedRepositoryContent interface for interacting with a managed repository in an abstract way,
+ * without the need for processing based on filesystem paths, or working with the database.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface ManagedRepositoryContent
+{
+ /**
+ * Delete from the managed repository all files / directories associated with the
+ * provided version reference.
+ *
+ * @param reference the version reference to delete.
+ * @throws ContentNotFoundException
+ */
+ public void deleteVersion( VersionedReference reference )
+ throws ContentNotFoundException;
+
+ /**
+ * <p>
+ * Convenience method to get the repository id.
+ * </p>
+ *
+ * <p>
+ * Equivalent to calling <code>.getRepository().getId()</code>
+ * </p>
+ *
+ * @return the repository id.
+ */
+ public String getId();
+
+ /**
+ * <p>
+ * Gather up the list of related artifacts to the ArtifactReference provided.
+ * This typically inclues the pom files, and those things with
+ * classifiers (such as doc, source code, test libs, etc...)
+ * </p>
+ *
+ * <p>
+ * <strong>NOTE:</strong> Some layouts (such as maven 1 "legacy") are not compatible with this query.
+ * </p>
+ *
+ * @param reference the reference to work off of.
+ * @return the set of ArtifactReferences for related artifacts.
+ * @throws ContentNotFoundException if the initial artifact reference does not exist within the repository.
+ * @throws LayoutException
+ */
+ public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference )
+ throws ContentNotFoundException, LayoutException;
+
+ /**
+ * <p>
+ * Convenience method to get the repository (on disk) root directory.
+ * </p>
+ *
+ * <p>
+ * Equivalent to calling <code>.getRepository().getLocation()</code>
+ * </p>
+ *
+ * @return the repository (on disk) root directory.
+ */
+ public String getRepoRoot();
+
+ /**
+ * Get the repository configuration associated with this
+ * repository content.
+ *
+ * @return the repository that is associated with this repository content.
+ */
+ public ManagedRepositoryConfiguration getRepository();
+
+ /**
+ * Given a specific ProjectReference, return the list of available versions for
+ * that project reference.
+ *
+ * @param reference the project reference to work off of.
+ * @return the list of versions found for that project reference.
+ * @throws ContentNotFoundException if the project reference does nto exist within the repository.
+ * @throws LayoutException
+ */
+ public Set<String> getVersions( ProjectReference reference )
+ throws ContentNotFoundException, LayoutException;
+
+ /**
+ * <p>
+ * Given a specific VersionedReference, return the list of available versions for that
+ * versioned reference.
+ * </p>
+ *
+ * <p>
+ * <strong>NOTE:</strong> This is really only useful when working with SNAPSHOTs.
+ * </p>
+ *
+ * @param reference the versioned reference to work off of.
+ * @return the set of versions found.
+ * @throws ContentNotFoundException if the versioned reference does not exist within the repository.
+ * @throws LayoutException
+ */
+ public Set<String> getVersions( VersionedReference reference )
+ throws ContentNotFoundException, LayoutException;
+
+ /**
+ * Determines if the artifact referenced exists in the repository.
+ *
+ * @param reference the artifact reference to check for.
+ * @return true if the artifact referenced exists.
+ */
+ public boolean hasContent( ArtifactReference reference );
+
+ /**
+ * Determines if the project referenced exists in the repository.
+ *
+ * @param reference the project reference to check for.
+ * @return true it the project referenced exists.
+ */
+ public boolean hasContent( ProjectReference reference );
+
+ /**
+ * Determines if the version reference exists in the repository.
+ *
+ * @param reference the version reference to check for.
+ * @return true if the version referenced exists.
+ */
+ public boolean hasContent( VersionedReference reference );
+
+ /**
+ * Set the repository configuration to associate with this
+ * repository content.
+ *
+ * @param repo the repository to associate with this repository content.
+ */
+ public void setRepository( ManagedRepositoryConfiguration repo );
+
+ /**
+ * Given a repository relative path to a filename, return the {@link VersionedReference} object suitable for the path.
+ *
+ * @param path the path relative to the repository base dir for the artifact.
+ * @return the {@link ArtifactReference} representing the path. (or null if path cannot be converted to
+ * a {@link ArtifactReference})
+ * @throws LayoutException if there was a problem converting the path to an artifact.
+ */
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException;
+
+ /**
+ * Given an ArtifactReference, return the file reference to the artifact.
+ *
+ * @param reference the artifact reference to use.
+ * @return the relative path to the artifact.
+ */
+ public File toFile( ArtifactReference reference );
+
+ /**
+ * Given a project reference, return the path to the metadata for
+ * the project.
+ *
+ * @param reference the reference to use.
+ * @return the path to the metadata file, or null if no metadata is appropriate.
+ */
+ public String toMetadataPath( ProjectReference reference );
+
+ /**
+ * Given a versioned reference, return the path to the metadata for
+ * the specific version of the project.
+ *
+ * @param reference the reference to use.
+ * @return the path to the metadata file, or null if no metadata is appropriate.
+ */
+ public String toMetadataPath( VersionedReference reference );
+
+ /**
+ * Given an ArtifactReference, return the relative path to the artifact.
+ *
+ * @param reference the artifact reference to use.
+ * @return the relative path to the artifact.
+ */
+ public String toPath( ArtifactReference reference );
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RemoteRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RemoteRepositoryContent.java
new file mode 100644
index 000000000..74df638ee
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RemoteRepositoryContent.java
@@ -0,0 +1,105 @@
+package org.apache.maven.archiva.repository;
+
+/*
+ * 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.RemoteRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.RepositoryURL;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * RemoteRepositoryContent interface for interacting with a remote repository in an abstract way,
+ * without the need for processing based on URLs, or working with the database.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public interface RemoteRepositoryContent
+{
+ /**
+ * <p>
+ * Convenience method to get the repository id.
+ * </p>
+ *
+ * <p>
+ * Equivalent to calling <code>.getRepository().getId()</code>
+ * </p>
+ *
+ * @return the repository id.
+ */
+ public String getId();
+
+ /**
+ * Get the repository configuration associated with this
+ * repository content.
+ *
+ * @return the repository that is associated with this repository content.
+ */
+ public RemoteRepositoryConfiguration getRepository();
+
+ /**
+ * <p>
+ * Convenience method to get the repository url.
+ * </p>
+ *
+ * <p>
+ * Equivalent to calling <code>new RepositoryURL( this.getRepository().getUrl() )</code>
+ * </p>
+ *
+ * @return the repository url.
+ */
+ public RepositoryURL getURL();
+
+ /**
+ * Set the repository configuration to associate with this
+ * repository content.
+ *
+ * @param repo the repository to associate with this repository content.
+ */
+ public void setRepository( RemoteRepositoryConfiguration repo );
+
+ /**
+ * Given a repository relative path to a filename, return the {@link VersionedReference} object suitable for the path.
+ *
+ * @param path the path relative to the repository base dir for the artifact.
+ * @return the {@link ArtifactReference} representing the path. (or null if path cannot be converted to
+ * a {@link ArtifactReference})
+ * @throws LayoutException if there was a problem converting the path to an artifact.
+ */
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException;
+
+ /**
+ * Given an ArtifactReference, return the relative path to the artifact.
+ *
+ * @param reference the artifact reference to use.
+ * @return the relative path to the artifact.
+ */
+ public String toPath( ArtifactReference reference );
+
+ /**
+ * Given an ArtifactReference, return the url to the artifact.
+ *
+ * @param reference the artifact reference to use.
+ * @return the relative path to the artifact.
+ */
+ public RepositoryURL toURL( ArtifactReference reference );
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
new file mode 100644
index 000000000..08807f474
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryContentFactory.java
@@ -0,0 +1,204 @@
+package org.apache.maven.archiva.repository;
+
+/*
+ * 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.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.ConfigurationNames;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.registry.Registry;
+import org.codehaus.plexus.registry.RegistryListener;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * RepositoryContentRequest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.repository.RepositoryContentFactory"
+ */
+public class RepositoryContentFactory
+ implements Contextualizable, RegistryListener, Initializable
+{
+ /**
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ private Map<String, ManagedRepositoryContent> managedContentMap;
+
+ private Map<String, RemoteRepositoryContent> remoteContentMap;
+
+ private PlexusContainer container;
+
+ /**
+ * Get the ManagedRepositoryContent object for the repository Id specified.
+ *
+ * @param repoId the repository id to fetch.
+ * @return the ManagedRepositoryContent object associated with the repository id.
+ * @throws RepositoryNotFoundException if the repository id does not exist within the configuration.
+ * @throws RepositoryException the repository content object cannot be loaded due to configuration issue.
+ */
+ public ManagedRepositoryContent getManagedRepositoryContent( String repoId )
+ throws RepositoryNotFoundException, RepositoryException
+ {
+ ManagedRepositoryContent repo = managedContentMap.get( repoId );
+
+ if ( repo != null )
+ {
+ return repo;
+ }
+
+ ManagedRepositoryConfiguration repoConfig = archivaConfiguration.getConfiguration()
+ .findManagedRepositoryById( repoId );
+ if ( repoConfig == null )
+ {
+ throw new RepositoryNotFoundException( "Unable to find managed repository configuration for id:" + repoId );
+ }
+
+ try
+ {
+ repo = (ManagedRepositoryContent) container.lookup( ManagedRepositoryContent.class, repoConfig.getLayout() );
+ repo.setRepository( repoConfig );
+ managedContentMap.put( repoId, repo );
+ }
+ catch ( ComponentLookupException e )
+ {
+ throw new RepositoryException( "Specified layout [" + repoConfig.getLayout()
+ + "] on managed repository id [" + repoId + "] is not valid.", e );
+ }
+
+ return repo;
+ }
+
+ public RemoteRepositoryContent getRemoteRepositoryContent( String repoId )
+ throws RepositoryNotFoundException, RepositoryException
+ {
+ RemoteRepositoryContent repo = remoteContentMap.get( repoId );
+
+ if ( repo != null )
+ {
+ return repo;
+ }
+
+ RemoteRepositoryConfiguration repoConfig = archivaConfiguration.getConfiguration()
+ .findRemoteRepositoryById( repoId );
+ if ( repoConfig == null )
+ {
+ throw new RepositoryNotFoundException( "Unable to find remote repository configuration for id:" + repoId );
+ }
+
+ try
+ {
+ repo = (RemoteRepositoryContent) container.lookup( RemoteRepositoryContent.class, repoConfig.getLayout() );
+ repo.setRepository( repoConfig );
+ remoteContentMap.put( repoId, repo );
+ }
+ catch ( ComponentLookupException e )
+ {
+ throw new RepositoryException( "Specified layout [" + repoConfig.getLayout()
+ + "] on remote repository id [" + repoId + "] is not valid.", e );
+ }
+
+ return repo;
+ }
+
+ public void contextualize( Context context )
+ throws ContextException
+ {
+ container = (PlexusContainer) context.get( "plexus" );
+ }
+
+ public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ if ( ConfigurationNames.isManagedRepositories( propertyName )
+ || ConfigurationNames.isRemoteRepositories( propertyName ) )
+ {
+ initMaps();
+ }
+ }
+
+ public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ /* do nothing */
+ }
+
+ public void initialize()
+ throws InitializationException
+ {
+ managedContentMap = new HashMap<String, ManagedRepositoryContent>();
+ remoteContentMap = new HashMap<String, RemoteRepositoryContent>();
+
+ archivaConfiguration.addChangeListener( this );
+ }
+
+ private void initMaps()
+ {
+ synchronized ( managedContentMap )
+ {
+ // First, return any references to the container.
+ for ( ManagedRepositoryContent repo : managedContentMap.values() )
+ {
+ try
+ {
+ container.release( repo );
+ }
+ catch ( ComponentLifecycleException e )
+ {
+ /* ignore */
+ }
+ }
+
+ // Next clear the map.
+ managedContentMap.clear();
+ }
+
+ synchronized ( remoteContentMap )
+ {
+ // First, return any references to the container.
+ for ( RemoteRepositoryContent repo : remoteContentMap.values() )
+ {
+ try
+ {
+ container.release( repo );
+ }
+ catch ( ComponentLifecycleException e )
+ {
+ /* ignore */
+ }
+ }
+
+ // Next clear the map.
+ remoteContentMap.clear();
+ }
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/AllTests.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryNotFoundException.java
index 4fd446bdd..9fb7e1cca 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/AllTests.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/RepositoryNotFoundException.java
@@ -1,4 +1,4 @@
-package org.apache.maven.archiva.repository.metadata;
+package org.apache.maven.archiva.repository;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,26 +19,32 @@ package org.apache.maven.archiva.repository.metadata;
* under the License.
*/
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
/**
- * AllTests
+ * RepositoryNotFoundException
*
* @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
-public class AllTests
+public class RepositoryNotFoundException
+ extends RepositoryException
{
- public static Test suite()
+ public RepositoryNotFoundException()
{
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.metadata" );
- //$JUnit-BEGIN$
- suite.addTestSuite( RepositoryMetadataWriterTest.class );
- suite.addTestSuite( RepositoryMetadataReaderTest.class );
- //$JUnit-END$
- return suite;
}
+ public RepositoryNotFoundException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+ public RepositoryNotFoundException( String message )
+ {
+ super( message );
+ }
+
+ public RepositoryNotFoundException( Throwable cause )
+ {
+ super( cause );
+ }
}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java
index a656df066..5aee6b2cc 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/connector/RepositoryConnector.java
@@ -19,8 +19,8 @@ package org.apache.maven.archiva.repository.connector;
* under the License.
*/
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RemoteRepositoryContent;
import java.util.List;
@@ -32,9 +32,9 @@ import java.util.List;
*/
public interface RepositoryConnector
{
- public ManagedRepositoryConfiguration getSourceRepository();
+ public ManagedRepositoryContent getSourceRepository();
- public RemoteRepositoryConfiguration getTargetRepository();
+ public RemoteRepositoryContent getTargetRepository();
public List<String> getBlacklist();
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
new file mode 100644
index 000000000..30d54ec85
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContent.java
@@ -0,0 +1,121 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.lang.StringUtils;
+import org.apache.maven.archiva.common.utils.VersionUtil;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.ProjectReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * AbstractDefaultRepositoryContent - common methods for working with default (maven 2) layout.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractDefaultRepositoryContent
+{
+ public static final String MAVEN_METADATA = "maven-metadata.xml";
+
+ protected static final char PATH_SEPARATOR = '/';
+
+ protected static final char GROUP_SEPARATOR = '.';
+
+ protected static final char ARTIFACT_SEPARATOR = '-';
+
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ return DefaultPathParser.toArtifactReference( path );
+ }
+
+ public String toMetadataPath( ProjectReference reference )
+ {
+ StringBuffer path = new StringBuffer();
+
+ path.append( formatAsDirectory( reference.getGroupId() ) ).append( PATH_SEPARATOR );
+ path.append( reference.getArtifactId() ).append( PATH_SEPARATOR );
+ path.append( MAVEN_METADATA );
+
+ return path.toString();
+ }
+
+ public String toMetadataPath( VersionedReference reference )
+ {
+ StringBuffer path = new StringBuffer();
+
+ path.append( formatAsDirectory( reference.getGroupId() ) ).append( PATH_SEPARATOR );
+ path.append( reference.getArtifactId() ).append( PATH_SEPARATOR );
+ if ( reference.getVersion() != null )
+ {
+ // add the version only if it is present
+ path.append( VersionUtil.getBaseVersion( reference.getVersion() ) ).append( PATH_SEPARATOR );
+ }
+ path.append( MAVEN_METADATA );
+
+ return path.toString();
+ }
+
+ public String toPath( ArtifactReference reference )
+ {
+ if ( reference == null )
+ {
+ throw new IllegalArgumentException( "Artifact reference cannot be null" );
+ }
+
+ String baseVersion = VersionUtil.getBaseVersion( reference.getVersion() );
+ return toPath( reference.getGroupId(), reference.getArtifactId(), baseVersion, reference.getVersion(),
+ reference.getClassifier(), reference.getType() );
+ }
+
+ private String formatAsDirectory( String directory )
+ {
+ return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
+ }
+
+ private String toPath( String groupId, String artifactId, String baseVersion, String version, String classifier,
+ String type )
+ {
+ StringBuffer path = new StringBuffer();
+
+ path.append( formatAsDirectory( groupId ) ).append( PATH_SEPARATOR );
+ path.append( artifactId ).append( PATH_SEPARATOR );
+
+ if ( baseVersion != null )
+ {
+ path.append( baseVersion ).append( PATH_SEPARATOR );
+ if ( ( version != null ) && ( type != null ) )
+ {
+ path.append( artifactId ).append( ARTIFACT_SEPARATOR ).append( version );
+
+ if ( StringUtils.isNotBlank( classifier ) )
+ {
+ path.append( ARTIFACT_SEPARATOR ).append( classifier );
+ }
+
+ path.append( GROUP_SEPARATOR ).append( ArtifactExtensionMapping.getExtension( type ) );
+ }
+ }
+
+ return path.toString();
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java
new file mode 100644
index 000000000..a9acaf2b9
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java
@@ -0,0 +1,119 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.lang.StringUtils;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * AbstractLegacyRepositoryContent
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractLegacyRepositoryContent
+{
+ private static final String DIR_JAVADOC = "javadoc.jars";
+
+ private static final String DIR_JAVA_SOURCE = "java-sources";
+
+ private static final String PATH_SEPARATOR = "/";
+
+ private static final Map<String, String> typeToDirectoryMap;
+
+ static
+ {
+ typeToDirectoryMap = new HashMap<String, String>();
+ typeToDirectoryMap.put( "ejb-client", "ejb" );
+ typeToDirectoryMap.put( "distribution-tgz", "distribution" );
+ typeToDirectoryMap.put( "distribution-zip", "distribution" );
+ }
+
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ return LegacyPathParser.toArtifactReference( path );
+ }
+
+ public String toPath( ArtifactReference reference )
+ {
+ if ( reference == null )
+ {
+ throw new IllegalArgumentException( "Artifact reference cannot be null" );
+ }
+
+ return toPath( reference.getGroupId(), reference.getArtifactId(), reference.getVersion(), reference
+ .getClassifier(), reference.getType() );
+ }
+
+ private String toPath( String groupId, String artifactId, String version, String classifier, String type )
+ {
+ StringBuffer path = new StringBuffer();
+
+ path.append( groupId ).append( PATH_SEPARATOR );
+ path.append( getDirectory( classifier, type ) ).append( PATH_SEPARATOR );
+
+ if ( version != null )
+ {
+ path.append( artifactId ).append( '-' ).append( version );
+
+ if ( StringUtils.isNotBlank( classifier ) )
+ {
+ path.append( '-' ).append( classifier );
+ }
+
+ path.append( '.' ).append( ArtifactExtensionMapping.getExtension( type ) );
+ }
+
+ return path.toString();
+ }
+
+ private String getDirectory( String classifier, String type )
+ {
+ // Special Cases involving type + classifier
+ if ( "jar".equals( type ) && StringUtils.isNotBlank( classifier ) )
+ {
+ if ( "sources".equals( classifier ) )
+ {
+ return DIR_JAVA_SOURCE;
+ }
+
+ if ( "javadoc".equals( classifier ) )
+ {
+ return DIR_JAVADOC;
+ }
+ }
+
+ // Special Cases involving only type.
+ String dirname = (String) typeToDirectoryMap.get( type );
+
+ if ( dirname != null )
+ {
+ return dirname + "s";
+ }
+
+ // Default process.
+ return type + "s";
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java
index cedbb7b41..dc9f268b4 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java
@@ -19,22 +19,25 @@ package org.apache.maven.archiva.repository.content;
* under the License.
*/
+import org.apache.commons.lang.StringUtils;
+
+import java.io.File;
import java.util.HashMap;
import java.util.Map;
/**
- * AbstractArtifactExtensionMapping
+ * ArtifactExtensionMapping
*
* @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
-public abstract class AbstractArtifactExtensionMapping
+public class ArtifactExtensionMapping
{
- protected final Map typeToExtensionMap;
+ protected static final Map<String, String> typeToExtensionMap;
- public AbstractArtifactExtensionMapping()
+ static
{
- typeToExtensionMap = new HashMap();
+ typeToExtensionMap = new HashMap<String, String>();
typeToExtensionMap.put( "ejb-client", "jar" );
typeToExtensionMap.put( "ejb", "jar" );
typeToExtensionMap.put( "distribution-tgz", "tar.gz" );
@@ -49,7 +52,7 @@ public abstract class AbstractArtifactExtensionMapping
typeToExtensionMap.put( "maven-archetype", "jar" );
}
- public String getExtension( String type )
+ public static String getExtension( String type )
{
// Try specialized types first.
if ( typeToExtensionMap.containsKey( type ) )
@@ -60,4 +63,50 @@ public abstract class AbstractArtifactExtensionMapping
// Return type
return type;
}
+
+ public static String guessTypeFromFilename( File file )
+ {
+ return guessTypeFromFilename( file.getName() );
+ }
+
+ public static String guessTypeFromFilename( String filename )
+ {
+ if ( StringUtils.isBlank( filename ) )
+ {
+ return null;
+ }
+
+ String normalizedName = filename.toLowerCase().trim();
+ int idx = normalizedName.lastIndexOf( '.' );
+
+ if ( idx == ( -1 ) )
+ {
+ return null;
+ }
+
+ if ( normalizedName.endsWith( ".tar.gz" ) )
+ {
+ return "distribution-tgz";
+ }
+ if ( normalizedName.endsWith( ".tar.bz2" ) )
+ {
+ return "distribution-bzip";
+ }
+ else if ( normalizedName.endsWith( ".zip" ) )
+ {
+ return "distribution-zip";
+ }
+ else if ( normalizedName.endsWith( "-sources.jar" ) )
+ {
+ return "java-source";
+ }
+ else if ( normalizedName.endsWith( "-javadoc.jar" ) )
+ {
+ return "javadoc";
+ }
+ else
+ {
+ return normalizedName.substring( idx + 1 );
+ }
+ }
}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultArtifactExtensionMapping.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultArtifactExtensionMapping.java
deleted file mode 100644
index f7b2534a4..000000000
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultArtifactExtensionMapping.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.apache.maven.archiva.repository.content;
-
-/*
- * 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.lang.StringUtils;
-
-/**
- * DefaultArtifactExtensionMapping - extension mapping for Maven 2.x projects.
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class DefaultArtifactExtensionMapping extends AbstractArtifactExtensionMapping
-{
- public DefaultArtifactExtensionMapping()
- {
- super();
- }
-
- public String getType( String filename )
- {
- if ( StringUtils.isBlank( filename ) )
- {
- return null;
- }
-
- String normalizedName = filename.toLowerCase().trim();
-
- if ( normalizedName.endsWith( ".tar.gz" ) )
- {
- return "distribution-tgz";
- }
- else if ( normalizedName.endsWith( ".zip" ) )
- {
- return "distribution-zip";
- }
- else if ( normalizedName.endsWith( "-sources.jar" ) )
- {
- return "java-source";
- }
- // TODO: handle type for -javadoc.jar ?
- else
- {
- int index = normalizedName.lastIndexOf( '.' );
- if ( index >= 0 )
- {
- return normalizedName.substring( index + 1 );
- }
- else
- {
- throw new IllegalArgumentException( "Filename " + filename + " does not have an extension." );
- }
- }
- }
-}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java
new file mode 100644
index 000000000..63a8a4310
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java
@@ -0,0 +1,184 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.lang.StringUtils;
+import org.apache.maven.archiva.common.utils.VersionUtil;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * DefaultPathParser is a parser for maven 2 (default layout) paths to ArtifactReference.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component role="org.apache.maven.archiva.repository.content.DefaultPathParser"
+ */
+public class DefaultPathParser
+{
+ private static final String INVALID_ARTIFACT_PATH = "Invalid path to Artifact: ";
+
+ /**
+ * Convert a path to an ArtifactReference.
+ *
+ * @param path
+ * @return
+ * @throws LayoutException
+ */
+ protected static ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ if ( StringUtils.isBlank( path ) )
+ {
+ throw new LayoutException( "Unable to convert blank path." );
+ }
+
+ ArtifactReference artifact = new ArtifactReference();
+
+ String normalizedPath = StringUtils.replace( path, "\\", "/" );
+ String pathParts[] = StringUtils.split( normalizedPath, '/' );
+
+ /* Minimum parts.
+ *
+ * path = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar"
+ * path[0] = "commons-lang"; // The Group ID
+ * path[1] = "commons-lang"; // The Artifact ID
+ * path[2] = "2.1"; // The Version
+ * path[3] = "commons-lang-2.1.jar" // The filename.
+ */
+
+ if ( pathParts.length < 4 )
+ {
+ // Illegal Path Parts Length.
+ throw new LayoutException( "Not enough parts to the path [" + path
+ + "] to construct an ArchivaArtifact from. (Requires at least 4 parts)" );
+ }
+
+ // Maven 2.x path.
+ int partCount = pathParts.length;
+ int filenamePos = partCount - 1;
+ int baseVersionPos = partCount - 2;
+ int artifactIdPos = partCount - 3;
+ int groupIdPos = partCount - 4;
+
+ // Second to last is the baseVersion (the directory version)
+ String baseVersion = pathParts[baseVersionPos];
+
+ // Third to last is the artifact Id.
+ artifact.setArtifactId( pathParts[artifactIdPos] );
+
+ // Remaining pieces are the groupId.
+ for ( int i = 0; i <= groupIdPos; i++ )
+ {
+ if ( i == 0 )
+ {
+ artifact.setGroupId( pathParts[i] );
+ }
+ else
+ {
+ artifact.setGroupId( artifact.getGroupId() + "." + pathParts[i] );
+ }
+ }
+
+ try
+ {
+ // Last part is the filename
+ String filename = pathParts[filenamePos];
+
+ // Now we need to parse the filename to get the artifact version Id.
+ if ( StringUtils.isBlank( filename ) )
+ {
+ throw new IllegalArgumentException( INVALID_ARTIFACT_PATH + "Unable to split blank filename." );
+ }
+
+ FilenameParser parser = new FilenameParser( filename );
+
+ // Expect the filename to start with the artifactId.
+ artifact.setArtifactId( parser.expect( artifact.getArtifactId() ) );
+
+ if ( artifact.getArtifactId() == null )
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "filename format is invalid, "
+ + "should start with artifactId as stated in path." );
+ }
+
+ // Process the version.
+ artifact.setVersion( parser.expect( baseVersion ) );
+
+ if ( artifact.getVersion() == null )
+ {
+ // We working with a snapshot?
+ if ( VersionUtil.isSnapshot( baseVersion ) )
+ {
+ artifact.setVersion( parser.nextVersion() );
+ if ( !VersionUtil.isUniqueSnapshot( artifact.getVersion() ) )
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "filename format is invalid,"
+ + "expected timestamp format in filename." );
+ }
+ }
+ else
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "filename format is invalid, "
+ + "expected version as stated in path." );
+ }
+ }
+
+ // Do we have a classifier?
+ artifact.setClassifier( parser.remaining() );
+
+ // Set the type.
+ artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) );
+
+ artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) );
+ }
+ catch ( LayoutException e )
+ {
+ throw e;
+ }
+
+ // Sanity Checks.
+
+ // Do we have a snapshot version?
+ if ( VersionUtil.isSnapshot( artifact.getVersion() ) )
+ {
+ // Rules are different for SNAPSHOTS
+ if ( !VersionUtil.isGenericSnapshot( baseVersion ) )
+ {
+ String filenameBaseVersion = VersionUtil.getBaseVersion( artifact.getVersion() );
+ throw new LayoutException( "Invalid snapshot artifact location, version directory should be "
+ + filenameBaseVersion );
+ }
+ }
+ else
+ {
+ // Non SNAPSHOT rules.
+ // Do we pass the simple test?
+ if ( !StringUtils.equals( baseVersion, artifact.getVersion() ) )
+ {
+ throw new LayoutException( "Invalid artifact: version declared in directory path does"
+ + " not match what was found in the artifact filename." );
+ }
+ }
+
+ return artifact;
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java
new file mode 100644
index 000000000..e672f812f
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java
@@ -0,0 +1,210 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.common.utils.VersionUtil;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Generic Filename Parser for use with layout routines.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class FilenameParser
+{
+ private String name;
+
+ private String extension;
+
+ private int offset;
+
+ private static final Pattern specialCases = Pattern.compile( "(maven-.*-plugin)|(maven-plugin)" );
+
+ private static final Pattern extensionPattern = Pattern.compile( "(.tar.gz$)|(.tar.bz2$)|(.[a-z0-9]{1,4}$)",
+ Pattern.CASE_INSENSITIVE );
+
+ private static final Pattern section = Pattern.compile( "([^-]*)" );
+
+ private Matcher matcher;
+
+ protected FilenameParser( String filename )
+ {
+ this.name = filename;
+
+ Matcher mat = extensionPattern.matcher( name );
+ if ( mat.find() )
+ {
+ extension = filename.substring( mat.start() + 1 );
+ name = name.substring( 0, name.length() - extension.length() - 1 );
+ }
+
+ matcher = section.matcher( name );
+
+ reset();
+ }
+
+ protected void reset()
+ {
+ offset = 0;
+ }
+
+ protected String next()
+ {
+ // Past the end of the string.
+ if ( offset > name.length() )
+ {
+ return null;
+ }
+
+ // Return the next section.
+ if ( matcher.find( offset ) )
+ {
+ // Return found section.
+ offset = matcher.end() + 1;
+ return matcher.group();
+ }
+
+ // Nothing to return.
+ return null;
+ }
+
+ protected String expect( String expected )
+ {
+ if ( name.startsWith( expected, offset ) )
+ {
+ // Potential hit. check for '.' or '-' at end of expected.
+ int seperatorOffset = offset + expected.length();
+
+ // Test for "out of bounds" first.
+ if ( seperatorOffset >= name.length() )
+ {
+ offset = name.length();
+ return expected;
+ }
+
+ // Test for seperator char.
+ char seperatorChar = name.charAt( seperatorOffset );
+ if ( ( seperatorChar == '-' ) || ( seperatorChar == '.' ) )
+ {
+ offset = seperatorOffset + 1;
+ return expected;
+ }
+ }
+
+ return null;
+ }
+
+ protected String getName()
+ {
+ return name;
+ }
+
+ protected String getExtension()
+ {
+ return extension;
+ }
+
+ protected String remaining()
+ {
+ if ( offset >= name.length() )
+ {
+ return null;
+ }
+
+ String end = name.substring( offset );
+ offset = name.length();
+ return end;
+ }
+
+ protected String nextNonVersion()
+ {
+ boolean done = false;
+
+ StringBuffer ver = new StringBuffer();
+
+ // Any text upto the end of a special case is considered non-version.
+ Matcher specialMat = specialCases.matcher( name );
+ if ( specialMat.find() )
+ {
+ ver.append( name.substring( offset, specialMat.end() ) );
+ offset = specialMat.end() + 1;
+ }
+
+ while ( !done )
+ {
+ int initialOffset = offset;
+ String section = next();
+ if ( section == null )
+ {
+ done = true;
+ }
+ else if ( !VersionUtil.isVersion( section ) )
+ {
+ if ( ver.length() > 0 )
+ {
+ ver.append( '-' );
+ }
+ ver.append( section );
+ }
+ else
+ {
+ offset = initialOffset;
+ done = true;
+ }
+ }
+
+ return ver.toString();
+ }
+
+ protected String nextVersion()
+ {
+ boolean done = false;
+
+ StringBuffer ver = new StringBuffer();
+
+ while ( !done )
+ {
+ int initialOffset = offset;
+ String section = next();
+ if ( section == null )
+ {
+ done = true;
+ }
+ else if ( VersionUtil.isVersion( section ) )
+ {
+ if ( ver.length() > 0 )
+ {
+ ver.append( '-' );
+ }
+ ver.append( section );
+ }
+ else
+ {
+ offset = initialOffset;
+ done = true;
+ }
+ }
+
+ return ver.toString();
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyArtifactExtensionMapping.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyArtifactExtensionMapping.java
deleted file mode 100644
index 1dc7a701a..000000000
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyArtifactExtensionMapping.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.maven.archiva.repository.content;
-
-import org.apache.commons.lang.StringUtils;
-
-/*
- * 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.
- */
-
-/**
- * LegacyArtifactExtensionMapping
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class LegacyArtifactExtensionMapping
- extends AbstractArtifactExtensionMapping
-{
- public LegacyArtifactExtensionMapping()
- {
- super();
- }
-
- public String getType( String pathType, String filename )
- {
- if ( StringUtils.isBlank( filename ) )
- {
- return pathType;
- }
-
- String normalizedName = filename.toLowerCase().trim();
-
- if ( normalizedName.endsWith( ".tar.gz" ) )
- {
- return "distribution-tgz";
- }
- else if ( normalizedName.endsWith( ".zip" ) )
- {
- return "distribution-zip";
- }
- else if ( normalizedName.endsWith( "-sources.jar" ) )
- {
- return "java-source";
- }
- else if ( normalizedName.endsWith( "-javadoc.jar" ) )
- {
- return "javadoc.jar";
- }
- else
- {
- if ( pathType.endsWith( "s" ) )
- {
- return pathType.substring( 0, pathType.length() - 1 );
- }
- else
- {
- return pathType;
- }
- }
- }
-}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java
new file mode 100644
index 000000000..92a8609b3
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java
@@ -0,0 +1,153 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.lang.StringUtils;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * LegacyPathParser is a parser for maven 1 (legacy layout) paths to ArtifactReference.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class LegacyPathParser
+{
+ private static final String INVALID_ARTIFACT_PATH = "Invalid path to Artifact: ";
+
+ protected static ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ ArtifactReference artifact = new ArtifactReference();
+
+ String normalizedPath = StringUtils.replace( path, "\\", "/" );
+
+ String pathParts[] = StringUtils.split( normalizedPath, '/' );
+
+ /* Always 3 parts. (Never more or less)
+ *
+ * path = "commons-lang/jars/commons-lang-2.1.jar"
+ * path[0] = "commons-lang"; // The Group ID
+ * path[1] = "jars"; // The Directory Type
+ * path[2] = "commons-lang-2.1.jar"; // The Filename.
+ */
+
+ if ( pathParts.length != 3 )
+ {
+ // Illegal Path Parts Length.
+ throw new LayoutException( INVALID_ARTIFACT_PATH
+ + "legacy paths should only have 3 parts [groupId]/[type]s/[artifactId]-[version].[type], found "
+ + pathParts.length + " instead." );
+ }
+
+ // The Group ID.
+ artifact.setGroupId( pathParts[0] );
+
+ // The Expected Type.
+ String expectedType = pathParts[1];
+
+ // Sanity Check: expectedType should end in "s".
+ if ( !expectedType.endsWith( "s" ) )
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH
+ + "legacy paths should have an expected type ending in [s] in the second part of the path." );
+ }
+
+ // The Filename.
+ String filename = pathParts[2];
+
+ FilenameParser parser = new FilenameParser( filename );
+
+ artifact.setArtifactId( parser.nextNonVersion() );
+
+ // Sanity Check: does it have an artifact id?
+ if ( StringUtils.isEmpty( artifact.getArtifactId() ) )
+ {
+ // Special Case: The filename might start with a version id (like "test-arch-1.0.jar").
+ int idx = filename.indexOf( '-' );
+ if ( idx > 0 )
+ {
+ parser.reset();
+ // Take the first section regardless of content.
+ String artifactId = parser.next();
+
+ // Is there anything more that is considered not a version id?
+ String moreArtifactId = parser.nextNonVersion();
+ if ( StringUtils.isNotBlank( moreArtifactId ) )
+ {
+ artifact.setArtifactId( artifactId + "-" + moreArtifactId );
+ }
+ else
+ {
+ artifact.setArtifactId( artifactId );
+ }
+ }
+
+ // Sanity Check: still no artifact id?
+ if ( StringUtils.isEmpty( artifact.getArtifactId() ) )
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "no artifact id present." );
+ }
+ }
+
+ artifact.setVersion( parser.remaining() );
+
+ // Sanity Check: does it have a version?
+ if ( StringUtils.isEmpty( artifact.getVersion() ) )
+ {
+ // Special Case: use last section of artifactId as version.
+ String artifactId = artifact.getArtifactId();
+ int idx = artifactId.lastIndexOf( '-' );
+ if ( idx > 0 )
+ {
+ artifact.setVersion( artifactId.substring( idx + 1 ) );
+ artifact.setArtifactId( artifactId.substring( 0, idx ) );
+ }
+ else
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "no version found." );
+ }
+ }
+
+ artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) );
+
+ // Sanity Check: does it have an extension?
+ if ( StringUtils.isEmpty( artifact.getType() ) )
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "no extension found." );
+ }
+
+ String trimPathType = expectedType.substring( 0, expectedType.length() - 1 );
+
+ // Sanity Check: does extension match pathType on path?
+ String expectedExtension = ArtifactExtensionMapping.getExtension( trimPathType );
+ String actualExtension = parser.getExtension();
+
+ if ( !expectedExtension.equals( actualExtension ) )
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "mismatch on extension [" + actualExtension
+ + "] and layout specified type [" + expectedType + "] (which maps to extension: [" + expectedExtension
+ + "]) on path [" + path + "]" );
+ }
+
+ return artifact;
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
new file mode 100644
index 000000000..78ddfb2bd
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java
@@ -0,0 +1,438 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.io.FileUtils;
+import org.apache.maven.archiva.common.utils.PathUtil;
+import org.apache.maven.archiva.configuration.FileTypes;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.ProjectReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.ContentNotFoundException;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.util.SelectorUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * ManagedDefaultRepositoryContent
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.repository.ManagedRepositoryContent"
+ * role-hint="default"
+ * instantiation-strategy="per-lookup"
+ */
+public class ManagedDefaultRepositoryContent
+ extends AbstractDefaultRepositoryContent
+ implements ManagedRepositoryContent, Initializable
+{
+ /**
+ * @plexus.requirement
+ */
+ private FileTypes filetypes;
+
+ private ManagedRepositoryConfiguration repository;
+
+ private List<String> artifactPatterns;
+
+ public void deleteVersion( VersionedReference reference )
+ throws ContentNotFoundException
+ {
+ String path = toMetadataPath( reference );
+ File projectPath = new File( getRepoRoot(), path );
+
+ File projectDir = projectPath.getParentFile();
+ if( projectDir.exists() && projectDir.isDirectory() )
+ {
+ try
+ {
+ FileUtils.deleteDirectory( projectDir );
+ }
+ catch ( IOException e )
+ {
+ // TODO: log this somewhere?
+ }
+ }
+ }
+
+ public String getId()
+ {
+ return repository.getId();
+ }
+
+ public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference )
+ throws ContentNotFoundException, LayoutException
+ {
+ File artifactFile = toFile( reference );
+ File repoDir = artifactFile.getParentFile();
+
+ if ( !repoDir.exists() )
+ {
+ throw new ContentNotFoundException( "Unable to get related artifacts using a non-existant directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ if ( !repoDir.isDirectory() )
+ {
+ throw new ContentNotFoundException( "Unable to get related artifacts using a non-directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ Set<ArtifactReference> foundArtifacts = new HashSet<ArtifactReference>();
+
+ // First gather up the versions found as artifacts in the managed repository.
+ File repoFiles[] = repoDir.listFiles();
+ for ( int i = 0; i < repoFiles.length; i++ )
+ {
+ if ( repoFiles[i].isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ ArtifactReference artifact = toArtifactReference( relativePath );
+
+ // Test for related, groupId / artifactId / version must match.
+ if ( artifact.getGroupId().equals( reference.getGroupId() )
+ && artifact.getArtifactId().equals( reference.getArtifactId() )
+ && artifact.getVersion().equals( reference.getVersion() ) )
+ {
+ foundArtifacts.add( artifact );
+ }
+ }
+ }
+
+ return foundArtifacts;
+ }
+
+ public String getRepoRoot()
+ {
+ return repository.getLocation();
+ }
+
+ public ManagedRepositoryConfiguration getRepository()
+ {
+ return repository;
+ }
+
+ /**
+ * Gather the Available Versions (on disk) for a specific Project Reference, based on filesystem
+ * information.
+ *
+ * @return the Set of available versions, based on the project reference.
+ * @throws LayoutException
+ * @throws LayoutException
+ */
+ public Set<String> getVersions( ProjectReference reference )
+ throws ContentNotFoundException, LayoutException
+ {
+ String path = toMetadataPath( reference );
+
+ int idx = path.lastIndexOf( '/' );
+ if ( idx > 0 )
+ {
+ path = path.substring( 0, idx );
+ }
+
+ File repoDir = new File( repository.getLocation(), path );
+
+ if ( !repoDir.exists() )
+ {
+ throw new ContentNotFoundException( "Unable to get Versions on a non-existant directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ if ( !repoDir.isDirectory() )
+ {
+ throw new ContentNotFoundException( "Unable to get Versions on a non-directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ Set<String> foundVersions = new HashSet<String>();
+ VersionedReference versionRef = new VersionedReference();
+ versionRef.setGroupId( reference.getGroupId() );
+ versionRef.setArtifactId( reference.getArtifactId() );
+
+ File repoFiles[] = repoDir.listFiles();
+ for ( int i = 0; i < repoFiles.length; i++ )
+ {
+ if ( !repoFiles[i].isDirectory() )
+ {
+ // Skip it. not a directory.
+ continue;
+ }
+
+ // Test if dir has an artifact, which proves to us that it is a valid version directory.
+ String version = repoFiles[i].getName();
+ versionRef.setVersion( version );
+
+ if ( hasArtifact( versionRef ) )
+ {
+ // Found an artifact, must be a valid version.
+ foundVersions.add( version );
+ }
+ }
+
+ return foundVersions;
+ }
+
+ public Set<String> getVersions( VersionedReference reference )
+ throws ContentNotFoundException, LayoutException
+ {
+ String path = toMetadataPath( reference );
+
+ int idx = path.lastIndexOf( '/' );
+ if ( idx > 0 )
+ {
+ path = path.substring( 0, idx );
+ }
+
+ File repoDir = new File( repository.getLocation(), path );
+
+ if ( !repoDir.exists() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions on a non-existant directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ if ( !repoDir.isDirectory() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions on a non-directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ Set<String> foundVersions = new HashSet<String>();
+
+ // First gather up the versions found as artifacts in the managed repository.
+ File repoFiles[] = repoDir.listFiles();
+ for ( int i = 0; i < repoFiles.length; i++ )
+ {
+ if ( repoFiles[i].isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ ArtifactReference artifact = toArtifactReference( relativePath );
+
+ foundVersions.add( artifact.getVersion() );
+ }
+ }
+
+ return foundVersions;
+ }
+
+ public boolean hasContent( ArtifactReference reference )
+ {
+ File artifactFile = toFile( reference );
+ return artifactFile.exists() && artifactFile.isFile();
+ }
+
+ public boolean hasContent( ProjectReference reference )
+ {
+ try
+ {
+ Set<String> versions = getVersions( reference );
+ return !versions.isEmpty();
+ }
+ catch ( ContentNotFoundException e )
+ {
+ return false;
+ }
+ catch ( LayoutException e )
+ {
+ return false;
+ }
+ }
+
+ public boolean hasContent( VersionedReference reference )
+ {
+ try
+ {
+ return ( getFirstArtifact( reference ) != null );
+ }
+ catch ( IOException e )
+ {
+ return false;
+ }
+ catch ( LayoutException e )
+ {
+ return false;
+ }
+ }
+
+ public void initialize()
+ throws InitializationException
+ {
+ this.artifactPatterns = new ArrayList<String>();
+ initVariables();
+ }
+
+ public void setRepository( ManagedRepositoryConfiguration repository )
+ {
+ this.repository = repository;
+ }
+
+ /**
+ * Convert a path to an artifact reference.
+ *
+ * @param path the path to convert. (relative or full location path)
+ * @throws LayoutException if the path cannot be converted to an artifact reference.
+ */
+ @Override
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ if ( ( path != null ) && path.startsWith( repository.getLocation() ) )
+ {
+ return super.toArtifactReference( path.substring( repository.getLocation().length() ) );
+ }
+
+ return super.toArtifactReference( path );
+ }
+
+ public File toFile( ArtifactReference reference )
+ {
+ return new File( repository.getLocation(), toPath( reference ) );
+ }
+
+ /**
+ * Get the first Artifact found in the provided VersionedReference location.
+ *
+ * @param managedRepository the repository to search within.
+ * @param reference the reference to the versioned reference to search within
+ * @return the ArtifactReference to the first artifact located within the versioned reference. or null if
+ * no artifact was found within the versioned reference.
+ * @throws IOException if the versioned reference is invalid (example: doesn't exist, or isn't a directory)
+ * @throws LayoutException
+ */
+ private ArtifactReference getFirstArtifact( VersionedReference reference )
+ throws LayoutException, IOException
+ {
+ String path = toMetadataPath( reference );
+
+ int idx = path.lastIndexOf( '/' );
+ if ( idx > 0 )
+ {
+ path = path.substring( 0, idx );
+ }
+
+ File repoDir = new File( repository.getLocation(), path );
+
+ if ( !repoDir.exists() )
+ {
+ throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ if ( !repoDir.isDirectory() )
+ {
+ throw new IOException( "Unable to gather the list of snapshot versions on a non-directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ File repoFiles[] = repoDir.listFiles();
+ for ( int i = 0; i < repoFiles.length; i++ )
+ {
+ if ( repoFiles[i].isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ ArtifactReference artifact = toArtifactReference( relativePath );
+
+ return artifact;
+ }
+ }
+
+ // No artifact was found.
+ return null;
+ }
+
+ private boolean hasArtifact( VersionedReference reference )
+ throws LayoutException
+ {
+ try
+ {
+ return ( getFirstArtifact( reference ) != null );
+ }
+ catch ( IOException e )
+ {
+ return false;
+ }
+ }
+
+ private void initVariables()
+ {
+ synchronized ( this.artifactPatterns )
+ {
+ this.artifactPatterns.clear();
+
+ this.artifactPatterns.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) );
+ }
+ }
+
+ private boolean matchesArtifactPattern( String relativePath )
+ {
+ // Correct the slash pattern.
+ relativePath = relativePath.replace( '\\', '/' );
+
+ Iterator<String> it = this.artifactPatterns.iterator();
+ while ( it.hasNext() )
+ {
+ String pattern = it.next();
+
+ if ( SelectorUtils.matchPath( pattern, relativePath, false ) )
+ {
+ // Found match
+ return true;
+ }
+ }
+
+ // No match.
+ return false;
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java
new file mode 100644
index 000000000..212aeed81
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java
@@ -0,0 +1,495 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.common.utils.PathUtil;
+import org.apache.maven.archiva.configuration.FileTypes;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.ProjectReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.ContentNotFoundException;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.util.SelectorUtils;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * ManagedLegacyRepositoryContent
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.repository.ManagedRepositoryContent"
+ * role-hint="legacy"
+ * instantiation-strategy="per-lookup"
+ */
+public class ManagedLegacyRepositoryContent
+ extends AbstractLegacyRepositoryContent
+ implements ManagedRepositoryContent, Initializable
+{
+ /**
+ * @plexus.requirement
+ */
+ private FileTypes filetypes;
+
+ private ManagedRepositoryConfiguration repository;
+
+ private List<String> artifactPatterns;
+
+ public void deleteVersion( VersionedReference reference )
+ throws ContentNotFoundException
+ {
+ File groupDir = new File( repository.getLocation(), reference.getGroupId() );
+
+ if ( !groupDir.exists() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions using a non-existant groupId directory: "
+ + groupDir.getAbsolutePath() );
+ }
+
+ if ( !groupDir.isDirectory() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions using a non-directory: "
+ + groupDir.getAbsolutePath() );
+ }
+
+ // First gather up the versions found as artifacts in the managed repository.
+ File typeDirs[] = groupDir.listFiles();
+ for ( File typeDir : typeDirs )
+ {
+ if ( !typeDir.isDirectory() )
+ {
+ // Skip it, we only care about directories.
+ continue;
+ }
+
+ if ( !typeDir.getName().endsWith( "s" ) )
+ {
+ // Skip it, we only care about directories that end in "s".
+ }
+
+ deleteVersions( typeDir, reference );
+ }
+ }
+
+ private void deleteVersions( File typeDir, VersionedReference reference )
+ {
+ File repoFiles[] = typeDir.listFiles();
+ for ( File repoFile : repoFiles )
+ {
+ if ( repoFile.isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( repository.getLocation(), repoFile );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ try
+ {
+ ArtifactReference artifact = toArtifactReference( relativePath );
+ if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() )
+ && StringUtils.equals( artifact.getVersion(), reference.getVersion() ) )
+ {
+ repoFile.delete();
+ deleteSupportFiles( repoFile );
+ }
+ }
+ catch ( LayoutException e )
+ {
+ /* don't fail the process if there is a bad artifact within the directory. */
+ }
+ }
+ }
+ }
+
+ private void deleteSupportFiles( File repoFile )
+ {
+ deleteSupportFile( repoFile, ".sha1" );
+ deleteSupportFile( repoFile, ".md5" );
+ deleteSupportFile( repoFile, ".asc" );
+ deleteSupportFile( repoFile, ".gpg" );
+ }
+
+ private void deleteSupportFile( File repoFile, String supportExtension )
+ {
+ File supportFile = new File( repoFile.getAbsolutePath() + supportExtension );
+ if ( supportFile.exists() && supportFile.isFile() )
+ {
+ supportFile.delete();
+ }
+ }
+
+ public String getId()
+ {
+ return repository.getId();
+ }
+
+ public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference )
+ throws ContentNotFoundException, LayoutException
+ {
+ File artifactFile = toFile( reference );
+ File repoDir = artifactFile.getParentFile();
+
+ if ( !repoDir.exists() )
+ {
+ throw new ContentNotFoundException( "Unable to get related artifacts using a non-existant directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ if ( !repoDir.isDirectory() )
+ {
+ throw new ContentNotFoundException( "Unable to get related artifacts using a non-directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ Set<ArtifactReference> foundArtifacts = new HashSet<ArtifactReference>();
+
+ // First gather up the versions found as artifacts in the managed repository.
+ File projectParentDir = repoDir.getParentFile();
+ File typeDirs[] = projectParentDir.listFiles();
+ for ( File typeDir : typeDirs )
+ {
+ if ( !typeDir.isDirectory() )
+ {
+ // Skip it, we only care about directories.
+ continue;
+ }
+
+ if ( !typeDir.getName().endsWith( "s" ) )
+ {
+ // Skip it, we only care about directories that end in "s".
+ }
+
+ getRelatedArtifacts( typeDir, reference, foundArtifacts );
+ }
+
+ return foundArtifacts;
+ }
+
+ public String getRepoRoot()
+ {
+ return repository.getLocation();
+ }
+
+ public ManagedRepositoryConfiguration getRepository()
+ {
+ return repository;
+ }
+
+ public Set<String> getVersions( ProjectReference reference )
+ throws ContentNotFoundException
+ {
+ File groupDir = new File( repository.getLocation(), reference.getGroupId() );
+
+ if ( !groupDir.exists() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions using a non-existant groupId directory: "
+ + groupDir.getAbsolutePath() );
+ }
+
+ if ( !groupDir.isDirectory() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions using a non-directory: "
+ + groupDir.getAbsolutePath() );
+ }
+
+ Set<String> foundVersions = new HashSet<String>();
+
+ // First gather up the versions found as artifacts in the managed repository.
+ File typeDirs[] = groupDir.listFiles();
+ for ( File typeDir : typeDirs )
+ {
+ if ( !typeDir.isDirectory() )
+ {
+ // Skip it, we only care about directories.
+ continue;
+ }
+
+ if ( !typeDir.getName().endsWith( "s" ) )
+ {
+ // Skip it, we only care about directories that end in "s".
+ }
+
+ getProjectVersions( typeDir, reference, foundVersions );
+ }
+
+ return foundVersions;
+ }
+
+ public Set<String> getVersions( VersionedReference reference )
+ throws ContentNotFoundException
+ {
+ File groupDir = new File( repository.getLocation(), reference.getGroupId() );
+
+ if ( !groupDir.exists() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions using a non-existant groupId directory: "
+ + groupDir.getAbsolutePath() );
+ }
+
+ if ( !groupDir.isDirectory() )
+ {
+ throw new ContentNotFoundException( "Unable to get versions using a non-directory: "
+ + groupDir.getAbsolutePath() );
+ }
+
+ Set<String> foundVersions = new HashSet<String>();
+
+ // First gather up the versions found as artifacts in the managed repository.
+ File typeDirs[] = groupDir.listFiles();
+ for ( File typeDir : typeDirs )
+ {
+ if ( !typeDir.isDirectory() )
+ {
+ // Skip it, we only care about directories.
+ continue;
+ }
+
+ if ( !typeDir.getName().endsWith( "s" ) )
+ {
+ // Skip it, we only care about directories that end in "s".
+ }
+
+ getVersionedVersions( typeDir, reference, foundVersions );
+ }
+
+ return foundVersions;
+ }
+
+ public boolean hasContent( ArtifactReference reference )
+ {
+ File artifactFile = toFile( reference );
+ return artifactFile.exists() && artifactFile.isFile();
+ }
+
+ public boolean hasContent( ProjectReference reference )
+ {
+ try
+ {
+ Set<String> versions = getVersions( reference );
+ return CollectionUtils.isNotEmpty( versions );
+ }
+ catch ( ContentNotFoundException e )
+ {
+ return false;
+ }
+ }
+
+ public boolean hasContent( VersionedReference reference )
+ {
+ try
+ {
+ Set<String> versions = getVersions( reference );
+ return CollectionUtils.isNotEmpty( versions );
+ }
+ catch ( ContentNotFoundException e )
+ {
+ return false;
+ }
+ }
+
+ public void initialize()
+ throws InitializationException
+ {
+ this.artifactPatterns = new ArrayList<String>();
+ initVariables();
+ }
+
+ public void setRepository( ManagedRepositoryConfiguration repository )
+ {
+ this.repository = repository;
+ }
+
+ /**
+ * Convert a path to an artifact reference.
+ *
+ * @param path the path to convert. (relative or full location path)
+ * @throws LayoutException if the path cannot be converted to an artifact reference.
+ */
+ @Override
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ if ( ( path != null ) && path.startsWith( repository.getLocation() ) )
+ {
+ return super.toArtifactReference( path.substring( repository.getLocation().length() ) );
+ }
+
+ return super.toArtifactReference( path );
+ }
+
+ public File toFile( ArtifactReference reference )
+ {
+ return new File( repository.getLocation(), toPath( reference ) );
+ }
+
+ public String toMetadataPath( ProjectReference reference )
+ {
+ // No metadata present in legacy repository.
+ return null;
+ }
+
+ public String toMetadataPath( VersionedReference reference )
+ {
+ // No metadata present in legacy repository.
+ return null;
+ }
+
+ private void getProjectVersions( File typeDir, ProjectReference reference, Set<String> foundVersions )
+ {
+ File repoFiles[] = typeDir.listFiles();
+ for ( File repoFile : repoFiles )
+ {
+ if ( repoFile.isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( repository.getLocation(), repoFile );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ try
+ {
+ ArtifactReference artifact = toArtifactReference( relativePath );
+ if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() ) )
+ {
+ foundVersions.add( artifact.getVersion() );
+ }
+ }
+ catch ( LayoutException e )
+ {
+ /* don't fail the process if there is a bad artifact within the directory. */
+ }
+ }
+ }
+ }
+
+ private void getRelatedArtifacts( File typeDir, ArtifactReference reference, Set<ArtifactReference> foundArtifacts )
+ {
+ File repoFiles[] = typeDir.listFiles();
+ for ( int i = 0; i < repoFiles.length; i++ )
+ {
+ if ( repoFiles[i].isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ try
+ {
+ ArtifactReference artifact = toArtifactReference( relativePath );
+ if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() )
+ && artifact.getVersion().startsWith( reference.getVersion() ) )
+ {
+ foundArtifacts.add( artifact );
+ }
+ }
+ catch ( LayoutException e )
+ {
+ /* don't fail the process if there is a bad artifact within the directory. */
+ }
+ }
+ }
+ }
+
+ private void getVersionedVersions( File typeDir, VersionedReference reference, Set<String> foundVersions )
+ {
+ File repoFiles[] = typeDir.listFiles();
+ for ( int i = 0; i < repoFiles.length; i++ )
+ {
+ if ( repoFiles[i].isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ try
+ {
+ ArtifactReference artifact = toArtifactReference( relativePath );
+ if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() )
+ && artifact.getVersion().startsWith( reference.getVersion() ) )
+ {
+ foundVersions.add( artifact.getVersion() );
+ }
+ }
+ catch ( LayoutException e )
+ {
+ /* don't fail the process if there is a bad artifact within the directory. */
+ }
+ }
+ }
+ }
+
+ private void initVariables()
+ {
+ synchronized ( this.artifactPatterns )
+ {
+ this.artifactPatterns.clear();
+
+ this.artifactPatterns.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) );
+ }
+ }
+
+ private boolean matchesArtifactPattern( String relativePath )
+ {
+ // Correct the slash pattern.
+ relativePath = relativePath.replace( '\\', '/' );
+
+ Iterator<String> it = this.artifactPatterns.iterator();
+ while ( it.hasNext() )
+ {
+ String pattern = it.next();
+
+ if ( SelectorUtils.matchPath( pattern, relativePath, false ) )
+ {
+ // Found match
+ return true;
+ }
+ }
+
+ // No match.
+ return false;
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java
new file mode 100644
index 000000000..b8bbf725f
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContent.java
@@ -0,0 +1,88 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.RemoteRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.RepositoryURL;
+import org.apache.maven.archiva.repository.RemoteRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * RemoteDefaultRepositoryContent
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.repository.RemoteRepositoryContent"
+ * role-hint="default"
+ * instantiation-strategy="per-lookup"
+ */
+public class RemoteDefaultRepositoryContent
+ extends AbstractDefaultRepositoryContent
+ implements RemoteRepositoryContent
+{
+ private RemoteRepositoryConfiguration repository;
+
+ public String getId()
+ {
+ return repository.getId();
+ }
+
+ public RemoteRepositoryConfiguration getRepository()
+ {
+ return repository;
+ }
+
+ public RepositoryURL getURL()
+ {
+ return new RepositoryURL( repository.getUrl() );
+ }
+
+ public void setRepository( RemoteRepositoryConfiguration repository )
+ {
+ this.repository = repository;
+ }
+
+ /**
+ * Convert a path to an artifact reference.
+ *
+ * @param path the path to convert. (relative or full url path)
+ * @throws LayoutException if the path cannot be converted to an artifact reference.
+ */
+ @Override
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ if ( ( path != null ) && path.startsWith( repository.getUrl() ) )
+ {
+ return super.toArtifactReference( path.substring( repository.getUrl().length() ) );
+ }
+
+ return super.toArtifactReference( path );
+ }
+
+ public RepositoryURL toURL( ArtifactReference reference )
+ {
+ String url = repository.getUrl() + toPath( reference );
+ return new RepositoryURL( url );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java
new file mode 100644
index 000000000..da45d43ec
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContent.java
@@ -0,0 +1,88 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.RemoteRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.RepositoryURL;
+import org.apache.maven.archiva.repository.RemoteRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * RemoteLegacyRepositoryContent
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.repository.RemoteRepositoryContent"
+ * role-hint="legacy"
+ * instantiation-strategy="per-lookup"
+ */
+public class RemoteLegacyRepositoryContent
+ extends AbstractLegacyRepositoryContent
+ implements RemoteRepositoryContent
+{
+ private RemoteRepositoryConfiguration repository;
+
+ public String getId()
+ {
+ return repository.getId();
+ }
+
+ public RemoteRepositoryConfiguration getRepository()
+ {
+ return repository;
+ }
+
+ public RepositoryURL getURL()
+ {
+ return new RepositoryURL( repository.getUrl() );
+ }
+
+ public void setRepository( RemoteRepositoryConfiguration repository )
+ {
+ this.repository = repository;
+ }
+
+ /**
+ * Convert a path to an artifact reference.
+ *
+ * @param path the path to convert. (relative or full url path)
+ * @throws LayoutException if the path cannot be converted to an artifact reference.
+ */
+ @Override
+ public ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ if ( path.startsWith( repository.getUrl() ) )
+ {
+ return super.toArtifactReference( path.substring( repository.getUrl().length() ) );
+ }
+
+ return super.toArtifactReference( path );
+ }
+
+ public RepositoryURL toURL( ArtifactReference reference )
+ {
+ String url = repository.getUrl() + toPath( reference );
+ return new RepositoryURL( url );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java
new file mode 100644
index 000000000..d6f5dfce7
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/RepositoryRequest.java
@@ -0,0 +1,146 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.lang.StringUtils;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.FileTypes;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.registry.Registry;
+import org.codehaus.plexus.registry.RegistryListener;
+import org.codehaus.plexus.util.SelectorUtils;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * RepositoryRequest is used to determine the type of request that is incoming, and convert it to an appropriate
+ * ArtifactReference.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ *
+ * @plexus.component
+ * role="org.apache.maven.archiva.repository.content.RepositoryRequest"
+ */
+public class RepositoryRequest
+ implements RegistryListener, Initializable
+{
+ /**
+ * @plexus.requirement
+ */
+ private FileTypes filetypes;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArchivaConfiguration archivaConfiguration;
+
+ private List<String> artifactPatterns;
+
+ /**
+ * Test path to see if it is an artifact being requested (or not).
+ *
+ * @param requestedPath the path to test.
+ * @return true if it is an artifact being requested.
+ */
+ public boolean isArtifact( String requestedPath )
+ {
+ // Correct the slash pattern.
+ String relativePath = requestedPath.replace( '\\', '/' );
+
+ Iterator<String> it = this.artifactPatterns.iterator();
+ while ( it.hasNext() )
+ {
+ String pattern = it.next();
+
+ if ( SelectorUtils.matchPath( pattern, relativePath, false ) )
+ {
+ // Found match
+ return true;
+ }
+ }
+
+ // No match.
+ return false;
+ }
+
+ /**
+ * Takes an incoming requested path (in "/" format) and gleans the layout
+ * and ArtifactReference appropriate for that content.
+ *
+ * @param requestedPath the relative path to the content.
+ * @return the ArtifactReference for the requestedPath.
+ * @throws LayoutException if the request path is not layout valid.
+ */
+ public ArtifactReference toArtifactReference( String requestedPath )
+ throws LayoutException
+ {
+ String pathParts[] = StringUtils.splitPreserveAllTokens( requestedPath, '/' );
+
+ if ( pathParts.length > 3 )
+ {
+ return DefaultPathParser.toArtifactReference( requestedPath );
+ }
+ else if ( pathParts.length == 3 )
+ {
+ return LegacyPathParser.toArtifactReference( requestedPath );
+ }
+ else
+ {
+ throw new LayoutException( "Not a valid request path layout, too short." );
+ }
+ }
+
+ public void initialize()
+ throws InitializationException
+ {
+ this.artifactPatterns = new ArrayList<String>();
+ initVariables();
+ this.archivaConfiguration.addChangeListener( this );
+ }
+
+ private void initVariables()
+ {
+ synchronized ( this.artifactPatterns )
+ {
+ this.artifactPatterns.clear();
+ this.artifactPatterns.addAll( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) );
+ }
+ }
+
+ public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ if ( propertyName.contains( "fileType" ) )
+ {
+ initVariables();
+ }
+ }
+
+ public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
+ {
+ /* nothing to do */
+
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java
index fae12c68d..0b25b0cb3 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayout.java
@@ -23,7 +23,7 @@ import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.common.utils.VersionUtil;
import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.model.ArtifactReference;
-import org.apache.maven.archiva.repository.content.DefaultArtifactExtensionMapping;
+import org.apache.maven.archiva.repository.content.ArtifactExtensionMapping;
/**
* DefaultBidirectionalRepositoryLayout - the layout mechanism for use by Maven 2.x repositories.
@@ -65,8 +65,6 @@ public class DefaultBidirectionalRepositoryLayout
private static final char ARTIFACT_SEPARATOR = '-';
- private DefaultArtifactExtensionMapping extensionMapper = new DefaultArtifactExtensionMapping();
-
public String getId()
{
return "default";
@@ -147,7 +145,7 @@ public class DefaultBidirectionalRepositoryLayout
path.append( ARTIFACT_SEPARATOR ).append( classifier );
}
- path.append( GROUP_SEPARATOR ).append( extensionMapper.getExtension( type ) );
+ path.append( GROUP_SEPARATOR ).append( ArtifactExtensionMapping.getExtension( type ) );
}
}
@@ -244,7 +242,7 @@ public class DefaultBidirectionalRepositoryLayout
}
}
- prefs.type = extensionMapper.getType( filename );
+ prefs.type = ArtifactExtensionMapping.guessTypeFromFilename( filename );
}
catch ( LayoutException e )
{
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java
index ca7cb2490..51652c613 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayout.java
@@ -22,7 +22,7 @@ package org.apache.maven.archiva.repository.layout;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.model.ArchivaArtifact;
import org.apache.maven.archiva.model.ArtifactReference;
-import org.apache.maven.archiva.repository.content.LegacyArtifactExtensionMapping;
+import org.apache.maven.archiva.repository.content.ArtifactExtensionMapping;
import java.util.HashMap;
import java.util.Map;
@@ -43,8 +43,6 @@ public class LegacyBidirectionalRepositoryLayout
private static final String PATH_SEPARATOR = "/";
- private LegacyArtifactExtensionMapping extensionMapper = new LegacyArtifactExtensionMapping();
-
private Map typeToDirectoryMap;
public LegacyBidirectionalRepositoryLayout()
@@ -88,7 +86,7 @@ public class LegacyBidirectionalRepositoryLayout
path.append( '-' ).append( classifier );
}
- path.append( '.' ).append( extensionMapper.getExtension( type ) );
+ path.append( '.' ).append( ArtifactExtensionMapping.getExtension( type ) );
}
return path.toString();
@@ -169,7 +167,7 @@ public class LegacyBidirectionalRepositoryLayout
prefs.fileParts = RepositoryLayoutUtils.splitFilename( filename, null );
String trimPathType = prefs.pathType.substring( 0, prefs.pathType.length() - 1 );
- prefs.type = extensionMapper.getType( trimPathType, filename );
+ prefs.type = ArtifactExtensionMapping.guessTypeFromFilename( filename );
// Sanity Check: does it have an extension?
if ( StringUtils.isEmpty( prefs.fileParts.extension ) )
@@ -185,7 +183,7 @@ public class LegacyBidirectionalRepositoryLayout
}
// Sanity Check: does extension match pathType on path?
- String expectedExtension = extensionMapper.getExtension( trimPathType );
+ String expectedExtension = ArtifactExtensionMapping.getExtension( trimPathType );
String actualExtension = prefs.fileParts.extension;
if ( !expectedExtension.equals( actualExtension ) )
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
index 6b90bf161..54374f485 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
@@ -16,24 +16,25 @@ package org.apache.maven.archiva.repository.metadata;
* limitations under the License.
*/
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
+import org.apache.commons.lang.time.DateUtils;
import org.apache.maven.archiva.common.utils.PathUtil;
import org.apache.maven.archiva.common.utils.VersionComparator;
import org.apache.maven.archiva.common.utils.VersionUtil;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.ConfigurationNames;
import org.apache.maven.archiva.configuration.FileTypes;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
-import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
import org.apache.maven.archiva.model.ArchivaRepositoryMetadata;
import org.apache.maven.archiva.model.ArtifactReference;
import org.apache.maven.archiva.model.ProjectReference;
import org.apache.maven.archiva.model.SnapshotVersion;
import org.apache.maven.archiva.model.VersionedReference;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory;
+import org.apache.maven.archiva.repository.ContentNotFoundException;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RemoteRepositoryContent;
import org.apache.maven.archiva.repository.layout.LayoutException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
@@ -45,9 +46,11 @@ import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Collections;
-import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -62,8 +65,8 @@ import java.util.regex.Matcher;
*
* @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
+ *
* @plexus.component role="org.apache.maven.archiva.repository.metadata.MetadataTools"
- * @todo use the maven-repository-metadata classes instead for merging
*/
public class MetadataTools
implements RegistryListener, Initializable
@@ -79,11 +82,6 @@ public class MetadataTools
/**
* @plexus.requirement
*/
- private BidirectionalRepositoryLayoutFactory layoutFactory;
-
- /**
- * @plexus.requirement
- */
private ArchivaConfiguration configuration;
/**
@@ -95,7 +93,15 @@ public class MetadataTools
private Map<String, Set<String>> proxies;
- private static final char NUMS[] = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
+ private static final char NUMS[] = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
+
+ private static final SimpleDateFormat lastUpdatedFormat;
+
+ static
+ {
+ lastUpdatedFormat = new SimpleDateFormat( "yyyyMMddHHmmss" );
+ lastUpdatedFormat.setTimeZone( DateUtils.UTC_TIME_ZONE );
+ }
public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
{
@@ -111,201 +117,24 @@ public class MetadataTools
}
/**
- * Gather the Available Versions (on disk) for a specific Project Reference, based on filesystem
- * information.
- *
- * @return the Set of available versions, based on the project reference.
- * @throws LayoutException
- */
- public Set<String> gatherAvailableVersions( ManagedRepositoryConfiguration managedRepository, ProjectReference reference )
- throws LayoutException, IOException
- {
- String path = toPath( reference );
-
- int idx = path.lastIndexOf( '/' );
- if ( idx > 0 )
- {
- path = path.substring( 0, idx );
- }
-
- File repoDir = new File( managedRepository.getLocation(), path );
-
- if ( !repoDir.exists() )
- {
- throw new IOException( "Unable to calculate Available Local Versions on a non-existant directory: " +
- repoDir.getAbsolutePath() );
- }
-
- if ( !repoDir.isDirectory() )
- {
- throw new IOException(
- "Unable to calculate Available Local Versions on a non-directory: " + repoDir.getAbsolutePath() );
- }
-
- Set<String> foundVersions = new HashSet<String>();
- VersionedReference versionRef = new VersionedReference();
- versionRef.setGroupId( reference.getGroupId() );
- versionRef.setArtifactId( reference.getArtifactId() );
-
- File repoFiles[] = repoDir.listFiles();
- for ( int i = 0; i < repoFiles.length; i++ )
- {
- if ( !repoFiles[i].isDirectory() )
- {
- // Skip it. not a directory.
- continue;
- }
-
- // Test if dir has an artifact, which proves to us that it is a valid version directory.
- String version = repoFiles[i].getName();
- versionRef.setVersion( version );
-
- if ( hasArtifact( managedRepository, versionRef ) )
- {
- // Found an artifact, must be a valid version.
- foundVersions.add( version );
- }
- }
-
- return foundVersions;
- }
-
- private boolean hasArtifact( ManagedRepositoryConfiguration managedRepository, VersionedReference reference )
- throws LayoutException
- {
- try
- {
- return ( getFirstArtifact( managedRepository, reference ) != null );
- }
- catch ( IOException e )
- {
- return false;
- }
- }
-
- /**
- * Get the first Artifact found in the provided VersionedReference location.
- *
- * @param managedRepository the repository to search within.
- * @param reference the reference to the versioned reference to search within
- * @return the ArtifactReference to the first artifact located within the versioned reference. or null if
- * no artifact was found within the versioned reference.
- * @throws IOException if the versioned reference is invalid (example: doesn't exist, or isn't a directory)
- * @throws LayoutException
- */
- public ArtifactReference getFirstArtifact( ManagedRepositoryConfiguration managedRepository, VersionedReference reference )
- throws LayoutException, IOException
- {
- BidirectionalRepositoryLayout layout = layoutFactory.getLayout( managedRepository.getLayout() );
- String path = toPath( reference );
-
- int idx = path.lastIndexOf( '/' );
- if ( idx > 0 )
- {
- path = path.substring( 0, idx );
- }
-
- File repoDir = new File( managedRepository.getLocation(), path );
-
- if ( !repoDir.exists() )
- {
- throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: " +
- repoDir.getAbsolutePath() );
- }
-
- if ( !repoDir.isDirectory() )
- {
- throw new IOException(
- "Unable to gather the list of snapshot versions on a non-directory: " + repoDir.getAbsolutePath() );
- }
-
- File repoFiles[] = repoDir.listFiles();
- for ( int i = 0; i < repoFiles.length; i++ )
- {
- if ( repoFiles[i].isDirectory() )
- {
- // Skip it. it's a directory.
- continue;
- }
-
- String relativePath = PathUtil.getRelative( managedRepository.getLocation(), repoFiles[i] );
-
- if ( matchesArtifactPattern( relativePath ) )
- {
- ArtifactReference artifact = layout.toArtifactReference( relativePath );
-
- return artifact;
- }
- }
-
- // No artifact was found.
- return null;
- }
-
- /**
* Gather the set of snapshot versions found in a particular versioned reference.
*
* @return the Set of snapshot artifact versions found.
* @throws LayoutException
+ * @throws ContentNotFoundException
*/
- public Set<String> gatherSnapshotVersions( ManagedRepositoryConfiguration managedRepository, VersionedReference reference )
- throws LayoutException, IOException
+ public Set<String> gatherSnapshotVersions( ManagedRepositoryContent managedRepository, VersionedReference reference )
+ throws LayoutException, IOException, ContentNotFoundException
{
- BidirectionalRepositoryLayout layout = layoutFactory.getLayout( managedRepository.getLayout() );
- String path = toPath( reference );
-
- int idx = path.lastIndexOf( '/' );
- if ( idx > 0 )
- {
- path = path.substring( 0, idx );
- }
-
- File repoDir = new File( managedRepository.getLocation(), path );
-
- if ( !repoDir.exists() )
- {
- throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: " +
- repoDir.getAbsolutePath() );
- }
-
- if ( !repoDir.isDirectory() )
- {
- throw new IOException(
- "Unable to gather the list of snapshot versions on a non-directory: " + repoDir.getAbsolutePath() );
- }
-
- Set<String> foundVersions = new HashSet<String>();
-
- // First gather up the versions found as artifacts in the managed repository.
- File repoFiles[] = repoDir.listFiles();
- for ( int i = 0; i < repoFiles.length; i++ )
- {
- if ( repoFiles[i].isDirectory() )
- {
- // Skip it. it's a directory.
- continue;
- }
-
- String relativePath = PathUtil.getRelative( managedRepository.getLocation(), repoFiles[i] );
-
- if ( matchesArtifactPattern( relativePath ) )
- {
- ArtifactReference artifact = layout.toArtifactReference( relativePath );
-
- if ( VersionUtil.isSnapshot( artifact.getVersion() ) )
- {
- foundVersions.add( artifact.getVersion() );
- }
- }
- }
+ Set<String> foundVersions = managedRepository.getVersions( reference );
// Next gather up the referenced 'latest' versions found in any proxied repositories
// maven-metadata-${proxyId}.xml files that may be present.
// Does this repository have a set of remote proxied repositories?
- Set proxiedRepoIds = this.proxies.get( managedRepository.getId() );
+ Set<String> proxiedRepoIds = this.proxies.get( managedRepository.getId() );
- if ( proxiedRepoIds != null )
+ if ( CollectionUtils.isNotEmpty( proxiedRepoIds ) )
{
String baseVersion = VersionUtil.getBaseVersion( reference.getVersion() );
baseVersion = baseVersion.substring( 0, baseVersion.indexOf( VersionUtil.SNAPSHOT ) - 1 );
@@ -371,7 +200,7 @@ public class MetadataTools
{
// Scary check, but without it, all paths are version references;
throw new RepositoryMetadataException(
- "Not a versioned reference, as version id on path has no number in it." );
+ "Not a versioned reference, as version id on path has no number in it." );
}
reference.setArtifactId( pathParts[artifactIdOffset] );
@@ -463,27 +292,6 @@ public class MetadataTools
return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
}
- private boolean matchesArtifactPattern( String relativePath )
- {
- // Correct the slash pattern.
- relativePath = relativePath.replace( '\\', '/' );
-
- Iterator<String> it = this.artifactPatterns.iterator();
- while ( it.hasNext() )
- {
- String pattern = it.next();
-
- if ( SelectorUtils.matchPath( pattern, relativePath, false ) )
- {
- // Found match
- return true;
- }
- }
-
- // No match.
- return false;
- }
-
/**
* Adjusts a path for a metadata.xml file to its repository specific path.
*
@@ -491,7 +299,7 @@ public class MetadataTools
* @param path the path to the metadata.xml file to adjust the name of.
* @return the newly adjusted path reference to the repository specific metadata path.
*/
- public String getRepositorySpecificName( RemoteRepositoryConfiguration repository, String path )
+ public String getRepositorySpecificName( RemoteRepositoryContent repository, String path )
{
return getRepositorySpecificName( repository.getId(), path );
}
@@ -529,11 +337,11 @@ public class MetadataTools
configuration.addChangeListener( this );
}
- public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryConfiguration managedRepository, ProjectReference reference,
- String proxyId )
+ public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent managedRepository,
+ ProjectReference reference, String proxyId )
{
String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) );
- File metadataFile = new File( managedRepository.getLocation(), metadataPath );
+ File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
try
{
@@ -548,11 +356,11 @@ public class MetadataTools
}
}
- public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryConfiguration managedRepository,
+ public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent managedRepository,
VersionedReference reference, String proxyId )
{
String metadataPath = getRepositorySpecificName( proxyId, toPath( reference ) );
- File metadataFile = new File( managedRepository.getLocation(), metadataPath );
+ File metadataFile = new File( managedRepository.getRepoRoot(), metadataPath );
try
{
@@ -579,27 +387,26 @@ public class MetadataTools
* @throws LayoutException
* @throws RepositoryMetadataException
* @throws IOException
+ * @throws ContentNotFoundException
*/
- public void updateMetadata( ManagedRepositoryConfiguration managedRepository, ProjectReference reference )
- throws LayoutException, RepositoryMetadataException, IOException
+ public void updateMetadata( ManagedRepositoryContent managedRepository, ProjectReference reference )
+ throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException
{
- Comparator<String> comparator = VersionComparator.getInstance();
+ File metadataFile = new File( managedRepository.getRepoRoot(), toPath( reference ) );
- File metadataFile = new File( managedRepository.getLocation(), toPath( reference ) );
+ long lastUpdated = getExistingLastUpdated( metadataFile );
ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
metadata.setGroupId( reference.getGroupId() );
metadata.setArtifactId( reference.getArtifactId() );
- // Gather up the versions found in the managed repository.
- Set<String> availableVersions = gatherAvailableVersions( managedRepository, reference );
+ // Gather up all versions found in the managed repository.
+ Set<String> allVersions = managedRepository.getVersions( reference );
// Does this repository have a set of remote proxied repositories?
- Set proxiedRepoIds = this.proxies.get( managedRepository.getId() );
+ Set<String> proxiedRepoIds = this.proxies.get( managedRepository.getId() );
- String latestVersion = null;
- String releaseVersion = null;
- if ( proxiedRepoIds != null )
+ if ( CollectionUtils.isNotEmpty( proxiedRepoIds ) )
{
// Add in the proxied repo version ids too.
Iterator<String> it = proxiedRepoIds.iterator();
@@ -610,43 +417,120 @@ public class MetadataTools
ArchivaRepositoryMetadata proxyMetadata = readProxyMetadata( managedRepository, reference, proxyId );
if ( proxyMetadata != null )
{
- availableVersions.addAll( proxyMetadata.getAvailableVersions() );
-
- if ( latestVersion == null ||
- comparator.compare( proxyMetadata.getLatestVersion(), latestVersion ) > 0 )
- {
- latestVersion = proxyMetadata.getLatestVersion();
- }
+ allVersions.addAll( proxyMetadata.getAvailableVersions() );
+ long proxyLastUpdated = getLastUpdated( proxyMetadata );
- if ( releaseVersion == null ||
- comparator.compare( proxyMetadata.getReleasedVersion(), releaseVersion ) > 0 )
- {
- releaseVersion = proxyMetadata.getReleasedVersion();
- }
+ lastUpdated = Math.max( lastUpdated, proxyLastUpdated );
}
}
}
- if ( availableVersions.size() == 0 )
+ if ( allVersions.size() == 0 )
{
throw new IOException( "No versions found for reference." );
}
// Sort the versions
- List<String> sortedVersions = new ArrayList<String>();
- sortedVersions.addAll( availableVersions );
- Collections.sort( sortedVersions, new VersionComparator() );
+ List<String> sortedVersions = new ArrayList<String>( allVersions );
+ Collections.sort( sortedVersions, VersionComparator.getInstance() );
+
+ // Split the versions into released and snapshots.
+ List<String> releasedVersions = new ArrayList<String>();
+ List<String> snapshotVersions = new ArrayList<String>();
+
+ for ( String version : sortedVersions )
+ {
+ if ( VersionUtil.isSnapshot( version ) )
+ {
+ snapshotVersions.add( version );
+ }
+ else
+ {
+ releasedVersions.add( version );
+ }
+ }
+
+ Collections.sort( releasedVersions, VersionComparator.getInstance() );
+ Collections.sort( snapshotVersions, VersionComparator.getInstance() );
+
+ String latestVersion = sortedVersions.get( sortedVersions.size() - 1 );
+ String releaseVersion = null;
+
+ if ( CollectionUtils.isNotEmpty( releasedVersions ) )
+ {
+ releaseVersion = releasedVersions.get( releasedVersions.size() - 1 );
+ }
// Add the versions to the metadata model.
metadata.setAvailableVersions( sortedVersions );
metadata.setLatestVersion( latestVersion );
metadata.setReleasedVersion( releaseVersion );
+ if ( lastUpdated > 0 )
+ {
+ metadata.setLastUpdatedTimestamp( toLastUpdatedDate( lastUpdated ) );
+ }
// Save the metadata model to disk.
RepositoryMetadataWriter.write( metadata, metadataFile );
}
+ private Date toLastUpdatedDate( long lastUpdated )
+ {
+ Calendar cal = Calendar.getInstance( DateUtils.UTC_TIME_ZONE );
+ cal.setTimeInMillis( lastUpdated );
+
+ return cal.getTime();
+ }
+
+ private long getLastUpdated( ArchivaRepositoryMetadata metadata )
+ {
+ if ( metadata == null )
+ {
+ // Doesn't exist.
+ return 0;
+ }
+
+ try
+ {
+ String lastUpdated = metadata.getLastUpdated();
+ if ( StringUtils.isBlank( lastUpdated ) )
+ {
+ // Not set.
+ return 0;
+ }
+
+ Date lastUpdatedDate = lastUpdatedFormat.parse( lastUpdated );
+ return lastUpdatedDate.getTime();
+ }
+ catch ( ParseException e )
+ {
+ // Bad format on the last updated string.
+ return 0;
+ }
+ }
+
+ private long getExistingLastUpdated( File metadataFile )
+ {
+ if ( !metadataFile.exists() )
+ {
+ // Doesn't exist.
+ return 0;
+ }
+
+ try
+ {
+ ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read( metadataFile );
+
+ return getLastUpdated( metadata );
+ }
+ catch ( RepositoryMetadataException e )
+ {
+ // Error.
+ return 0;
+ }
+ }
+
/**
* Update the metadata based on the following rules.
* <p/>
@@ -660,16 +544,22 @@ public class MetadataTools
* @throws LayoutException
* @throws RepositoryMetadataException
* @throws IOException
+ * @throws ContentNotFoundException
*/
- public void updateMetadata( ManagedRepositoryConfiguration managedRepository, VersionedReference reference )
- throws LayoutException, RepositoryMetadataException, IOException
+ public void updateMetadata( ManagedRepositoryContent managedRepository, VersionedReference reference )
+ throws LayoutException, RepositoryMetadataException, IOException, ContentNotFoundException
{
- BidirectionalRepositoryLayout layout = layoutFactory.getLayout( managedRepository.getLayout() );
- File metadataFile = new File( managedRepository.getLocation(), toPath( reference ) );
+ File metadataFile = new File( managedRepository.getRepoRoot(), toPath( reference ) );
+
+ long originalLastUpdated = getExistingLastUpdated( metadataFile );
ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
metadata.setGroupId( reference.getGroupId() );
metadata.setArtifactId( reference.getArtifactId() );
+ if ( originalLastUpdated > 0 )
+ {
+ metadata.setLastUpdatedTimestamp( toLastUpdatedDate( originalLastUpdated ) );
+ }
if ( VersionUtil.isSnapshot( reference.getVersion() ) )
{
@@ -678,11 +568,12 @@ public class MetadataTools
// Gather up all of the versions found in the reference dir, and any
// proxied maven-metadata.xml files.
- Set snapshotVersions = gatherSnapshotVersions( managedRepository, reference );
+ Set<String> snapshotVersions = gatherSnapshotVersions( managedRepository, reference );
if ( snapshotVersions.isEmpty() )
{
- throw new IOException( "Not snapshot versions found to reference." );
+ throw new ContentNotFoundException( "No snapshot versions found on reference ["
+ + VersionedReference.toKey( reference ) + "]." );
}
// sort the list to determine to aide in determining the Latest version.
@@ -731,7 +622,7 @@ public class MetadataTools
throw new IOException( "Not snapshot artifact found to reference in " + reference );
}
- File artifactFile = new File( managedRepository.getLocation(), layout.toPath( artifact ) );
+ File artifactFile = managedRepository.toFile( artifact );
if ( artifactFile.exists() )
{
@@ -741,8 +632,8 @@ public class MetadataTools
}
else
{
- throw new RepositoryMetadataException(
- "Unable to process snapshot version <" + latestVersion + "> reference <" + reference + ">" );
+ throw new RepositoryMetadataException( "Unable to process snapshot version <" + latestVersion
+ + "> reference <" + reference + ">" );
}
}
else
@@ -788,4 +679,83 @@ public class MetadataTools
}
}
}
+
+ /**
+ * Get the first Artifact found in the provided VersionedReference location.
+ *
+ * @param managedRepository the repository to search within.
+ * @param reference the reference to the versioned reference to search within
+ * @return the ArtifactReference to the first artifact located within the versioned reference. or null if
+ * no artifact was found within the versioned reference.
+ * @throws IOException if the versioned reference is invalid (example: doesn't exist, or isn't a directory)
+ * @throws LayoutException
+ */
+ public ArtifactReference getFirstArtifact( ManagedRepositoryContent managedRepository, VersionedReference reference )
+ throws LayoutException, IOException
+ {
+ String path = toPath( reference );
+
+ int idx = path.lastIndexOf( '/' );
+ if ( idx > 0 )
+ {
+ path = path.substring( 0, idx );
+ }
+
+ File repoDir = new File( managedRepository.getRepoRoot(), path );
+
+ if ( !repoDir.exists() )
+ {
+ throw new IOException( "Unable to gather the list of snapshot versions on a non-existant directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ if ( !repoDir.isDirectory() )
+ {
+ throw new IOException( "Unable to gather the list of snapshot versions on a non-directory: "
+ + repoDir.getAbsolutePath() );
+ }
+
+ File repoFiles[] = repoDir.listFiles();
+ for ( int i = 0; i < repoFiles.length; i++ )
+ {
+ if ( repoFiles[i].isDirectory() )
+ {
+ // Skip it. it's a directory.
+ continue;
+ }
+
+ String relativePath = PathUtil.getRelative( managedRepository.getRepoRoot(), repoFiles[i] );
+
+ if ( matchesArtifactPattern( relativePath ) )
+ {
+ ArtifactReference artifact = managedRepository.toArtifactReference( relativePath );
+
+ return artifact;
+ }
+ }
+
+ // No artifact was found.
+ return null;
+ }
+
+ private boolean matchesArtifactPattern( String relativePath )
+ {
+ // Correct the slash pattern.
+ relativePath = relativePath.replace( '\\', '/' );
+
+ Iterator<String> it = this.artifactPatterns.iterator();
+ while ( it.hasNext() )
+ {
+ String pattern = it.next();
+
+ if ( SelectorUtils.matchPath( pattern, relativePath, false ) )
+ {
+ // Found match
+ return true;
+ }
+ }
+
+ // No match.
+ return false;
+ }
}
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java
index 22da830bf..06edbb67e 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelWriter.java
@@ -28,7 +28,7 @@ import java.io.Writer;
/**
* ProjectModelWriter
*
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
public interface ProjectModelWriter
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java
index b8f052bed..be23449a3 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400Writer.java
@@ -56,7 +56,7 @@ import java.util.List;
/**
* ProjectModel400Writer for Maven 2 project model v4.0.0 pom files.
*
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*
* @plexus.component
diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java
index 4d9ebf3c3..ba664af59 100644
--- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java
+++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScanStatistics.java
@@ -28,7 +28,7 @@ import java.util.List;
/**
* RepositoryScanStatistics - extension to the RepositoryContentStatistics model.
*
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
public class RepositoryScanStatistics
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java
index 911af6ca7..c361e9e48 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java
@@ -28,7 +28,7 @@ import java.io.File;
/**
* AbstractRepositoryLayerTestCase
*
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
public abstract class AbstractRepositoryLayerTestCase
@@ -51,4 +51,18 @@ public abstract class AbstractRepositoryLayerTestCase
repo.setUrl( url );
return repo;
}
+
+ protected RemoteRepositoryContent createRemoteRepositoryContent( String id, String name, String url, String layout )
+ throws Exception
+ {
+ RemoteRepositoryConfiguration repo = new RemoteRepositoryConfiguration();
+ repo.setId( id );
+ repo.setName( name );
+ repo.setUrl( url );
+
+ RemoteRepositoryContent repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, layout );
+ repoContent.setRepository( repo );
+
+ return repoContent;
+ }
}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AllTests.java
deleted file mode 100644
index bccf8e19e..000000000
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AllTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.maven.archiva.repository;
-
-/*
- * 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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository" );
- //$JUnit-BEGIN$
- suite.addTestSuite( RepositoryURLTest.class );
- suite.addTest( org.apache.maven.archiva.repository.metadata.AllTests.suite() );
- suite.addTest( org.apache.maven.archiva.repository.project.AllTests.suite() );
- suite.addTest( org.apache.maven.archiva.repository.scanner.AllTests.suite() );
- suite.addTest( org.apache.maven.archiva.repository.layout.AllTests.suite() );
- //$JUnit-END$
- return suite;
- }
-
-}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java
new file mode 100644
index 000000000..a90f18a29
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java
@@ -0,0 +1,400 @@
+package org.apache.maven.archiva.repository.content;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * AbstractDefaultRepositoryContentTestCase
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractDefaultRepositoryContentTestCase
+ extends AbstractRepositoryLayerTestCase
+{
+ public void testBadPathMissingType()
+ {
+ assertBadPath( "invalid/invalid/1/invalid-1", "missing type" );
+ }
+
+ public void testBadPathReleaseInSnapshotDir()
+ {
+ assertBadPath( "invalid/invalid/1.0-SNAPSHOT/invalid-1.0.jar", "non snapshot artifact inside of a snapshot dir" );
+ }
+
+ public void testBadPathTimestampedSnapshotNotInSnapshotDir()
+ {
+ assertBadPath( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar",
+ "Timestamped Snapshot artifact not inside of an Snapshot dir" );
+ }
+
+ public void testBadPathTooShort()
+ {
+ assertBadPath( "invalid/invalid-1.0.jar", "path is too short" );
+ }
+
+ public void testBadPathVersionMismatchA()
+ {
+ assertBadPath( "invalid/invalid/1.0/invalid-2.0.jar", "version mismatch between path and artifact" );
+ }
+
+ public void testBadPathVersionMismatchB()
+ {
+ assertBadPath( "invalid/invalid/1.0/invalid-1.0b.jar", "version mismatch between path and artifact" );
+ }
+
+ public void testBadPathWrongArtifactId()
+ {
+ assertBadPath( "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar",
+ "wrong artifact id" );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecGanymedSsh2()
+ throws LayoutException
+ {
+ String groupId = "ch.ethz.ganymed";
+ String artifactId = "ganymed-ssh2";
+ String version = "build210";
+ String classifier = null;
+ String type = "jar";
+ String path = "ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxComm()
+ throws LayoutException
+ {
+ String groupId = "javax";
+ String artifactId = "comm";
+ String version = "3.0-u1";
+ String classifier = null;
+ String type = "jar";
+ String path = "javax/comm/3.0-u1/comm-3.0-u1.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * Test the ejb-client type spec.
+ * Type specs are not a 1 to 1 map to the extension.
+ * This tests that effect.
+ * @throws LayoutException
+ */
+ /* TODO: Re-enabled in the future.
+ public void testGoodFooEjbClient()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-client";
+ String version = "1.0";
+ String classifier = null;
+ String type = "ejb-client"; // oddball type-spec (should result in jar extension)
+ String path = "com/foo/foo-client/1.0/foo-client-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+ */
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxPersistence()
+ throws LayoutException
+ {
+ String groupId = "javax.persistence";
+ String artifactId = "ejb";
+ String version = "3.0-public_review";
+ String classifier = null;
+ String type = "jar";
+ String path = "javax/persistence/ejb/3.0-public_review/ejb-3.0-public_review.jar";
+
+ /*
+ * The version id of "public_review" can cause problems. is it part of
+ * the version spec? or the classifier?
+ * Since the path spec below shows it in the path, then it is really
+ * part of the version spec.
+ */
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ public void testGoodComFooTool()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-tool";
+ String version = "1.0";
+ String classifier = null;
+ String type = "jar";
+ String path = "com/foo/foo-tool/1.0/foo-tool-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ public void testGoodCommonsLang()
+ throws LayoutException
+ {
+ String groupId = "commons-lang";
+ String artifactId = "commons-lang";
+ String version = "2.1";
+ String classifier = null;
+ String type = "jar";
+ String path = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-486] Can not deploy artifact test.maven-arch:test-arch due to "No ArtifactID Detected"
+ */
+ public void testGoodDashedArtifactId()
+ throws LayoutException
+ {
+ String groupId = "test.maven-arch";
+ String artifactId = "test-arch";
+ String version = "2.0.3-SNAPSHOT";
+ String classifier = null;
+ String type = "pom";
+ String path = "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * It may seem odd, but this is a valid artifact.
+ */
+ public void testGoodDotNotationArtifactId()
+ throws LayoutException
+ {
+ String groupId = "com.company.department";
+ String artifactId = "com.company.department";
+ String version = "0.2";
+ String classifier = null;
+ String type = "pom";
+ String path = "com/company/department/com.company.department/0.2/com.company.department-0.2.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * It may seem odd, but this is a valid artifact.
+ */
+ public void testGoodDotNotationSameGroupIdAndArtifactId()
+ throws LayoutException
+ {
+ String groupId = "com.company.department";
+ String artifactId = "com.company.department.project";
+ String version = "0.3";
+ String classifier = null;
+ String type = "pom";
+ String path = "com/company/department/com.company.department.project/0.3/com.company.department.project-0.3.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * Test the classifier, and java-source type spec.
+ * @throws LayoutException
+ */
+ public void testGoodFooLibSources()
+ throws LayoutException
+ {
+ String groupId = "com.foo.lib";
+ String artifactId = "foo-lib";
+ String version = "2.1-alpha-1";
+ String classifier = "sources";
+ String type = "java-source"; // oddball type-spec (should result in jar extension)
+ String path = "com/foo/lib/foo-lib/2.1-alpha-1/foo-lib-2.1-alpha-1-sources.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory.
+ * @throws LayoutException
+ */
+ public void testGoodSnapshotMavenTest()
+ throws LayoutException
+ {
+ String groupId = "org.apache.archiva.test";
+ String artifactId = "redonkulous";
+ String version = "3.1-beta-1-20050831.101112-42";
+ String classifier = null;
+ String type = "jar";
+ String path = "org/apache/archiva/test/redonkulous/3.1-beta-1-SNAPSHOT/redonkulous-3.1-beta-1-20050831.101112-42.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-519] version identifiers within filename cause misidentification of version.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodVersionKeywordInArtifactId()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String classifier = null;
+ String type = "pom";
+ String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ public void testToArtifactOnEmptyPath()
+ {
+ try
+ {
+ toArtifactReference( "" );
+ fail( "Should have failed due to empty path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ public void testToArtifactOnNullPath()
+ {
+ try
+ {
+ toArtifactReference( null );
+ fail( "Should have failed due to null path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ public void testToArtifactReferenceOnEmptyPath()
+ {
+ try
+ {
+ toArtifactReference( "" );
+ fail( "Should have failed due to empty path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ public void testToArtifactReferenceOnNullPath()
+ {
+ try
+ {
+ toArtifactReference( null );
+ fail( "Should have failed due to null path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ public void testToPathOnNullArtifactReference()
+
+ {
+ try
+ {
+ ArtifactReference reference = null;
+ toPath( reference );
+ fail( "Should have failed due to null artifact reference." );
+ }
+ catch ( IllegalArgumentException e )
+ {
+ /* expected path */
+ }
+ }
+
+ private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId,
+ String version, String classifier, String type )
+ {
+ String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + classifier
+ + ":" + type;
+
+ assertNotNull( expectedId + " - Should not be null.", actualReference );
+
+ assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() );
+ assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() );
+ if ( StringUtils.isNotBlank( classifier ) )
+ {
+ assertEquals( expectedId + " - Classifier", classifier, actualReference.getClassifier() );
+ }
+ assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() );
+ assertEquals( expectedId + " - Type", type, actualReference.getType() );
+ }
+
+ private void assertBadPath( String path, String reason )
+ {
+ try
+ {
+ toArtifactReference( path );
+ fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ /**
+ * Perform a roundtrip through the layout routines to determine success.
+ */
+ private void assertLayout( String path, String groupId, String artifactId, String version, String classifier,
+ String type )
+ throws LayoutException
+ {
+ ArtifactReference expectedArtifact = createArtifact( groupId, artifactId, version, classifier, type );
+
+ // --- Artifact Tests.
+
+ // Artifact to Path
+ assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( expectedArtifact ) );
+
+ // --- Artifact Reference Tests
+
+ // Path to Artifact Reference.
+ ArtifactReference testReference = toArtifactReference( path );
+ assertArtifactReference( testReference, groupId, artifactId, version, classifier, type );
+
+ // And back again, using test Reference from previous step.
+ assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( testReference ) );
+ }
+
+ private ArtifactReference createArtifact( String groupId, String artifactId, String version, String classifier,
+ String type )
+ {
+ ArtifactReference artifact = new ArtifactReference();
+ artifact.setGroupId( groupId );
+ artifact.setArtifactId( artifactId );
+ artifact.setVersion( version );
+ artifact.setClassifier( classifier );
+ artifact.setType( type );
+ assertNotNull( artifact );
+ return artifact;
+ }
+
+ protected abstract ArtifactReference toArtifactReference( String path )
+ throws LayoutException;
+
+ protected abstract String toPath( ArtifactReference reference );
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java
new file mode 100644
index 000000000..405a26de9
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java
@@ -0,0 +1,329 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.model.ArtifactReference;
+import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * AbstractLegacyRepositoryContentTestCase
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public abstract class AbstractLegacyRepositoryContentTestCase
+ extends AbstractRepositoryLayerTestCase
+{
+ public void testBadPathArtifactIdMissingA()
+ {
+ assertBadPath( "groupId/jars/-1.0.jar", "artifactId is missing" );
+ }
+
+ public void testBadPathArtifactIdMissingB()
+ {
+ assertBadPath( "groupId/jars/1.0.jar", "artifactId is missing" );
+ }
+
+ public void testBadPathMissingType()
+ {
+ assertBadPath( "invalid/invalid/1/invalid-1", "missing type" );
+ }
+
+ public void testBadPathTooShort()
+ {
+ // NEW
+ assertBadPath( "invalid/invalid-1.0.jar", "path is too short" );
+ }
+
+ public void testBadPathWrongPackageExtension()
+ {
+ assertBadPath( "org.apache.maven.test/jars/artifactId-1.0.war", "wrong package extension" );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecGanymedSsh2()
+ throws LayoutException
+ {
+ String groupId = "ch.ethz.ganymed";
+ String artifactId = "ganymed-ssh2";
+ String version = "build210";
+ String type = "jar";
+ String path = "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxComm()
+ throws LayoutException
+ {
+ String groupId = "javax";
+ String artifactId = "comm";
+ String version = "3.0-u1";
+ String type = "jar";
+ String path = "javax/jars/comm-3.0-u1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxPersistence()
+ throws LayoutException
+ {
+ String groupId = "javax.persistence";
+ String artifactId = "ejb";
+ String version = "3.0-public_review";
+ String type = "jar";
+ String path = "javax.persistence/jars/ejb-3.0-public_review.jar";
+
+ /*
+ * The version id of "public_review" can cause problems. is it part of
+ * the version spec? or the classifier?
+ */
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodCommonsLang()
+ throws LayoutException
+ {
+ String groupId = "commons-lang";
+ String artifactId = "commons-lang";
+ String version = "2.1";
+ String type = "jar";
+ String path = "commons-lang/jars/commons-lang-2.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodDerby()
+ throws LayoutException
+ {
+ String groupId = "org.apache.derby";
+ String artifactId = "derby";
+ String version = "10.2.2.0";
+ String type = "jar";
+ String path = "org.apache.derby/jars/derby-10.2.2.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * Test the ejb-client type spec.
+ * Type specs are not a 1 to 1 map to the extension.
+ * This tests that effect.
+ * @throws LayoutException
+ */
+ /* TODO: Re-enabled in the future.
+ public void testGoodFooEjbClient()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-client";
+ String version = "1.0";
+ String type = "ejb"; // oddball type-spec (should result in jar extension)
+ String path = "com.foo/ejbs/foo-client-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+ */
+
+ /**
+ * Test the classifier.
+ * @throws LayoutException
+ */
+ public void testGoodFooLibJavadoc()
+ throws LayoutException
+ {
+ String groupId = "com.foo.lib";
+ String artifactId = "foo-lib";
+ String version = "2.1-alpha-1-javadoc";
+ String type = "javadoc";
+ String path = "com.foo.lib/javadocs/foo-lib-2.1-alpha-1-javadoc.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * Test the classifier, and java-source type spec.
+ * @throws LayoutException
+ */
+ public void testGoodFooLibSources()
+ throws LayoutException
+ {
+ String groupId = "com.foo.lib";
+ String artifactId = "foo-lib";
+ String version = "2.1-alpha-1-sources";
+ String type = "java-source"; // oddball type-spec (should result in jar extension)
+ String path = "com.foo.lib/java-sources/foo-lib-2.1-alpha-1-sources.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodFooTool()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-tool";
+ String version = "1.0";
+ String type = "jar";
+ String path = "com.foo/jars/foo-tool-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodGeronimoEjbSpec()
+ throws LayoutException
+ {
+ String groupId = "org.apache.geronimo.specs";
+ String artifactId = "geronimo-ejb_2.1_spec";
+ String version = "1.0.1";
+ String type = "jar";
+ String path = "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodLdapClientsPom()
+ throws LayoutException
+ {
+ String groupId = "directory-clients";
+ String artifactId = "ldap-clients";
+ String version = "0.9.1-SNAPSHOT";
+ String type = "pom";
+ String path = "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory.
+ * @throws LayoutException
+ */
+ public void testGoodSnapshotMavenTest()
+ throws LayoutException
+ {
+ String groupId = "org.apache.archiva.test";
+ String artifactId = "redonkulous";
+ String version = "3.1-beta-1-20050831.101112-42";
+ String type = "jar";
+ String path = "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-519] version identifiers within filename cause misidentification of version.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodVersionKeywordInArtifactId()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String type = "jar";
+
+ String path = "maven/jars/maven-test-plugin-1.8.2.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * Perform a roundtrip through the layout routines to determine success.
+ */
+ private void assertLayout( String path, String groupId, String artifactId, String version, String type )
+ throws LayoutException
+ {
+ ArtifactReference expectedArtifact = createArtifact( groupId, artifactId, version, type );
+
+ // --- Artifact Tests.
+ // Artifact to Path
+ assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( expectedArtifact ) );
+
+ // --- Artifact Reference Tests
+
+ // Path to Artifact Reference.
+ ArtifactReference testReference = toArtifactReference( path );
+ assertArtifactReference( testReference, groupId, artifactId, version, type );
+
+ // And back again, using test Reference from previous step.
+ assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, toPath( testReference ) );
+ }
+
+ private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId,
+ String version, String type )
+ {
+ String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + type;
+
+ assertNotNull( expectedId + " - Should not be null.", actualReference );
+
+ assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() );
+ assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() );
+ assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() );
+ assertEquals( expectedId + " - Type", type, actualReference.getType() );
+ // legacy has no classifier.
+ assertNull( expectedId + " - classifier", actualReference.getClassifier() );
+ }
+
+ protected ArtifactReference createArtifact( String groupId, String artifactId, String version, String type )
+ {
+ ArtifactReference artifact = new ArtifactReference();
+ artifact.setGroupId( groupId );
+ artifact.setArtifactId( artifactId );
+ artifact.setVersion( version );
+ artifact.setType( type );
+ assertNotNull( artifact );
+ return artifact;
+ }
+
+ private void assertBadPath( String path, String reason )
+ {
+ try
+ {
+ toArtifactReference( path );
+ fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+
+ protected abstract ArtifactReference toArtifactReference( String path )
+ throws LayoutException;
+
+ protected abstract String toPath( ArtifactReference reference );
+
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java
new file mode 100644
index 000000000..5284d0663
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java
@@ -0,0 +1,355 @@
+package org.apache.maven.archiva.repository.content;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * DefaultPathParserTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DefaultPathParserTest
+ extends AbstractRepositoryLayerTestCase
+{
+ public void testBadPathMissingType()
+ {
+ assertBadPath( "invalid/invalid/1/invalid-1", "missing type" );
+ }
+
+ public void testBadPathReleaseInSnapshotDir()
+ {
+ assertBadPath( "invalid/invalid/1.0-SNAPSHOT/invalid-1.0.jar", "non snapshot artifact inside of a snapshot dir" );
+ }
+
+ public void testBadPathTimestampedSnapshotNotInSnapshotDir()
+ {
+ assertBadPath( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar",
+ "Timestamped Snapshot artifact not inside of an Snapshot dir" );
+ }
+
+ public void testBadPathTooShort()
+ {
+ assertBadPath( "invalid/invalid-1.0.jar", "path is too short" );
+ }
+
+ public void testBadPathVersionMismatchA()
+ {
+ assertBadPath( "invalid/invalid/1.0/invalid-2.0.jar", "version mismatch between path and artifact" );
+ }
+
+ public void testBadPathVersionMismatchB()
+ {
+ assertBadPath( "invalid/invalid/1.0/invalid-1.0b.jar", "version mismatch between path and artifact" );
+ }
+
+ public void testBadPathWrongArtifactId()
+ {
+ assertBadPath( "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar",
+ "wrong artifact id" );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecGanymedSsh2()
+ throws LayoutException
+ {
+ String groupId = "ch.ethz.ganymed";
+ String artifactId = "ganymed-ssh2";
+ String version = "build210";
+ String classifier = null;
+ String type = "jar";
+ String path = "ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxComm()
+ throws LayoutException
+ {
+ String groupId = "javax";
+ String artifactId = "comm";
+ String version = "3.0-u1";
+ String classifier = null;
+ String type = "jar";
+ String path = "javax/comm/3.0-u1/comm-3.0-u1.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * Test the ejb-client type spec.
+ * Type specs are not a 1 to 1 map to the extension.
+ * This tests that effect.
+ * @throws LayoutException
+ */
+ /* TODO: Re-enabled in the future.
+ public void testGoodFooEjbClient()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-client";
+ String version = "1.0";
+ String classifier = null;
+ String type = "ejb-client"; // oddball type-spec (should result in jar extension)
+ String path = "com/foo/foo-client/1.0/foo-client-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+ */
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxPersistence()
+ throws LayoutException
+ {
+ String groupId = "javax.persistence";
+ String artifactId = "ejb";
+ String version = "3.0-public_review";
+ String classifier = null;
+ String type = "jar";
+ String path = "javax/persistence/ejb/3.0-public_review/ejb-3.0-public_review.jar";
+
+ /*
+ * The version id of "public_review" can cause problems. is it part of
+ * the version spec? or the classifier?
+ * Since the path spec below shows it in the path, then it is really
+ * part of the version spec.
+ */
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ public void testGoodComFooTool()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-tool";
+ String version = "1.0";
+ String classifier = null;
+ String type = "jar";
+ String path = "com/foo/foo-tool/1.0/foo-tool-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ public void testGoodCommonsLang()
+ throws LayoutException
+ {
+ String groupId = "commons-lang";
+ String artifactId = "commons-lang";
+ String version = "2.1";
+ String classifier = null;
+ String type = "jar";
+ String path = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-486] Can not deploy artifact test.maven-arch:test-arch due to "No ArtifactID Detected"
+ */
+ public void testGoodDashedArtifactId()
+ throws LayoutException
+ {
+ String groupId = "test.maven-arch";
+ String artifactId = "test-arch";
+ String version = "2.0.3-SNAPSHOT";
+ String classifier = null;
+ String type = "pom";
+ String path = "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * It may seem odd, but this is a valid artifact.
+ */
+ public void testGoodDotNotationArtifactId()
+ throws LayoutException
+ {
+ String groupId = "com.company.department";
+ String artifactId = "com.company.department";
+ String version = "0.2";
+ String classifier = null;
+ String type = "pom";
+ String path = "com/company/department/com.company.department/0.2/com.company.department-0.2.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * It may seem odd, but this is a valid artifact.
+ */
+ public void testGoodDotNotationSameGroupIdAndArtifactId()
+ throws LayoutException
+ {
+ String groupId = "com.company.department";
+ String artifactId = "com.company.department.project";
+ String version = "0.3";
+ String classifier = null;
+ String type = "pom";
+ String path = "com/company/department/com.company.department.project/0.3/com.company.department.project-0.3.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * Test the classifier, and java-source type spec.
+ * @throws LayoutException
+ */
+ public void testGoodFooLibSources()
+ throws LayoutException
+ {
+ String groupId = "com.foo.lib";
+ String artifactId = "foo-lib";
+ String version = "2.1-alpha-1";
+ String classifier = "sources";
+ String type = "java-source"; // oddball type-spec (should result in jar extension)
+ String path = "com/foo/lib/foo-lib/2.1-alpha-1/foo-lib-2.1-alpha-1-sources.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory.
+ * @throws LayoutException
+ */
+ public void testGoodSnapshotMavenTest()
+ throws LayoutException
+ {
+ String groupId = "org.apache.archiva.test";
+ String artifactId = "redonkulous";
+ String version = "3.1-beta-1-20050831.101112-42";
+ String classifier = null;
+ String type = "jar";
+ String path = "org/apache/archiva/test/redonkulous/3.1-beta-1-SNAPSHOT/redonkulous-3.1-beta-1-20050831.101112-42.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-519] version identifiers within filename cause misidentification of version.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodVersionKeywordInArtifactId()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String classifier = null;
+ String type = "pom";
+ String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ public void testToArtifactOnEmptyPath()
+ {
+ try
+ {
+ DefaultPathParser.toArtifactReference( "" );
+ fail( "Should have failed due to empty path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ public void testToArtifactOnNullPath()
+ {
+ try
+ {
+ DefaultPathParser.toArtifactReference( null );
+ fail( "Should have failed due to null path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ public void testToArtifactReferenceOnEmptyPath()
+ {
+ try
+ {
+ DefaultPathParser.toArtifactReference( "" );
+ fail( "Should have failed due to empty path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ public void testToArtifactReferenceOnNullPath()
+ {
+ try
+ {
+ DefaultPathParser.toArtifactReference( null );
+ fail( "Should have failed due to null path." );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ /**
+ * Perform a path to artifact reference lookup, and verify the results.
+ */
+ private void assertLayout( String path, String groupId, String artifactId, String version, String classifier,
+ String type )
+ throws LayoutException
+ {
+ // Path to Artifact Reference.
+ ArtifactReference testReference = DefaultPathParser.toArtifactReference( path );
+ assertArtifactReference( testReference, groupId, artifactId, version, classifier, type );
+ }
+
+ private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId,
+ String version, String classifier, String type )
+ {
+ String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + classifier
+ + ":" + type;
+
+ assertNotNull( expectedId + " - Should not be null.", actualReference );
+
+ assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() );
+ assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() );
+ if ( StringUtils.isNotBlank( classifier ) )
+ {
+ assertEquals( expectedId + " - Classifier", classifier, actualReference.getClassifier() );
+ }
+ assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() );
+ assertEquals( expectedId + " - Type", type, actualReference.getType() );
+ }
+
+ private void assertBadPath( String path, String reason )
+ {
+ try
+ {
+ DefaultPathParser.toArtifactReference( path );
+ fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java
new file mode 100644
index 000000000..ba0e2a9d7
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/FilenameParserTest.java
@@ -0,0 +1,129 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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 junit.framework.TestCase;
+
+/**
+ * FilenameParserTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class FilenameParserTest
+ extends TestCase
+{
+ public void testNameExtensionJar()
+ {
+ FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" );
+
+ assertEquals( "maven-test-plugin-1.8.3", parser.getName() );
+ assertEquals( "jar", parser.getExtension() );
+ }
+
+ public void testNameExtensionTarGz()
+ {
+ FilenameParser parser = new FilenameParser( "archiva-1.0-beta-2-bin.tar.gz" );
+
+ assertEquals( "archiva-1.0-beta-2-bin", parser.getName() );
+ assertEquals( "tar.gz", parser.getExtension() );
+ }
+
+ public void testNameExtensionTarBz2()
+ {
+ FilenameParser parser = new FilenameParser( "archiva-1.0-SNAPSHOT-src.tar.bz2" );
+
+ assertEquals( "archiva-1.0-SNAPSHOT-src", parser.getName() );
+ assertEquals( "tar.bz2", parser.getExtension() );
+ }
+
+ public void testNameExtensionCapitolizedTarGz()
+ {
+ FilenameParser parser = new FilenameParser( "ARCHIVA-1.0-BETA-2-BIN.TAR.GZ" );
+
+ assertEquals( "ARCHIVA-1.0-BETA-2-BIN", parser.getName() );
+ assertEquals( "TAR.GZ", parser.getExtension() );
+ }
+
+ public void testNext()
+ {
+ FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" );
+
+ assertEquals( "maven-test-plugin-1.8.3", parser.getName() );
+ assertEquals( "jar", parser.getExtension() );
+
+ assertEquals( "maven", parser.next() );
+ assertEquals( "test", parser.next() );
+ assertEquals( "plugin", parser.next() );
+ assertEquals( "1.8.3", parser.next() );
+ assertNull( parser.next() );
+ }
+
+ public void testExpect()
+ {
+ FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" );
+
+ assertEquals( "maven-test-plugin-1.8.3", parser.getName() );
+ assertEquals( "jar", parser.getExtension() );
+
+ assertEquals( "maven-test-plugin", parser.expect( "maven-test-plugin" ) );
+ assertEquals( "1.8.3", parser.expect( "1.8.3" ) );
+ assertNull( parser.expect( "jar" ) );
+ }
+
+ public void testExpectWithRemaining()
+ {
+ FilenameParser parser = new FilenameParser( "ganymede-ssh2-build250-sources.jar" );
+
+ assertEquals( "ganymede-ssh2-build250-sources", parser.getName() );
+ assertEquals( "jar", parser.getExtension() );
+
+ assertEquals( "ganymede-ssh2", parser.expect( "ganymede-ssh2" ) );
+ assertEquals( "build250", parser.expect( "build250" ) );
+ assertEquals( "sources", parser.remaining() );
+
+ assertNull( parser.expect( "jar" ) );
+ }
+
+ public void testNextNonVersion()
+ {
+ FilenameParser parser = new FilenameParser( "maven-test-plugin-1.8.3.jar" );
+
+ assertEquals("maven-test-plugin", parser.nextNonVersion() );
+ assertEquals("1.8.3", parser.remaining() );
+ }
+
+ public void testNextArbitraryNonVersion()
+ {
+ FilenameParser parser = new FilenameParser( "maven-jdk-1.4-plugin-1.0-20070828.123456-42.jar" );
+
+ assertEquals("maven-jdk-1.4-plugin", parser.nextNonVersion() );
+ assertEquals("1.0-20070828.123456-42", parser.remaining() );
+ }
+
+ public void testNextJython()
+ {
+ FilenameParser parser = new FilenameParser( "jython-20020827-no-oro.jar" );
+
+ assertEquals("jython", parser.nextNonVersion() );
+ assertEquals("20020827", parser.nextVersion() );
+ assertEquals("no-oro", parser.remaining() );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java
new file mode 100644
index 000000000..4fdfa99e4
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java
@@ -0,0 +1,301 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.model.ArtifactReference;
+import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * LegacyPathParserTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class LegacyPathParserTest
+ extends AbstractRepositoryLayerTestCase
+{
+ public void testBadPathArtifactIdMissingA()
+ {
+ assertBadPath( "groupId/jars/-1.0.jar", "artifactId is missing" );
+ }
+
+ public void testBadPathArtifactIdMissingB()
+ {
+ assertBadPath( "groupId/jars/1.0.jar", "artifactId is missing" );
+ }
+
+ public void testBadPathMissingType()
+ {
+ assertBadPath( "invalid/invalid/1/invalid-1", "missing type" );
+ }
+
+ public void testBadPathTooShort()
+ {
+ // NEW
+ assertBadPath( "invalid/invalid-1.0.jar", "path is too short" );
+ }
+
+ public void testBadPathWrongPackageExtension()
+ {
+ assertBadPath( "org.apache.maven.test/jars/artifactId-1.0.war", "wrong package extension" );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecGanymedSsh2()
+ throws LayoutException
+ {
+ String groupId = "ch.ethz.ganymed";
+ String artifactId = "ganymed-ssh2";
+ String version = "build210";
+ String type = "jar";
+ String path = "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxComm()
+ throws LayoutException
+ {
+ String groupId = "javax";
+ String artifactId = "comm";
+ String version = "3.0-u1";
+ String type = "jar";
+ String path = "javax/jars/comm-3.0-u1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-432] Oddball version spec.
+ * Example of an oddball / unusual version spec.
+ * @throws LayoutException
+ */
+ public void testGoodButOddVersionSpecJavaxPersistence()
+ throws LayoutException
+ {
+ String groupId = "javax.persistence";
+ String artifactId = "ejb";
+ String version = "3.0-public_review";
+ String type = "jar";
+ String path = "javax.persistence/jars/ejb-3.0-public_review.jar";
+
+ /*
+ * The version id of "public_review" can cause problems. is it part of
+ * the version spec? or the classifier?
+ */
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodCommonsLang()
+ throws LayoutException
+ {
+ String groupId = "commons-lang";
+ String artifactId = "commons-lang";
+ String version = "2.1";
+ String type = "jar";
+ String path = "commons-lang/jars/commons-lang-2.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodDerby()
+ throws LayoutException
+ {
+ String groupId = "org.apache.derby";
+ String artifactId = "derby";
+ String version = "10.2.2.0";
+ String type = "jar";
+ String path = "org.apache.derby/jars/derby-10.2.2.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * Test the ejb-client type spec.
+ * Type specs are not a 1 to 1 map to the extension.
+ * This tests that effect.
+ * @throws LayoutException
+ */
+ /* TODO: Re-enabled in the future.
+ public void testGoodFooEjbClient()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-client";
+ String version = "1.0";
+ String type = "ejb"; // oddball type-spec (should result in jar extension)
+ String path = "com.foo/ejbs/foo-client-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+ */
+
+ /**
+ * Test the classifier.
+ * @throws LayoutException
+ */
+ public void testGoodFooLibJavadoc()
+ throws LayoutException
+ {
+ String groupId = "com.foo.lib";
+ String artifactId = "foo-lib";
+ String version = "2.1-alpha-1-javadoc";
+ String type = "javadoc";
+ String path = "com.foo.lib/javadocs/foo-lib-2.1-alpha-1-javadoc.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * Test the classifier, and java-source type spec.
+ * @throws LayoutException
+ */
+ public void testGoodFooLibSources()
+ throws LayoutException
+ {
+ String groupId = "com.foo.lib";
+ String artifactId = "foo-lib";
+ String version = "2.1-alpha-1-sources";
+ String type = "java-source"; // oddball type-spec (should result in jar extension)
+ String path = "com.foo.lib/java-sources/foo-lib-2.1-alpha-1-sources.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodFooTool()
+ throws LayoutException
+ {
+ String groupId = "com.foo";
+ String artifactId = "foo-tool";
+ String version = "1.0";
+ String type = "jar";
+ String path = "com.foo/jars/foo-tool-1.0.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodGeronimoEjbSpec()
+ throws LayoutException
+ {
+ String groupId = "org.apache.geronimo.specs";
+ String artifactId = "geronimo-ejb_2.1_spec";
+ String version = "1.0.1";
+ String type = "jar";
+ String path = "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ public void testGoodLdapClientsPom()
+ throws LayoutException
+ {
+ String groupId = "directory-clients";
+ String artifactId = "ldap-clients";
+ String version = "0.9.1-SNAPSHOT";
+ String type = "pom";
+ String path = "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * A timestamped versioned artifact, should reside in a SNAPSHOT baseversion directory.
+ * @throws LayoutException
+ */
+ public void testGoodSnapshotMavenTest()
+ throws LayoutException
+ {
+ String groupId = "org.apache.archiva.test";
+ String artifactId = "redonkulous";
+ String version = "3.1-beta-1-20050831.101112-42";
+ String type = "jar";
+ String path = "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-519] version identifiers within filename cause misidentification of version.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodVersionKeywordInArtifactId()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String type = "jar";
+
+ String path = "maven/jars/maven-test-plugin-1.8.2.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * Perform a path to artifact reference lookup, and verify the results.
+ */
+ private void assertLayout( String path, String groupId, String artifactId, String version, String type )
+ throws LayoutException
+ {
+ // Path to Artifact Reference.
+ ArtifactReference testReference = LegacyPathParser.toArtifactReference( path );
+ assertArtifactReference( testReference, groupId, artifactId, version, type );
+ }
+
+ private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId,
+ String version, String type )
+ {
+ String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + type;
+
+ assertNotNull( expectedId + " - Should not be null.", actualReference );
+
+ assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() );
+ assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() );
+ assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() );
+ assertEquals( expectedId + " - Type", type, actualReference.getType() );
+ // legacy has no classifier.
+ assertNull( expectedId + " - classifier", actualReference.getClassifier() );
+ }
+
+ protected void assertBadPath( String path, String reason )
+ {
+ try
+ {
+ LegacyPathParser.toArtifactReference( path );
+ fail( "Should have thrown a LayoutException on the invalid path [" + path + "] because of [" + reason + "]" );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java
new file mode 100644
index 000000000..f86259063
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContentTest.java
@@ -0,0 +1,206 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.common.utils.VersionComparator;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.ProjectReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * ManagedDefaultRepositoryContentTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ManagedDefaultRepositoryContentTest
+ extends AbstractDefaultRepositoryContentTestCase
+{
+ private ManagedRepositoryContent repoContent;
+
+ public void testGetVersionsBadArtifact()
+ throws Exception
+ {
+ assertGetVersions( "bad_artifact", Collections.EMPTY_LIST );
+ }
+
+ public void testGetVersionsMissingMultipleVersions()
+ throws Exception
+ {
+ assertGetVersions( "missing_metadata_b", Arrays.asList( "1.0", "1.0.1", "2.0", "2.0.1", "2.0-20070821-dev" ) );
+ }
+
+ public void testGetVersionsSimple()
+ throws Exception
+ {
+ assertVersions( "proxied_multi", "2.1", new String[] { "2.1" } );
+ }
+
+ public void testGetVersionsSimpleYetIncomplete()
+ throws Exception
+ {
+ assertGetVersions( "incomplete_metadata_a", Collections.singletonList( "1.0" ) );
+ }
+
+ public void testGetVersionsSimpleYetMissing()
+ throws Exception
+ {
+ assertGetVersions( "missing_metadata_a", Collections.singletonList( "1.0" ) );
+ }
+
+ public void testGetVersionsSnapshotA()
+ throws Exception
+ {
+ assertVersions( "snap_shots_a", "1.0-alpha-11-SNAPSHOT", new String[] {
+ "1.0-alpha-11-SNAPSHOT",
+ "1.0-alpha-11-20070221.194724-2",
+ "1.0-alpha-11-20070302.212723-3",
+ "1.0-alpha-11-20070303.152828-4",
+ "1.0-alpha-11-20070305.215149-5",
+ "1.0-alpha-11-20070307.170909-6",
+ "1.0-alpha-11-20070314.211405-9",
+ "1.0-alpha-11-20070316.175232-11" } );
+ }
+
+ public void testToMetadataPathFromProjectReference()
+ {
+ ProjectReference reference = new ProjectReference();
+ reference.setGroupId( "com.foo" );
+ reference.setArtifactId( "foo-tool" );
+
+ assertEquals( "com/foo/foo-tool/maven-metadata.xml", repoContent.toMetadataPath( reference ) );
+ }
+
+ public void testToMetadataPathFromVersionReference()
+ {
+ VersionedReference reference = new VersionedReference();
+ reference.setGroupId( "com.foo" );
+ reference.setArtifactId( "foo-tool" );
+ reference.setVersion( "1.0" );
+
+ assertEquals( "com/foo/foo-tool/1.0/maven-metadata.xml", repoContent.toMetadataPath( reference ) );
+ }
+
+ public void testToPathOnNullArtifactReference()
+ {
+ try
+ {
+ ArtifactReference reference = null;
+ repoContent.toPath( reference );
+ fail( "Should have failed due to null artifact reference." );
+ }
+ catch ( IllegalArgumentException e )
+ {
+ /* expected path */
+ }
+ }
+
+ private void assertGetVersions( String artifactId, List<String> expectedVersions )
+ throws Exception
+ {
+ ProjectReference reference = new ProjectReference();
+ reference.setGroupId( "org.apache.archiva.metadata.tests" );
+ reference.setArtifactId( artifactId );
+
+ // Use the test metadata-repository, which is already setup for
+ // These kind of version tests.
+ File repoDir = getTestFile( "src/test/repositories/metadata-repository" );
+ repoContent.getRepository().setLocation( repoDir.getAbsolutePath() );
+
+ // Request the versions.
+ Set<String> testedVersionSet = repoContent.getVersions( reference );
+
+ // Sort the list (for asserts)
+ List<String> testedVersions = new ArrayList<String>();
+ testedVersions.addAll( testedVersionSet );
+ Collections.sort( testedVersions, new VersionComparator() );
+
+ // Test the expected array of versions, to the actual tested versions
+ assertEquals( "available versions", expectedVersions, testedVersions );
+ }
+
+ private void assertVersions( String artifactId, String version, String[] expectedVersions )
+ throws Exception
+ {
+ VersionedReference reference = new VersionedReference();
+ reference.setGroupId( "org.apache.archiva.metadata.tests" );
+ reference.setArtifactId( artifactId );
+ reference.setVersion( version );
+
+ // Use the test metadata-repository, which is already setup for
+ // These kind of version tests.
+ File repoDir = getTestFile( "src/test/repositories/metadata-repository" );
+ repoContent.getRepository().setLocation( repoDir.getAbsolutePath() );
+
+ // Request the versions.
+ Set<String> testedVersionSet = repoContent.getVersions( reference );
+
+ // Sort the list (for asserts later)
+ List<String> testedVersions = new ArrayList<String>();
+ testedVersions.addAll( testedVersionSet );
+ Collections.sort( testedVersions, new VersionComparator() );
+
+ // Test the expected array of versions, to the actual tested versions
+ assertEquals( "Assert Versions: length/size", expectedVersions.length, testedVersions.size() );
+
+ for ( int i = 0; i < expectedVersions.length; i++ )
+ {
+ String actualVersion = testedVersions.get( i );
+ assertEquals( "Versions[" + i + "]", expectedVersions[i], actualVersion );
+ }
+ }
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ File repoDir = getTestFile( "src/test/repositories/default-repository" );
+
+ ManagedRepositoryConfiguration repository = createRepository( "testRepo", "Unit Test Repo", repoDir );
+
+ repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, "default" );
+ repoContent.setRepository( repository );
+ }
+
+ @Override
+ protected ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ return repoContent.toArtifactReference( path );
+ }
+
+ @Override
+ protected String toPath( ArtifactReference reference )
+ {
+ return repoContent.toPath( reference );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java
new file mode 100644
index 000000000..9bfef753b
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContentTest.java
@@ -0,0 +1,192 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.common.utils.VersionComparator;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.ProjectReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * ManagedLegacyRepositoryContentTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ManagedLegacyRepositoryContentTest
+ extends AbstractLegacyRepositoryContentTestCase
+{
+ private ManagedRepositoryContent repoContent;
+
+ public void testGetVersionsFromProjectReference()
+ throws Exception
+ {
+ assertVersions( "org.apache.maven", "testing", new String[] {
+ "UNKNOWN",
+ "1.0-javadoc",
+ "1.0-sources",
+ "1.0",
+ "1.0-20050611.112233-1" } );
+ }
+
+ public void testGetVersionsFromVersionedReference()
+ throws Exception
+ {
+ assertVersions( "org.apache.maven", "testing", "1.0", new String[] {
+ "1.0-javadoc",
+ "1.0-sources",
+ "1.0",
+ "1.0-20050611.112233-1" } );
+ }
+
+ private void assertVersions( String groupId, String artifactId, String[] expectedVersions )
+ throws Exception
+ {
+ ProjectReference reference = new ProjectReference();
+ reference.setGroupId( groupId );
+ reference.setArtifactId( artifactId );
+
+ // Request the versions.
+ Set<String> testedVersionSet = repoContent.getVersions( reference );
+
+ // Sort the list (for asserts later)
+ List<String> testedVersions = new ArrayList<String>();
+ testedVersions.addAll( testedVersionSet );
+ Collections.sort( testedVersions, new VersionComparator() );
+
+ // Test the expected array of versions, to the actual tested versions
+ assertEquals( "Assert (Project) Versions: length/size", expectedVersions.length, testedVersions.size() );
+
+ for ( int i = 0; i < expectedVersions.length; i++ )
+ {
+ String actualVersion = testedVersions.get( i );
+ assertEquals( "(Project) Versions[" + i + "]", expectedVersions[i], actualVersion );
+ }
+ }
+
+ private void assertVersions( String groupId, String artifactId, String version, String[] expectedVersions )
+ throws Exception
+ {
+ VersionedReference reference = new VersionedReference();
+ reference.setGroupId( groupId );
+ reference.setArtifactId( artifactId );
+ reference.setVersion( version );
+
+ // Request the versions.
+ Set<String> testedVersionSet = repoContent.getVersions( reference );
+
+ // Sort the list (for asserts later)
+ List<String> testedVersions = new ArrayList<String>();
+ testedVersions.addAll( testedVersionSet );
+ Collections.sort( testedVersions, new VersionComparator() );
+
+ // Test the expected array of versions, to the actual tested versions
+ assertEquals( "Assert (Project) Versions: length/size", expectedVersions.length, testedVersions.size() );
+
+ for ( int i = 0; i < expectedVersions.length; i++ )
+ {
+ String actualVersion = testedVersions.get( i );
+ assertEquals( "(Project) Versions[" + i + "]", expectedVersions[i], actualVersion );
+ }
+ }
+
+ public void testGetRelatedArtifacts()
+ throws Exception
+ {
+ ArtifactReference reference = createArtifact( "org.apache.maven", "testing", "1.0", "jar" );
+
+ Set<ArtifactReference> related = repoContent.getRelatedArtifacts( reference );
+ assertNotNull( related );
+
+ String expected[] = new String[] {
+ "org.apache.maven/jars/testing-1.0.jar",
+ "org.apache.maven/java-sources/testing-1.0-sources.jar",
+ "org.apache.maven/jars/testing-1.0-20050611.112233-1.jar",
+ "org.apache.maven/poms/testing-1.0.pom",
+ "org.apache.maven/javadocs/testing-1.0-javadoc.jar" };
+
+ StringBuffer relatedDebugString = new StringBuffer();
+ relatedDebugString.append( "[" );
+ for ( ArtifactReference ref : related )
+ {
+ String actualPath = repoContent.toPath( ref );
+ relatedDebugString.append( actualPath ).append( ":" );
+ }
+ relatedDebugString.append( "]" );
+
+ assertEquals( "Related <" + relatedDebugString + ">:", expected.length, related.size() );
+
+ for ( String expectedPath : expected )
+ {
+ boolean found = false;
+ for ( ArtifactReference actualRef : related )
+ {
+ String actualPath = repoContent.toPath( actualRef );
+ if ( actualPath.endsWith( expectedPath ) )
+ {
+ found = true;
+ break;
+ }
+ }
+ if ( !found )
+ {
+ fail( "Unable to find expected artifact [" + expectedPath + "] in list of related artifacts. "
+ + "Related <" + relatedDebugString + ">" );
+ }
+ }
+ }
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ File repoDir = getTestFile( "src/test/repositories/legacy-repository" );
+
+ ManagedRepositoryConfiguration repository = createRepository( "testRepo", "Unit Test Repo", repoDir );
+ repository.setLayout( "legacy" );
+
+ repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, "legacy" );
+ repoContent.setRepository( repository );
+ }
+
+ @Override
+ protected ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ return repoContent.toArtifactReference( path );
+ }
+
+ @Override
+ protected String toPath( ArtifactReference reference )
+ {
+ return repoContent.toPath( reference );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java
new file mode 100644
index 000000000..2a3384899
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteDefaultRepositoryContentTest.java
@@ -0,0 +1,63 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.RemoteRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.RemoteRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * RemoteDefaultRepositoryContentTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RemoteDefaultRepositoryContentTest
+ extends AbstractDefaultRepositoryContentTestCase
+{
+ private RemoteRepositoryContent repoContent;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ RemoteRepositoryConfiguration repository = createRemoteRepository( "testRemoteRepo", "Unit Test Remote Repo",
+ "http://repo1.maven.org/maven2/" );
+
+ repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, "default" );
+ repoContent.setRepository( repository );
+ }
+
+ @Override
+ protected ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ return repoContent.toArtifactReference( path );
+ }
+
+ @Override
+ protected String toPath( ArtifactReference reference )
+ {
+ return repoContent.toPath( reference );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java
new file mode 100644
index 000000000..f976c2fdb
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RemoteLegacyRepositoryContentTest.java
@@ -0,0 +1,65 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.RemoteRepositoryConfiguration;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.RemoteRepositoryContent;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * RemoteLegacyRepositoryContentTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RemoteLegacyRepositoryContentTest
+ extends AbstractLegacyRepositoryContentTestCase
+{
+ private RemoteRepositoryContent repoContent;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ RemoteRepositoryConfiguration repository = createRemoteRepository( "testRemoteLegacyRepo",
+ "Unit Test Remote Legacy Repo",
+ "http://repo1.maven.org/maven/" );
+ repository.setLayout( "legacy" );
+
+ repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, "legacy" );
+ repoContent.setRepository( repository );
+ }
+
+ @Override
+ protected ArtifactReference toArtifactReference( String path )
+ throws LayoutException
+ {
+ return repoContent.toArtifactReference( path );
+ }
+
+ @Override
+ protected String toPath( ArtifactReference reference )
+ {
+ return repoContent.toPath( reference );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java
new file mode 100644
index 000000000..56ba649bb
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/RepositoryRequestTest.java
@@ -0,0 +1,266 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.lang.StringUtils;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
+import org.apache.maven.archiva.repository.layout.LayoutException;
+
+/**
+ * RepositoryRequestTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RepositoryRequestTest
+ extends AbstractRepositoryLayerTestCase
+{
+ public void testInvalidRequestNoArtifactId()
+ {
+ assertInvalidRequest( "groupId/jars/-1.0.jar" );
+ }
+
+ public void testInvalidLegacyRequestBadLocation()
+ {
+ assertInvalidRequest( "org.apache.maven.test/jars/artifactId-1.0.war" );
+ }
+
+ public void testInvalidRequestTooShort()
+ {
+ assertInvalidRequest( "org.apache.maven.test/artifactId-2.0.jar" );
+ }
+
+ public void testInvalidDefaultRequestBadLocation()
+ {
+ assertInvalidRequest( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar" );
+ }
+
+ public void testValidLegacyGanymed()
+ throws Exception
+ {
+ assertValid( "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar", "ch.ethz.ganymed", "ganymed-ssh2", "build210",
+ null, "jar" );
+ }
+
+ public void testValidDefaultGanymed()
+ throws Exception
+ {
+ assertValid( "ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar", "ch.ethz.ganymed",
+ "ganymed-ssh2", "build210", null, "jar" );
+ }
+
+ public void testValidLegacyJavaxComm()
+ throws Exception
+ {
+ assertValid( "javax/jars/comm-3.0-u1.jar", "javax", "comm", "3.0-u1", null, "jar" );
+ }
+
+ public void testValidDefaultJavaxComm()
+ throws Exception
+ {
+ assertValid( "javax/comm/3.0-u1/comm-3.0-u1.jar", "javax", "comm", "3.0-u1", null, "jar" );
+ }
+
+ public void testValidLegacyJavaxPersistence()
+ throws Exception
+ {
+ assertValid( "javax.persistence/jars/ejb-3.0-public_review.jar", "javax.persistence", "ejb",
+ "3.0-public_review", null, "jar" );
+ }
+
+ public void testValidDefaultJavaxPersistence()
+ throws Exception
+ {
+ assertValid( "javax/persistence/ejb/3.0-public_review/ejb-3.0-public_review.jar", "javax.persistence", "ejb",
+ "3.0-public_review", null, "jar" );
+ }
+
+ public void testValidLegacyMavenTestPlugin()
+ throws Exception
+ {
+ assertValid( "maven/jars/maven-test-plugin-1.8.2.jar", "maven", "maven-test-plugin", "1.8.2", null, "jar" );
+ }
+
+ public void testValidDefaultMavenTestPlugin()
+ throws Exception
+ {
+ assertValid( "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom", "maven", "maven-test-plugin",
+ "1.8.2", null, "pom" );
+ }
+
+ public void testValidLegacyCommonsLangJavadoc()
+ throws Exception
+ {
+ assertValid( "commons-lang/jars/commons-lang-2.1-javadoc.jar", "commons-lang", "commons-lang", "2.1-javadoc",
+ null, "javadoc" );
+ }
+
+ public void testValidDefaultCommonsLangJavadoc()
+ throws Exception
+ {
+ assertValid( "commons-lang/commons-lang/2.1/commons-lang-2.1-javadoc.jar", "commons-lang", "commons-lang",
+ "2.1", "javadoc", "javadoc" );
+ }
+
+ public void testValidLegacyDerbyPom()
+ throws Exception
+ {
+ assertValid( "org.apache.derby/poms/derby-10.2.2.0.pom", "org.apache.derby", "derby", "10.2.2.0", null, "pom" );
+ }
+
+ public void testValidDefaultDerbyPom()
+ throws Exception
+ {
+ assertValid( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0.pom", "org.apache.derby", "derby", "10.2.2.0",
+ null, "pom" );
+ }
+
+ public void testValidLegacyGeronimoEjbSpec()
+ throws Exception
+ {
+ assertValid( "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar", "org.apache.geronimo.specs",
+ "geronimo-ejb_2.1_spec", "1.0.1", null, "jar" );
+ }
+
+ public void testValidDefaultGeronimoEjbSpec()
+ throws Exception
+ {
+ assertValid( "org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar",
+ "org.apache.geronimo.specs", "geronimo-ejb_2.1_spec", "1.0.1", null, "jar" );
+ }
+
+ public void testValidLegacyLdapSnapshot()
+ throws Exception
+ {
+ assertValid( "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom", "directory-clients", "ldap-clients",
+ "0.9.1-SNAPSHOT", null, "pom" );
+ }
+
+ public void testValidDefaultLdapSnapshot()
+ throws Exception
+ {
+ assertValid( "directory-clients/ldap-clients/0.9.1-SNAPSHOT/ldap-clients-0.9.1-SNAPSHOT.pom",
+ "directory-clients", "ldap-clients", "0.9.1-SNAPSHOT", null, "pom" );
+ }
+
+ public void testValidLegacyTestArchSnapshot()
+ throws Exception
+ {
+ assertValid( "test.maven-arch/poms/test-arch-2.0.3-SNAPSHOT.pom", "test.maven-arch", "test-arch",
+ "2.0.3-SNAPSHOT", null, "pom" );
+ }
+
+ public void testValidDefaultTestArchSnapshot()
+ throws Exception
+ {
+ assertValid( "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom", "test.maven-arch",
+ "test-arch", "2.0.3-SNAPSHOT", null, "pom" );
+ }
+
+ public void testValidLegacyOddDottedArtifactId()
+ throws Exception
+ {
+ assertValid( "com.company.department/poms/com.company.department.project-0.2.pom", "com.company.department",
+ "com.company.department.project", "0.2", null, "pom" );
+ }
+
+ public void testValidDefaultOddDottedArtifactId()
+ throws Exception
+ {
+ assertValid(
+ "com/company/department/com.company.department.project/0.2/com.company.department.project-0.2.pom",
+ "com.company.department", "com.company.department.project", "0.2", null, "pom" );
+ }
+
+ public void testValidLegacyTimestampedSnapshot()
+ throws Exception
+ {
+ assertValid( "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar",
+ "org.apache.archiva.test", "redonkulous", "3.1-beta-1-20050831.101112-42", null, "jar" );
+ }
+
+ public void testValidDefaultTimestampedSnapshot()
+ throws Exception
+ {
+ assertValid(
+ "org/apache/archiva/test/redonkulous/3.1-beta-1-SNAPSHOT/redonkulous-3.1-beta-1-20050831.101112-42.jar",
+ "org.apache.archiva.test", "redonkulous", "3.1-beta-1-20050831.101112-42", null, "jar" );
+ }
+
+ public void testIsArtifact()
+ {
+ assertTrue( repoRequest.isArtifact( "test.maven-arch/poms/test-arch-2.0.3-SNAPSHOT.pom" ) );
+ assertTrue( repoRequest.isArtifact( "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.jar" ) );
+ assertTrue( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz" ) );
+
+ assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.sha1" ));
+ assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.md5" ));
+ assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.asc" ));
+ assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/derby-10.2.2.0-bin.tar.gz.pgp" ));
+ assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/10.2.2.0/maven-metadata.xml" ));
+ assertFalse( repoRequest.isArtifact( "org/apache/derby/derby/maven-metadata.xml" ));
+ }
+
+ private void assertValid( String path, String groupId, String artifactId, String version, String classifier,
+ String type )
+ throws Exception
+ {
+ String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":"
+ + ( classifier != null ? classifier + ":" : "" ) + type;
+
+ ArtifactReference reference = repoRequest.toArtifactReference( path );
+
+ assertNotNull( expectedId + " - Should not be null.", reference );
+
+ assertEquals( expectedId + " - Group ID", groupId, reference.getGroupId() );
+ assertEquals( expectedId + " - Artifact ID", artifactId, reference.getArtifactId() );
+ if ( StringUtils.isNotBlank( classifier ) )
+ {
+ assertEquals( expectedId + " - Classifier", classifier, reference.getClassifier() );
+ }
+ assertEquals( expectedId + " - Version ID", version, reference.getVersion() );
+ assertEquals( expectedId + " - Type", type, reference.getType() );
+ }
+
+ private void assertInvalidRequest( String path )
+ {
+ try
+ {
+ repoRequest.toArtifactReference( path );
+ fail( "Expected a LayoutException on an invalid path [" + path + "]" );
+ }
+ catch ( LayoutException e )
+ {
+ /* expected path */
+ }
+ }
+
+ private RepositoryRequest repoRequest;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ repoRequest = (RepositoryRequest) lookup( RepositoryRequest.class );
+ }
+}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java
deleted file mode 100644
index 30341b4c6..000000000
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.archiva.repository.layout;
-
-/*
- * 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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests - Useful for developers using IDEs.
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.layout" );
- //$JUnit-BEGIN$
- suite.addTestSuite( BidirectionalRepositoryLayoutFactoryTest.class );
- suite.addTestSuite( LegacyBidirectionalRepositoryLayoutTest.class );
- suite.addTestSuite( DefaultBidirectionalRepositoryLayoutTest.class );
- suite.addTestSuite( RepositoryLayoutUtilsTest.class );
- //$JUnit-END$
- return suite;
- }
-
-}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java
index ace646dd8..b782f09f7 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/DefaultBidirectionalRepositoryLayoutTest.java
@@ -130,7 +130,24 @@ public class DefaultBidirectionalRepositoryLayoutTest
assertLayout( path, groupId, artifactId, version, classifier, type );
}
-
+
+ /**
+ * [MRM-519] version identifiers within filename cause misidentification of version.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodVersionKeywordInArtifactId()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String classifier = null;
+ String type = "pom";
+ String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.pom";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
/**
* [MRM-486] Can not deploy artifact test.maven-arch:test-arch due to "No ArtifactID Detected"
*/
@@ -143,10 +160,10 @@ public class DefaultBidirectionalRepositoryLayoutTest
String classifier = null;
String type = "pom";
String path = "test/maven-arch/test-arch/2.0.3-SNAPSHOT/test-arch-2.0.3-SNAPSHOT.pom";
-
+
assertLayout( path, groupId, artifactId, version, classifier, type );
}
-
+
/**
* It may seem odd, but this is a valid artifact.
*/
@@ -159,7 +176,7 @@ public class DefaultBidirectionalRepositoryLayoutTest
String classifier = null;
String type = "pom";
String path = "com/company/department/com.company.department/0.2/com.company.department-0.2.pom";
-
+
assertLayout( path, groupId, artifactId, version, classifier, type );
}
@@ -175,10 +192,10 @@ public class DefaultBidirectionalRepositoryLayoutTest
String classifier = null;
String type = "pom";
String path = "com/company/department/com.company.department.project/0.3/com.company.department.project-0.3.pom";
-
+
assertLayout( path, groupId, artifactId, version, classifier, type );
}
-
+
public void testGoodComFooTool()
throws LayoutException
{
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java
index 247c1048e..1292ab8f6 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/LegacyBidirectionalRepositoryLayoutTest.java
@@ -64,18 +64,17 @@ public class LegacyBidirectionalRepositoryLayoutTest
* Example of an oddball / unusual version spec.
* @throws LayoutException
*/
- /* TODO: Re-enabled in the future.
+ /*
public void testGoodButOddVersionSpecGanymedSsh2()
throws LayoutException
{
String groupId = "ch.ethz.ganymed";
String artifactId = "ganymed-ssh2";
String version = "build210";
- String classifier = null;
String type = "jar";
String path = "ch.ethz.ganymed/jars/ganymed-ssh2-build210.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
*/
@@ -84,18 +83,17 @@ public class LegacyBidirectionalRepositoryLayoutTest
* Example of an oddball / unusual version spec.
* @throws LayoutException
*/
- /* TODO: Re-enabled in the future.
+ /*
public void testGoodButOddVersionSpecJavaxComm()
throws LayoutException
{
String groupId = "javax";
String artifactId = "comm";
String version = "3.0-u1";
- String classifier = null;
String type = "jar";
String path = "javax/jars/comm-3.0-u1.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
*/
@@ -104,23 +102,36 @@ public class LegacyBidirectionalRepositoryLayoutTest
* Example of an oddball / unusual version spec.
* @throws LayoutException
*/
- /* TODO: Re-enabled in the future.
+ /*
public void testGoodButOddVersionSpecJavaxPersistence()
throws LayoutException
{
String groupId = "javax.persistence";
String artifactId = "ejb";
String version = "3.0-public_review";
- String classifier = null;
String type = "jar";
String path = "javax.persistence/jars/ejb-3.0-public_review.jar";
- /*
- * The version id of "public_review" can cause problems. is it part of
- * the version spec? or the classifier?
- * /
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+ */
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ /**
+ * [MRM-519] version identifiers within filename cause misidentification of version.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ /*
+ public void testGoodVersionKeywordInArtifactId()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String type = "jar";
+
+ String path = "maven/jars/maven-test-plugin-1.8.2.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
}
*/
@@ -130,11 +141,10 @@ public class LegacyBidirectionalRepositoryLayoutTest
String groupId = "commons-lang";
String artifactId = "commons-lang";
String version = "2.1";
- String classifier = null;
String type = "jar";
String path = "commons-lang/jars/commons-lang-2.1.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
public void testGoodDerby()
@@ -143,11 +153,10 @@ public class LegacyBidirectionalRepositoryLayoutTest
String groupId = "org.apache.derby";
String artifactId = "derby";
String version = "10.2.2.0";
- String classifier = null;
String type = "jar";
String path = "org.apache.derby/jars/derby-10.2.2.0.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
/**
@@ -156,52 +165,55 @@ public class LegacyBidirectionalRepositoryLayoutTest
* This tests that effect.
* @throws LayoutException
*/
+ /* TODO: Re-enabled in the future.
public void testGoodFooEjbClient()
throws LayoutException
{
String groupId = "com.foo";
String artifactId = "foo-client";
String version = "1.0";
- String classifier = null;
String type = "ejb"; // oddball type-spec (should result in jar extension)
String path = "com.foo/ejbs/foo-client-1.0.jar";
assertLayout( path, groupId, artifactId, version, classifier, type );
}
+ */
/**
* Test the classifier.
* @throws LayoutException
*/
+ /*
public void testGoodFooLibJavadoc()
throws LayoutException
{
String groupId = "com.foo.lib";
String artifactId = "foo-lib";
- String version = "2.1-alpha-1";
- String classifier = "javadoc";
+ String version = "2.1-alpha-1-javadoc";
String type = "javadoc.jar";
String path = "com.foo.lib/javadoc.jars/foo-lib-2.1-alpha-1-javadoc.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
+ */
/**
* Test the classifier, and java-source type spec.
* @throws LayoutException
*/
+ /*
public void testGoodFooLibSources()
throws LayoutException
{
String groupId = "com.foo.lib";
String artifactId = "foo-lib";
- String version = "2.1-alpha-1";
- String classifier = "sources";
+ String version = "2.1-alpha-1-sources";
String type = "java-source"; // oddball type-spec (should result in jar extension)
String path = "com.foo.lib/java-sources/foo-lib-2.1-alpha-1-sources.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
+ */
public void testGoodFooTool()
throws LayoutException
@@ -209,11 +221,10 @@ public class LegacyBidirectionalRepositoryLayoutTest
String groupId = "com.foo";
String artifactId = "foo-tool";
String version = "1.0";
- String classifier = null;
String type = "jar";
String path = "com.foo/jars/foo-tool-1.0.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
public void testGoodGeronimoEjbSpec()
@@ -222,11 +233,10 @@ public class LegacyBidirectionalRepositoryLayoutTest
String groupId = "org.apache.geronimo.specs";
String artifactId = "geronimo-ejb_2.1_spec";
String version = "1.0.1";
- String classifier = null;
String type = "jar";
String path = "org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
public void testGoodLdapClientsPom()
@@ -235,11 +245,10 @@ public class LegacyBidirectionalRepositoryLayoutTest
String groupId = "directory-clients";
String artifactId = "ldap-clients";
String version = "0.9.1-SNAPSHOT";
- String classifier = null;
String type = "pom";
String path = "directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
/**
@@ -252,21 +261,19 @@ public class LegacyBidirectionalRepositoryLayoutTest
String groupId = "org.apache.archiva.test";
String artifactId = "redonkulous";
String version = "3.1-beta-1-20050831.101112-42";
- String classifier = null;
String type = "jar";
String path = "org.apache.archiva.test/jars/redonkulous-3.1-beta-1-20050831.101112-42.jar";
- assertLayout( path, groupId, artifactId, version, classifier, type );
+ assertLayout( path, groupId, artifactId, version, type );
}
/**
* Perform a roundtrip through the layout routines to determine success.
*/
- private void assertLayout( String path, String groupId, String artifactId, String version, String classifier,
- String type )
+ private void assertLayout( String path, String groupId, String artifactId, String version, String type )
throws LayoutException
{
- ArchivaArtifact expectedArtifact = createArtifact( groupId, artifactId, version, classifier, type );
+ ArchivaArtifact expectedArtifact = createArtifact( groupId, artifactId, version, type );
// --- Artifact Tests.
// Artifact to Path
@@ -274,7 +281,7 @@ public class LegacyBidirectionalRepositoryLayoutTest
// Path to Artifact.
ArchivaArtifact testArtifact = layout.toArtifact( path );
- assertArtifact( testArtifact, groupId, artifactId, version, classifier, type );
+ assertArtifact( testArtifact, groupId, artifactId, version, type );
// And back again, using test Artifact from previous step.
assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, layout.toPath( testArtifact ) );
@@ -283,11 +290,45 @@ public class LegacyBidirectionalRepositoryLayoutTest
// Path to Artifact Reference.
ArtifactReference testReference = layout.toArtifactReference( path );
- assertArtifactReference( testReference, groupId, artifactId, version, classifier, type );
+ assertArtifactReference( testReference, groupId, artifactId, version, type );
// And back again, using test Reference from previous step.
assertEquals( "Artifact <" + expectedArtifact + "> to path:", path, layout.toPath( testReference ) );
}
+
+ protected ArchivaArtifact createArtifact( String groupId, String artifactId, String version, String type )
+ {
+ ArchivaArtifact artifact = new ArchivaArtifact( groupId, artifactId, version, null, type );
+ assertNotNull( artifact );
+ artifact.getModel().setRepositoryId( repository.getId() );
+ return artifact;
+ }
+
+ protected void assertArtifact( ArchivaArtifact actualArtifact, String groupId, String artifactId, String version,
+ String type )
+ {
+ String expectedId = groupId + ":" + artifactId + ":" + version + ":" + type;
+
+ assertNotNull( expectedId + " - Should not be null.", actualArtifact );
+
+ assertEquals( expectedId + " - Group ID", groupId, actualArtifact.getGroupId() );
+ assertEquals( expectedId + " - Artifact ID", artifactId, actualArtifact.getArtifactId() );
+ assertEquals( expectedId + " - Version ID", version, actualArtifact.getVersion() );
+ assertEquals( expectedId + " - Type", type, actualArtifact.getType() );
+ }
+
+ protected void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId,
+ String version, String type )
+ {
+ String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + type;
+
+ assertNotNull( expectedId + " - Should not be null.", actualReference );
+
+ assertEquals( expectedId + " - Group ID", groupId, actualReference.getGroupId() );
+ assertEquals( expectedId + " - Artifact ID", artifactId, actualReference.getArtifactId() );
+ assertEquals( expectedId + " - Version ID", version, actualReference.getVersion() );
+ assertEquals( expectedId + " - Type", type, actualReference.getType() );
+ }
protected void assertBadPath( String path, String reason )
{
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/RepositoryLayoutUtilsTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/RepositoryLayoutUtilsTest.java
deleted file mode 100644
index 4059f87a1..000000000
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/RepositoryLayoutUtilsTest.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package org.apache.maven.archiva.repository.layout;
-
-/*
- * 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 junit.framework.TestCase;
-
-/**
- * RepositoryLayoutUtilsTest
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class RepositoryLayoutUtilsTest extends TestCase
-{
- public void testSplitFilenameBasic() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.1.jar", "commons-lang" ),
- "commons-lang", "2.1", null, "jar" );
- }
-
- public void testSplitFilenameMavenTestPlugin() throws LayoutException
- {
- // Using maven 2 logic (artifactId is present in full path)
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "maven-test-plugin-1.8.2.jar", "maven-test-plugin" ),
- "maven-test-plugin", "1.8.2", null, "jar" );
-
- // Using maven 1 logic (artifactId is unknown)
- // [MRM-519] fail to resolve artifactId for libs that contain versionKeyword in artifactId, like "maven-test-plugin"
- /*
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "maven-test-plugin-1.8.2.jar", null ),
- "maven-test-plugin", "1.8.2", null, "jar" );
- */
- }
-
- public void testSplitFilenameAlphaVersion() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.0-alpha-1.jar", "commons-lang" ),
- "commons-lang", "2.0-alpha-1", null, "jar" );
- }
-
- public void testSplitFilenameSnapshot() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "foo-2.0-SNAPSHOT.jar", "foo" ), "foo",
- "2.0-SNAPSHOT", null, "jar" );
- }
-
- public void testSplitFilenameUniqueSnapshot() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "fletch-2.0-20060822-123456-35.tar.gz", "fletch" ),
- "fletch", "2.0-20060822-123456-35", null, "tar.gz" );
- }
-
- public void testSplitFilenameBasicClassifier() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.1-sources.jar", "commons-lang" ),
- "commons-lang", "2.1", "sources", "jar" );
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.1-javadoc.jar", "commons-lang" ),
- "commons-lang", "2.1", "javadoc", "jar" );
- }
-
- public void testSplitFilenameAlphaClassifier() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.0-alpha-1-sources.jar",
- "commons-lang" ), "commons-lang", "2.0-alpha-1",
- "sources", "jar" );
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-2.0-alpha-1-javadoc.jar",
- "commons-lang" ), "commons-lang", "2.0-alpha-1",
- "javadoc", "jar" );
- }
-
- public void testSplitFilenameSnapshotClassifier() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-sources.jar",
- "commons-lang" ), "commons-lang", "3.1-SNAPSHOT",
- "sources", "jar" );
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-javadoc.jar",
- "commons-lang" ), "commons-lang", "3.1-SNAPSHOT",
- "javadoc", "jar" );
- }
-
- public void testSplitFilenameUniqueSnapshotClassifier() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-sources.jar",
- "commons-lang" ), "commons-lang", "3.1-SNAPSHOT",
- "sources", "jar" );
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commons-lang-3.1-SNAPSHOT-javadoc.jar",
- "commons-lang" ), "commons-lang", "3.1-SNAPSHOT",
- "javadoc", "jar" );
- }
-
- public void testSplitFilenameApacheIncubator() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "cxf-common-2.0-incubator-M1.pom", null ),
- "cxf-common", "2.0-incubator-M1", null, "pom" );
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "commonj-api_r1.1-1.0-incubator-M2.jar", null ),
- "commonj-api_r1.1", "1.0-incubator-M2", null, "jar" );
- }
-
- public void testSplitFilenameBlankInputs()
- {
- try
- {
- RepositoryLayoutUtils.splitFilename( null, null );
- fail( "Should have thrown an IllegalArgumentException." );
- }
- catch ( IllegalArgumentException e )
- {
- /* expected path */
- }
- catch ( LayoutException e )
- {
- fail( "Should have thrown an IllegalArgumentException." );
- }
-
- try
- {
- RepositoryLayoutUtils.splitFilename( "", null );
- fail( "Should have thrown an IllegalArgumentException." );
- }
- catch ( IllegalArgumentException e )
- {
- /* expected path */
- }
- catch ( LayoutException e )
- {
- fail( "Should have thrown an IllegalArgumentException." );
- }
-
- try
- {
- RepositoryLayoutUtils.splitFilename( " ", null );
- fail( "Should have thrown an IllegalArgumentException." );
- }
- catch ( IllegalArgumentException e )
- {
- /* expected path */
- }
- catch ( LayoutException e )
- {
- fail( "Should have thrown an IllegalArgumentException." );
- }
-
- try
- {
- RepositoryLayoutUtils.splitFilename( " \t \n ", null );
- fail( "Should have thrown an IllegalArgumentException." );
- }
- catch ( IllegalArgumentException e )
- {
- /* expected path */
- }
- catch ( LayoutException e )
- {
- fail( "Should have thrown an IllegalArgumentException." );
- }
- }
-
- public void testSplitFilenameBadInputs()
- {
- try
- {
- RepositoryLayoutUtils.splitFilename( "commons-lang.jar", null );
- fail( "Should have thrown a LayoutException (No Version)." );
- }
- catch ( LayoutException e )
- {
- /* Expected Path */
- }
-
- try
- {
- RepositoryLayoutUtils.splitFilename( "geronimo-store", null );
- fail( "Should have thrown a LayoutException (No Extension)." );
- }
- catch ( LayoutException e )
- {
- /* Expected Path */
- }
-
- try
- {
- RepositoryLayoutUtils.splitFilename( "The Sixth Sick Sheiks Sixth Sheep is Sick.", null );
- fail( "Should have thrown a LayoutException (No Extension)." );
- }
- catch ( LayoutException e )
- {
- /* Expected Path */
- }
-
- try
- {
- RepositoryLayoutUtils.splitFilename( "1.0.jar", null );
- fail( "Should have thrown a LayoutException (No Artifact ID)." );
- }
- catch ( LayoutException e )
- {
- /* Expected Path */
- }
- }
-
- public void testSplitFilenameWithProposedVersion() throws LayoutException
- {
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "jtidy-r8-21122004.jar", "jtidy", "r8-21122004" ),
- "jtidy", "r8-21122004", null, "jar" );
-
- assertFilenameParts( RepositoryLayoutUtils.splitFilename( "jtidy-r8-21122004-sources.jar", "jtidy", "r8-21122004" ),
- "jtidy", "r8-21122004", "sources", "jar" );
- }
-
-
- private void assertFilenameParts( FilenameParts actualParts, String artifactId, String version, String classifier,
- String extension )
- {
- assertEquals( "Split - artifactId", artifactId, actualParts.artifactId );
- assertEquals( "Split - version", version, actualParts.version );
- assertEquals( "Split - classifier", classifier, actualParts.classifier );
- assertEquals( "Split - extension", extension, actualParts.extension );
- }
-}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java
index 82f948bd1..0bec4a919 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.java
@@ -22,22 +22,21 @@ import org.apache.maven.archiva.common.utils.VersionComparator;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
-import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
import org.apache.maven.archiva.model.ProjectReference;
import org.apache.maven.archiva.model.VersionedReference;
import org.apache.maven.archiva.policies.DownloadPolicy;
import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
import org.apache.maven.archiva.repository.MockConfiguration;
+import org.apache.maven.archiva.repository.RemoteRepositoryContent;
import org.apache.maven.archiva.repository.layout.LayoutException;
import org.custommonkey.xmlunit.DetailedDiff;
import org.custommonkey.xmlunit.Diff;
-import org.custommonkey.xmlunit.XMLAssert;
import org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -57,31 +56,6 @@ public class MetadataToolsTest
protected MockConfiguration config;
- public void testGatherAvailableVersionsBadArtifact()
- throws Exception
- {
- assertAvailableVersions( "bad_artifact", Collections.EMPTY_LIST );
- }
-
- public void testGatherAvailableVersionsMissingMultipleVersions()
- throws Exception
- {
- assertAvailableVersions( "missing_metadata_b", Arrays.asList( "1.0", "1.0.1", "2.0", "2.0.1",
- "2.0-20070821-dev" ) );
- }
-
- public void testGatherAvailableVersionsSimpleYetIncomplete()
- throws Exception
- {
- assertAvailableVersions( "incomplete_metadata_a", Collections.singletonList( "1.0" ) );
- }
-
- public void testGatherAvailableVersionsSimpleYetMissing()
- throws Exception
- {
- assertAvailableVersions( "missing_metadata_a", Collections.singletonList( "1.0" ) );
- }
-
public void testGatherSnapshotVersionsA()
throws Exception
{
@@ -118,12 +92,15 @@ public class MetadataToolsTest
}
public void testGetRepositorySpecificName()
+ throws Exception
{
- RemoteRepositoryConfiguration repoJavaNet = createRemoteRepository( "maven2-repository.dev.java.net",
- "Java.net Repository for Maven 2",
- "http://download.java.net/maven/2/" );
- RemoteRepositoryConfiguration repoCentral = createRemoteRepository( "central", "Central Global Repository",
- "http://repo1.maven.org/maven2/" );
+ RemoteRepositoryContent repoJavaNet = createRemoteRepositoryContent( "maven2-repository.dev.java.net",
+ "Java.net Repository for Maven 2",
+ "http://download.java.net/maven/2/",
+ "default" );
+ RemoteRepositoryContent repoCentral = createRemoteRepositoryContent( "central", "Central Global Repository",
+ "http://repo1.maven.org/maven2/",
+ "default" );
String convertedName = tools.getRepositorySpecificName( repoJavaNet,
"commons-lang/commons-lang/maven-metadata.xml" );
@@ -135,7 +112,7 @@ public class MetadataToolsTest
}
public void testUpdateProjectBadArtifact()
- throws LayoutException, SAXException, ParserConfigurationException, RepositoryMetadataException
+ throws Exception
{
try
{
@@ -156,7 +133,7 @@ public class MetadataToolsTest
"1.0.1",
"2.0",
"2.0.1",
- "2.0-20070821-dev" } );
+ "2.0-20070821-dev" }, "2.0-20070821-dev" , "2.0-20070821-dev" );
}
public void testUpdateProjectMissingMultipleVersionsWithProxies()
@@ -168,30 +145,30 @@ public class MetadataToolsTest
createProxyConnector( "test-repo", "central" );
createProxyConnector( "test-repo", "java.net" );
- assertUpdatedProjectMetadata( "proxied_multi", new String[] {
- "1.0-spec" /* in java.net */,
- "1.0" /* in managed, and central */,
- "1.0.1" /* in central */,
- "1.1" /* in managed */,
- "2.0-proposal-beta" /* in java.net */,
- "2.0-spec" /* in java.net */,
- "2.0" /* in central, and java.net */,
- "2.0.1" /* in java.net */,
- "2.1" /* in managed */,
- "3.0" /* in central */,
+ assertUpdatedProjectMetadata( "proxied_multi", new String[] {
+ "1.0-spec" /* in java.net */,
+ "1.0" /* in managed, and central */,
+ "1.0.1" /* in central */,
+ "1.1" /* in managed */,
+ "2.0-proposal-beta" /* in java.net */,
+ "2.0-spec" /* in java.net */,
+ "2.0" /* in central, and java.net */,
+ "2.0.1" /* in java.net */,
+ "2.1" /* in managed */,
+ "3.0" /* in central */,
"3.1" /* in central */}, "3.1", "3.1" );
}
public void testUpdateProjectSimpleYetIncomplete()
throws Exception
{
- assertUpdatedProjectMetadata( "incomplete_metadata_a", new String[] { "1.0" } );
+ assertUpdatedProjectMetadata( "incomplete_metadata_a", new String[] { "1.0" }, "1.0", "1.0" );
}
public void testUpdateProjectSimpleYetMissing()
throws Exception
{
- assertUpdatedProjectMetadata( "missing_metadata_a", new String[] { "1.0" } );
+ assertUpdatedProjectMetadata( "missing_metadata_a", new String[] { "1.0" }, "1.0", "1.0" );
}
public void testUpdateVersionSimple10()
@@ -328,29 +305,6 @@ public class MetadataToolsTest
assertEquals( "VersionedReference.version", version, reference.getVersion() );
}
- private void assertAvailableVersions( String artifactId, List<String> expectedVersions )
- throws Exception
- {
- File repoRootDir = new File( "src/test/repositories/metadata-repository" );
-
- ProjectReference reference = new ProjectReference();
- reference.setGroupId( "org.apache.archiva.metadata.tests" );
- reference.setArtifactId( artifactId );
-
- ManagedRepositoryConfiguration repo = createRepository( "test-repo", "Test Repository: "
- + getName(), repoRootDir );
-
- Set<String> testedVersionSet = tools.gatherAvailableVersions( repo, reference );
-
- // Sort the list (for asserts)
- List<String> testedVersions = new ArrayList<String>();
- testedVersions.addAll( testedVersionSet );
- Collections.sort( testedVersions, new VersionComparator() );
-
- // Test the expected array of versions, to the actual tested versions
- assertEquals( "available versions", expectedVersions, testedVersions );
- }
-
private void assertSnapshotVersions( String artifactId, String version, String[] expectedVersions )
throws Exception
{
@@ -361,10 +315,13 @@ public class MetadataToolsTest
reference.setArtifactId( artifactId );
reference.setVersion( version );
- ManagedRepositoryConfiguration repo = createRepository( "test-repo", "Test Repository: "
- + getName(), repoRootDir );
+ ManagedRepositoryConfiguration repo = createRepository( "test-repo", "Test Repository: " + getName(),
+ repoRootDir );
+ ManagedRepositoryContent repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class,
+ "default" );
+ repoContent.setRepository( repo );
- Set<String> testedVersionSet = tools.gatherSnapshotVersions( repo, reference );
+ Set<String> testedVersionSet = tools.gatherSnapshotVersions( repoContent, reference );
// Sort the list (for asserts)
List<String> testedVersions = new ArrayList<String>();
@@ -381,21 +338,26 @@ public class MetadataToolsTest
}
}
- private void assertMetadata( String expectedMetadata, ManagedRepositoryConfiguration repository,
+ private void assertMetadata( String expectedMetadata, ManagedRepositoryContent repository,
ProjectReference reference )
throws LayoutException, IOException, SAXException, ParserConfigurationException
{
- File metadataFile = new File( repository.getLocation(), tools.toPath( reference ) );
+ File metadataFile = new File( repository.getRepoRoot(), tools.toPath( reference ) );
String actualMetadata = FileUtils.readFileToString( metadataFile, null );
- XMLAssert.assertXMLEqual( expectedMetadata, actualMetadata );
+ DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadata, actualMetadata ) );
+ if ( !detailedDiff.similar() )
+ {
+ // If it isn't similar, dump the difference.
+ assertEquals( expectedMetadata, actualMetadata );
+ }
}
- private void assertMetadata( String expectedMetadata, ManagedRepositoryConfiguration repository,
+ private void assertMetadata( String expectedMetadata, ManagedRepositoryContent repository,
VersionedReference reference )
throws LayoutException, IOException, SAXException, ParserConfigurationException
{
- File metadataFile = new File( repository.getLocation(), tools.toPath( reference ) );
+ File metadataFile = new File( repository.getRepoRoot(), tools.toPath( reference ) );
String actualMetadata = FileUtils.readFileToString( metadataFile, null );
DetailedDiff detailedDiff = new DetailedDiff( new Diff( expectedMetadata, actualMetadata ) );
@@ -412,16 +374,16 @@ public class MetadataToolsTest
}
private void assertUpdatedProjectMetadata( String artifactId, String[] expectedVersions )
- throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException
+ throws Exception
{
assertUpdatedProjectMetadata( artifactId, expectedVersions, null, null );
}
private void assertUpdatedProjectMetadata( String artifactId, String[] expectedVersions, String latestVersion,
String releaseVersion )
- throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException
+ throws Exception
{
- ManagedRepositoryConfiguration testRepo = createTestRepo();
+ ManagedRepositoryContent testRepo = createTestRepoContent();
ProjectReference reference = new ProjectReference();
reference.setGroupId( "org.apache.archiva.metadata.tests" );
reference.setArtifactId( artifactId );
@@ -462,9 +424,9 @@ public class MetadataToolsTest
}
private void assertUpdatedReleaseVersionMetadata( String artifactId, String version )
- throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException
+ throws Exception
{
- ManagedRepositoryConfiguration testRepo = createTestRepo();
+ ManagedRepositoryContent testRepo = createTestRepoContent();
VersionedReference reference = new VersionedReference();
reference.setGroupId( "org.apache.archiva.metadata.tests" );
reference.setArtifactId( artifactId );
@@ -486,9 +448,9 @@ public class MetadataToolsTest
private void assertUpdatedSnapshotVersionMetadata( String artifactId, String version, String expectedDate,
String expectedTime, String expectedBuildNumber )
- throws IOException, LayoutException, RepositoryMetadataException, SAXException, ParserConfigurationException
+ throws Exception
{
- ManagedRepositoryConfiguration testRepo = createTestRepo();
+ ManagedRepositoryContent testRepo = createTestRepoContent();
VersionedReference reference = new VersionedReference();
reference.setGroupId( "org.apache.archiva.metadata.tests" );
reference.setArtifactId( artifactId );
@@ -541,8 +503,8 @@ public class MetadataToolsTest
config.triggerChange( prefix + ".policies.cache-failures", connectorConfig.getPolicy( "cache-failures", "" ) );
}
- private ManagedRepositoryConfiguration createTestRepo()
- throws IOException
+ private ManagedRepositoryContent createTestRepoContent()
+ throws Exception
{
File repoRoot = new File( "target/metadata-tests/" + getName() );
if ( repoRoot.exists() )
@@ -552,10 +514,16 @@ public class MetadataToolsTest
repoRoot.mkdirs();
- return createRepository( "test-repo", "Test Repository: " + getName(), repoRoot );
+ ManagedRepositoryConfiguration repoConfig = createRepository( "test-repo", "Test Repository: " + getName(),
+ repoRoot );
+
+ ManagedRepositoryContent repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class,
+ "default" );
+ repoContent.setRepository( repoConfig );
+ return repoContent;
}
- private void prepTestRepo( ManagedRepositoryConfiguration repo, ProjectReference reference )
+ private void prepTestRepo( ManagedRepositoryContent repo, ProjectReference reference )
throws IOException
{
String groupDir = StringUtils.replaceChars( reference.getGroupId(), '.', '/' );
@@ -563,7 +531,7 @@ public class MetadataToolsTest
File srcRepoDir = new File( "src/test/repositories/metadata-repository" );
File srcDir = new File( srcRepoDir, path );
- File destDir = new File( repo.getLocation(), path );
+ File destDir = new File( repo.getRepoRoot(), path );
assertTrue( "Source Dir exists: " + srcDir, srcDir.exists() );
destDir.mkdirs();
@@ -571,7 +539,7 @@ public class MetadataToolsTest
FileUtils.copyDirectory( srcDir, destDir );
}
- private void prepTestRepo( ManagedRepositoryConfiguration repo, VersionedReference reference )
+ private void prepTestRepo( ManagedRepositoryContent repo, VersionedReference reference )
throws IOException
{
ProjectReference projectRef = new ProjectReference();
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/AllTests.java
deleted file mode 100644
index 9793d930e..000000000
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/AllTests.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.archiva.repository.project;
-
-/*
- * 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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project" );
- //$JUnit-BEGIN$
- suite.addTest( org.apache.maven.archiva.repository.project.filters.AllTests.suite() );
- suite.addTest( org.apache.maven.archiva.repository.project.readers.AllTests.suite() );
- //$JUnit-END$
- return suite;
- }
-
-}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/AllTests.java
deleted file mode 100644
index b724a51a1..000000000
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/AllTests.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.maven.archiva.repository.project.readers;
-
-/*
- * 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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.project.readers" );
- //$JUnit-BEGIN$
- suite.addTestSuite( ProjectModel400ReaderTest.class );
- //$JUnit-END$
- return suite;
- }
-
-}
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java
index 3b7f51c53..ca9724524 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/readers/ProjectModel300ReaderTest.java
@@ -30,7 +30,7 @@ import java.io.File;
/**
* ProjectModel300ReaderTest
*
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
public class ProjectModel300ReaderTest
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java
index ffec5e767..efecd84f1 100644
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java
+++ b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/writers/ProjectModel400WriterTest.java
@@ -36,7 +36,7 @@ import java.io.StringWriter;
/**
* ProjectModel400WriterTest
*
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
public class ProjectModel400WriterTest
diff --git a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/AllTests.java b/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/AllTests.java
deleted file mode 100644
index 76ac974af..000000000
--- a/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/AllTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.archiva.repository.scanner;
-
-/*
- * 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 junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * AllTests - Useful for developers using IDEs.
- *
- * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
- * @version $Id$
- */
-public class AllTests
-{
- public static Test suite()
- {
- TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.scanner" );
- //$JUnit-BEGIN$
- suite.addTestSuite( RepositoryScannerTest.class );
- //$JUnit-END$
- return suite;
- }
-}
diff --git a/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/maven/poms/wagon-ssh-1.0.pom b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/maven/poms/wagon-ssh-1.0.pom
new file mode 100644
index 000000000..e6a72b9d6
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/maven/poms/wagon-ssh-1.0.pom
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project>
+ <extend>../../project.xml</extend>
+ <pomVersion>3</pomVersion>
+ <groupId>maven</groupId>
+ <id>wagon-ssh</id>
+ <artifactId>wagon-ssh</artifactId>
+ <name>Wagon SSH provider</name>
+ <currentVersion>1.0-SNAPSHOT</currentVersion>
+ <description></description>
+ <shortDescription>Wagon Provider for protocols from SSH2 family based on JSCH</shortDescription>
+ <package>org.apache.maven.wagon.providers.ssh</package>
+ <inceptionYear>2003</inceptionYear>
+ <url>http://maven.apache.org/wagon/wagon-providers/ssh</url>
+ <issueTrackingUrl>http://jira.codehaus.org/BrowseProject.jspa?id=10319</issueTrackingUrl>
+ <siteDirectory>/www/maven.apache.org/wagon/wagon-providers/ssh</siteDirectory>
+ <repository>
+ <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven-wagon/wagon-providers/ssh</connection>
+ <url>http://cvs.apache.org/viewcvs/maven-wagon/wagon-providers/ssh/</url>
+ </repository>
+
+ <developers>
+ <developer>
+ <name>Michal Maczka</name>
+ <id>michal</id>
+ <email>michal.maczka@dimatics.com</email>
+ <organization>Dimatics</organization>
+ <roles>
+ <role>Creator</role>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ </developers>
+
+ <dependencies>
+ <dependency>
+ <groupId>maven</groupId>
+ <artifactId>wagon-api</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>jsch</groupId>
+ <artifactId>jsch</artifactId>
+ <version>0.1.14</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/javadocs/testing-1.0-javadoc.jar b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/javadocs/testing-1.0-javadoc.jar
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/javadocs/testing-1.0-javadoc.jar
diff --git a/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/poms/testing-1.0.pom b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/poms/testing-1.0.pom
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/repositories/legacy-repository/org.apache.maven/poms/testing-1.0.pom
diff --git a/archiva-base/archiva-repository-layer/src/test/resources/m1-repo-filelist.txt b/archiva-base/archiva-repository-layer/src/test/resources/m1-repo-filelist.txt
new file mode 100644
index 000000000..3ddb2c4ce
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/resources/m1-repo-filelist.txt
@@ -0,0 +1,6230 @@
+# Directory listing from people.apache.org
+# of path /www/people.apache.org/repo/m1-ibiblio-rsync-repository
+# Taken September 9, 2007
+#
+# File listing has been filtered using the following sed command.
+#
+# sed -e "/\.md5$/d" -e "/\.sha1$/d" -e "/\.asc$/d" -e "/\.meta$/d" \
+# -e "/LICENSE/d" -e "/\/licenses\//d"
+#
+# Any entries in here that are blatently wrong should be deleted.
+#
+ant/jars/ant-1.4.1.jar
+ant/jars/ant-1.5.1.jar
+ant/jars/ant-1.5.2.jar
+ant/jars/ant-1.5.3-1.jar
+ant/jars/ant-1.5.4.jar
+ant/jars/ant-1.6.3.jar
+ant/jars/ant-1.5.jar
+ant/jars/ant-1.6.1.jar
+ant/jars/ant-1.6.2.jar
+ant/jars/ant-1.6.jar
+ant/jars/ant-1.6.4.jar
+ant/jars/ant-1.6.5.jar
+ant/jars/ant-antlr-1.6.1.jar
+ant/jars/ant-antlr-1.6.2.jar
+ant/jars/ant-antlr-1.6.3.jar
+ant/jars/ant-antlr-1.6.4.jar
+ant/jars/ant-apache-oro-1.6.5.jar
+ant/jars/ant-antlr-1.6.5.jar
+ant/jars/ant-antlr-1.6.jar
+ant/jars/ant-apache-bcel-1.6.2.jar
+ant/jars/ant-apache-bcel-1.6.3.jar
+ant/jars/ant-apache-bcel-1.6.4.jar
+ant/jars/ant-apache-bcel-1.6.5.jar
+ant/jars/ant-apache-bsf-1.6.1.jar
+ant/jars/ant-apache-bsf-1.6.2.jar
+ant/jars/ant-apache-bsf-1.6.3.jar
+ant/jars/ant-apache-bsf-1.6.4.jar
+ant/jars/ant-apache-bsf-1.6.5.jar
+ant/jars/ant-apache-bsf-1.6.jar
+ant/jars/ant-apache-log4j-1.6.2.jar
+ant/jars/ant-apache-log4j-1.6.3.jar
+ant/jars/ant-apache-log4j-1.6.4.jar
+ant/jars/ant-apache-log4j-1.6.5.jar
+ant/jars/ant-apache-oro-1.6.2.jar
+ant/jars/ant-apache-oro-1.6.3.jar
+ant/jars/ant-apache-oro-1.6.4.jar
+ant/jars/ant-apache-regexp-1.6.2.jar
+ant/jars/ant-apache-regexp-1.6.3.jar
+ant/jars/ant-apache-regexp-1.6.4.jar
+ant/jars/ant-apache-regexp-1.6.5.jar
+ant/jars/ant-apache-resolver-1.6.jar
+ant/jars/ant-apache-resolver-1.6.1.jar
+ant/jars/ant-apache-resolver-1.6.2.jar
+ant/jars/ant-apache-resolver-1.6.3.jar
+ant/jars/ant-apache-resolver-1.6.4.jar
+ant/jars/ant-apache-resolver-1.6.5.jar
+ant/jars/ant-commons-logging-1.6.1.jar
+ant/jars/ant-commons-logging-1.6.2.jar
+ant/jars/ant-commons-logging-1.6.3.jar
+ant/jars/ant-commons-logging-1.6.4.jar
+ant/jars/ant-commons-logging-1.6.5.jar
+ant/jars/ant-commons-logging-1.6.jar
+ant/jars/ant-commons-net-1.6.1.jar
+ant/jars/ant-commons-net-1.6.2.jar
+ant/jars/ant-commons-net-1.6.3.jar
+ant/jars/ant-commons-net-1.6.jar
+ant/jars/ant-commons-net-1.6.4.jar
+ant/jars/ant-commons-net-1.6.5.jar
+ant/jars/ant-icontract-1.6.1.jar
+ant/jars/ant-icontract-1.6.2.jar
+ant/jars/ant-icontract-1.6.3.jar
+ant/jars/ant-icontract-1.6.4.jar
+ant/jars/ant-icontract-1.6.5.jar
+ant/jars/ant-icontract-1.6.jar
+ant/jars/ant-jai-1.6.1.jar
+ant/jars/ant-jai-1.6.2.jar
+ant/jars/ant-jai-1.6.3.jar
+ant/jars/ant-jakarta-bcel-1.6.1.jar
+ant/jars/ant-jai-1.6.4.jar
+ant/jars/ant-jai-1.6.5.jar
+ant/jars/ant-jai-1.6.jar
+ant/jars/ant-jakarta-bcel-1.6.jar
+ant/jars/ant-jakarta-log4j-1.6.1.jar
+ant/jars/ant-jakarta-log4j-1.6.jar
+ant/jars/ant-jakarta-oro-1.6.1.jar
+ant/jars/ant-jakarta-oro-1.6.jar
+ant/jars/ant-jakarta-regexp-1.6.1.jar
+ant/jars/ant-jakarta-regexp-1.6.jar
+ant/jars/ant-javamail-1.6.1.jar
+ant/jars/ant-javamail-1.6.2.jar
+ant/jars/ant-javamail-1.6.3.jar
+ant/jars/ant-javamail-1.6.4.jar
+ant/jars/ant-javamail-1.6.5.jar
+ant/jars/ant-javamail-1.6.jar
+ant/jars/ant-jdepend-1.6.1.jar
+ant/jars/ant-jdepend-1.6.2.jar
+ant/jars/ant-jdepend-1.6.jar
+ant/jars/ant-jdepend-1.6.3.jar
+ant/jars/ant-jdepend-1.6.4.jar
+ant/jars/ant-jdepend-1.6.5.jar
+ant/jars/ant-jmf-1.6.1.jar
+ant/jars/ant-jmf-1.6.2.jar
+ant/jars/ant-jmf-1.6.3.jar
+ant/jars/ant-jmf-1.6.4.jar
+ant/jars/ant-jmf-1.6.5.jar
+ant/jars/ant-jmf-1.6.jar
+ant/jars/ant-jsch-1.6.1.jar
+ant/jars/ant-jsch-1.6.2.jar
+ant/jars/ant-jsch-1.6.3.jar
+ant/jars/ant-jsch-1.6.4.jar
+ant/jars/ant-jsch-1.6.5.jar
+ant/jars/ant-jsch-1.6.jar
+ant/jars/ant-junit-1.6.1.jar
+ant/jars/ant-junit-1.6.2.jar
+ant/jars/ant-junit-1.6.3.jar
+ant/jars/ant-junit-1.6.4.jar
+ant/jars/ant-junit-1.6.5.jar
+ant/jars/ant-junit-1.6.jar
+ant/jars/ant-launcher-1.6.1.jar
+ant/jars/ant-launcher-1.6.2.jar
+ant/jars/ant-launcher-1.6.3.jar
+ant/jars/ant-launcher-1.6.4.jar
+ant/jars/ant-launcher-1.6.5.jar
+ant/jars/ant-launcher-1.6.jar
+ant/jars/ant-netrexx-1.6.1.jar
+ant/jars/ant-netrexx-1.6.2.jar
+ant/jars/ant-netrexx-1.6.3.jar
+ant/jars/ant-netrexx-1.6.4.jar
+ant/jars/ant-netrexx-1.6.5.jar
+ant/jars/ant-netrexx-1.6.jar
+ant/jars/ant-nodeps-1.6.1.jar
+ant/jars/ant-nodeps-1.6.2.jar
+ant/jars/ant-nodeps-1.6.3.jar
+ant/jars/ant-nodeps-1.6.4.jar
+ant/jars/ant-nodeps-1.6.5.jar
+ant/jars/ant-nodeps-1.6.jar
+ant/jars/ant-optional-1.4.1.jar
+ant/jars/ant-optional-1.5.1.jar
+ant/jars/ant-optional-1.5.2.jar
+ant/jars/ant-optional-1.5.3-1.jar
+ant/jars/ant-optional-1.5.jar
+ant/jars/ant-starteam-1.6.1.jar
+ant/jars/ant-starteam-1.6.2.jar
+ant/jars/ant-starteam-1.6.3.jar
+ant/jars/ant-starteam-1.6.4.jar
+ant/jars/ant-starteam-1.6.5.jar
+ant/jars/ant-swing-1.6.1.jar
+ant/jars/ant-starteam-1.6.jar
+ant/jars/ant-stylebook-1.6.1.jar
+ant/jars/ant-stylebook-1.6.2.jar
+ant/jars/ant-stylebook-1.6.3.jar
+ant/jars/ant-stylebook-1.6.4.jar
+ant/jars/ant-swing-1.6.5.jar
+ant/jars/ant-stylebook-1.6.5.jar
+ant/jars/ant-stylebook-1.6.jar
+ant/jars/ant-swing-1.6.2.jar
+ant/jars/ant-swing-1.6.3.jar
+ant/jars/ant-swing-1.6.4.jar
+ant/jars/ant-swing-1.6.jar
+ant/jars/ant-trax-1.6.1.jar
+ant/jars/ant-trax-1.6.2.jar
+ant/jars/ant-trax-1.6.3.jar
+ant/jars/ant-trax-1.6.4.jar
+ant/jars/ant-trax-1.6.5.jar
+ant/jars/ant-trax-1.6.jar
+ant/jars/ant-vaj-1.6.1.jar
+ant/jars/ant-vaj-1.6.2.jar
+ant/jars/ant-vaj-1.6.3.jar
+ant/jars/ant-vaj-1.6.4.jar
+ant/jars/ant-vaj-1.6.5.jar
+ant/jars/ant-vaj-1.6.jar
+ant/jars/ant-weblogic-1.6.1.jar
+ant/jars/ant-weblogic-1.6.2.jar
+ant/jars/ant-weblogic-1.6.3.jar
+ant/jars/ant-weblogic-1.6.4.jar
+ant/jars/ant-weblogic-1.6.5.jar
+ant/jars/ant-weblogic-1.6.jar
+ant/jars/ant-xalan1-1.6.1.jar
+ant/jars/ant-xalan1-1.6.2.jar
+ant/jars/ant-xalan1-1.6.3.jar
+ant/jars/ant-xalan1-1.6.4.jar
+ant/jars/ant-xalan1-1.6.5.jar
+ant/jars/ant-xalan1-1.6.jar
+ant/jars/ant-xalan2-1.6.1.jar
+ant/jars/ant-xalan2-1.6.jar
+ant/jars/ant-xslp-1.6.1.jar
+ant/jars/ant-xslp-1.6.2.jar
+ant/jars/ant-xslp-1.6.3.jar
+ant/jars/ant-xslp-1.6.4.jar
+ant/jars/ant-xslp-1.6.5.jar
+ant/jars/ant-xslp-1.6.jar
+ant/jars/optional-1.5.4.jar
+ant-contrib/jars/ant-contrib-20020829.jar
+ant-contrib/jars/cpptasks-20030309.134440.jar
+ant-doxygen/jars/ant-doxygen-1.2.jar
+apache-jaxme/jars/jaxme-incubation-0.2.jar
+apache-jaxme/jars/jaxme-rt-incubation-0.2.jar
+apache-jaxme/jars/jaxmeapi-incubation-0.2.jar
+apache-jaxme/jars/jaxmejs-incubation-0.2.jar
+apache-jaxme/jars/jaxmepm-incubation-0.2.jar
+apache-jaxme/jars/jaxmexs-incubation-0.2.jar
+avalon/jars/avalon-activation-1.0.jar
+avalon/jars/avalon-activation-spi-1.0.jar
+avalon/jars/avalon-assembly-1.0.jar
+avalon/jars/avalon-assembly-spi-1.0.jar
+avalon/jars/avalon-composition-1.0.jar
+avalon/jars/avalon-meta-1.0.jar
+avalon/jars/avalon-composition-spi-1.0.jar
+avalon/jars/avalon-framework-4.1.4.jar
+avalon/jars/avalon-framework-api-4.1.4.jar
+avalon/jars/avalon-logkit-1.2.2.jar
+avalon/jars/avalon-logkit-1.2.jar
+avalon/jars/avalon-meta-spi-1.0.jar
+avalon/jars/avalon-meta-tools-1.0.jar
+avalon-activation/jars/avalon-activation-api-1.0-beta-1-RC1.jar
+avalon-activation/jars/avalon-activation-api-1.0b1.jar
+avalon-activation/jars/avalon-activation-api-1.1-dev.jar
+avalon-activation/jars/avalon-activation-api-1.2-dev.jar
+avalon-activation/jars/avalon-activation-api-1.2.1-dev.jar
+avalon-activation/jars/avalon-activation-api-1.2.1.jar
+avalon-activation/jars/avalon-activation-api-1.2.2.jar
+avalon-activation/jars/avalon-activation-api-2.0-DEV.jar
+avalon-activation/jars/avalon-activation-api-2.0.0.jar
+avalon-activation/jars/avalon-activation-impl-1.0-beta-1-RC1.jar
+avalon-activation/jars/avalon-activation-impl-1.0b1.jar
+avalon-activation/jars/avalon-activation-impl-1.0b2.jar
+avalon-activation/jars/avalon-activation-impl-1.1-dev.jar
+avalon-activation/jars/avalon-activation-impl-1.2-dev.jar
+avalon-activation/jars/avalon-activation-impl-1.2.1-dev.jar
+avalon-activation/jars/avalon-activation-impl-1.2.2-dev.jar
+avalon-activation/jars/avalon-activation-impl-1.2.3-dev.jar
+avalon-activation/jars/avalon-activation-impl-1.2.3.jar
+avalon-activation/jars/avalon-activation-impl-1.2.4.jar
+avalon-activation/jars/avalon-activation-impl-1.2.5.jar
+avalon-activation/jars/avalon-activation-impl-1.2.6.jar
+avalon-activation/jars/avalon-activation-impl-2.0-DEV.jar
+avalon-activation/jars/avalon-activation-impl-2.0.0.jar
+avalon-activation/jars/avalon-activation-spi-1.0-beta-1-RC1.jar
+avalon-activation/jars/avalon-activation-spi-1.0b1.jar
+avalon-activation/jars/avalon-activation-spi-1.1-dev.jar
+avalon-activation/jars/avalon-activation-spi-1.2-dev.jar
+avalon-activation/jars/avalon-activation-spi-1.2.1-dev.jar
+avalon-activation/jars/avalon-activation-spi-1.2.2-dev.jar
+avalon-activation/jars/avalon-activation-spi-1.2.2.jar
+avalon-activation/jars/avalon-activation-spi-2.0-DEV.jar
+avalon-apps/jars/avalon-apps-hsql-0.1.jar
+avalon-apps/jars/avalon-apps-sevak-api-0.1.jar
+avalon-apps/jars/avalon-apps-sevak-jo-0.1.jar
+avalon-composition/jars/avalon-composition-api-1.0-beta-1-RC1.jar
+avalon-composition/jars/avalon-composition-api-1.0b1.jar
+avalon-composition/jars/avalon-composition-api-1.1-dev.jar
+avalon-composition/jars/avalon-composition-api-1.2-dev.jar
+avalon-composition/jars/avalon-composition-api-1.2.1-dev.jar
+avalon-composition/jars/avalon-composition-api-1.2.1.jar
+avalon-composition/jars/avalon-composition-api-1.2.2.jar
+avalon-composition/jars/avalon-composition-api-1.2.3.jar
+avalon-composition/jars/avalon-composition-api-2.0-DEV.jar
+avalon-composition/jars/avalon-composition-api-2.0.0.jar
+avalon-composition/jars/avalon-composition-impl-1.0-beta-1-RC1.jar
+avalon-composition/jars/avalon-composition-impl-1.0b1.jar
+avalon-composition/jars/avalon-composition-impl-1.1-dev.jar
+avalon-composition/jars/avalon-composition-impl-1.2-dev.jar
+avalon-composition/jars/avalon-composition-impl-1.2.1-dev.jar
+avalon-composition/jars/avalon-composition-impl-1.2.2-dev.jar
+avalon-composition/jars/avalon-composition-impl-1.2.2.jar
+avalon-composition/jars/avalon-composition-impl-1.2.3.jar
+avalon-composition/jars/avalon-composition-impl-1.2.4.jar
+avalon-composition/jars/avalon-composition-impl-1.2.5.jar
+avalon-composition/jars/avalon-composition-impl-2.0-DEV.jar
+avalon-composition/jars/avalon-composition-impl-2.0.0.jar
+avalon-composition/jars/avalon-composition-spi-1.0-beta-1-RC1.jar
+avalon-composition/jars/avalon-composition-spi-1.0b1.jar
+avalon-composition/jars/avalon-composition-spi-1.1-dev.jar
+avalon-composition/jars/avalon-composition-spi-1.2-dev.jar
+avalon-composition/jars/avalon-composition-spi-1.2.1-dev.jar
+avalon-composition/jars/avalon-composition-spi-1.2.1.jar
+avalon-composition/jars/avalon-composition-spi-2.0-DEV.jar
+avalon-composition/jars/avalon-composition-spi-2.0.0.jar
+avalon-cornerstone/jars/avalon-cornerstone-4.0.jar
+avalon-extension/jars/avalon-extension-impl-1.0-RC1.jar
+avalon-extension/jars/avalon-extension-impl-1.0.jar
+avalon-extension/jars/avalon-extension-impl-1.1.jar
+avalon-extension/jars/avalon-extension-spi-1.0-RC1.jar
+avalon-extension/jars/avalon-extension-spi-1.0.jar
+avalon-extension/jars/avalon-extension-spi-1.1.jar
+avalon-framework/distributions/avalon-framework-4.1.5-RC3-src.tar.gz
+avalon-framework/distributions/avalon-framework-4.1.5-RC3-src.zip
+avalon-framework/distributions/avalon-framework-4.1.5-RC3.tar.gz
+avalon-framework/distributions/avalon-framework-4.1.5-RC3.zip
+avalon-framework/distributions/avalon-framework-4.1.5.src.tar.gz
+avalon-framework/distributions/avalon-framework-4.1.5.src.zip
+avalon-framework/distributions/avalon-framework-4.1.5.tar.gz
+avalon-framework/distributions/avalon-framework-4.1.5.zip
+avalon-framework/jars/avalon-framework-20020627.jar
+avalon-framework/jars/avalon-framework-4.0.jar
+avalon-framework/jars/avalon-framework-4.1.3.jar
+avalon-framework/jars/avalon-framework-4.1.4.jar
+avalon-framework/jars/avalon-framework-4.1.5-RC2.jar
+avalon-framework/jars/avalon-framework-4.1.5-dev.jar
+avalon-framework/jars/avalon-framework-4.1.5.jar
+avalon-framework/jars/avalon-framework-api-4.1.5-RC2.jar
+avalon-framework/jars/avalon-framework-api-4.1.5-RC3.jar
+avalon-framework/jars/avalon-framework-api-4.1.5-dev.jar
+avalon-framework/jars/avalon-framework-api-4.1.5.jar
+avalon-framework/jars/avalon-framework-api-4.2.0.jar
+avalon-framework/jars/avalon-framework-api-4.3.jar
+avalon-framework/jars/avalon-framework-impl-4.1.5-RC2.jar
+avalon-framework/jars/avalon-framework-impl-4.1.5-RC3.jar
+avalon-framework/jars/avalon-framework-impl-4.1.5-dev.jar
+avalon-framework/jars/avalon-framework-impl-4.1.5.jar
+avalon-framework/jars/avalon-framework-impl-4.2.0.jar
+avalon-framework/jars/avalon-framework-impl-4.3.jar
+avalon-framework/poms/avalon-framework-api-4.3.pom
+avalon-framework/poms/avalon-framework-impl-4.3.pom
+avalon-http/blocks/avalon-http-1.3.block
+avalon-http/jars/avalon-http-api-1.3.jar
+avalon-http/jars/avalon-http-impl-1.3.jar
+avalon-logging/jars/avalon-logging-api-1.0.0.jar
+avalon-logging/jars/avalon-logging-impl-1.0.0.jar
+avalon-logging/jars/avalon-logging-logkit-api-1.0.0.jar
+avalon-logging/jars/avalon-logging-logkit-impl-1.0.0.jar
+avalon-logging/jars/avalon-logging-spi-1.0.0.jar
+avalon-logkit/jars/avalon-logkit-2.0.0.jar
+avalon-logkit/jars/avalon-logkit-2.0.jar
+avalon-logkit/jars/avalon-logkit-2.1.jar
+avalon-logkit/poms/avalon-logkit-2.1.pom
+avalon-meta/distributions/1.1/avalon-meta-1.1-src.tar.gz
+avalon-meta/distributions/1.1/avalon-meta-1.1-src.zip
+avalon-meta/distributions/1.1/avalon-meta-1.1.tar.gz
+avalon-meta/distributions/1.1/avalon-meta-1.1.zip
+avalon-meta/distributions/1.3/avalon-meta-1.3-src.tar.gz.MD5
+avalon-meta/distributions/1.3/avalon-meta-1.3-src.tar.gz
+avalon-meta/distributions/1.3/avalon-meta-1.3-src.zip.MD5
+avalon-meta/distributions/1.3/avalon-meta-1.3-src.zip
+avalon-meta/distributions/1.3/avalon-meta-1.3.tar.gz.MD5
+avalon-meta/distributions/1.3/avalon-meta-1.3.tar.gz
+avalon-meta/distributions/1.3/avalon-meta-1.3.zip.MD5
+avalon-meta/distributions/1.3/avalon-meta-1.3.zip
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.tar.gz.MD5
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.tar.gz
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.zip.MD5
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1-src.zip
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.tar.gz.MD5
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.tar.gz
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.zip.MD5
+avalon-meta/distributions/1.3.1/avalon-meta-1.3.1.zip
+avalon-meta/jars/avalon-meta-api-1.2.1-dev.jar
+avalon-meta/jars/avalon-meta-api-1.1-RC1.jar
+avalon-meta/jars/avalon-meta-api-1.1.jar
+avalon-meta/jars/avalon-meta-api-1.2-dev.jar
+avalon-meta/jars/avalon-meta-api-1.4.0.jar
+avalon-meta/jars/avalon-meta-api-1.3.jar
+avalon-meta/jars/avalon-meta-spi-1.2.1-dev.jar
+avalon-meta/jars/avalon-meta-impl-1.1-RC1.jar
+avalon-meta/jars/avalon-meta-impl-1.1.jar
+avalon-meta/jars/avalon-meta-impl-1.2-dev.jar
+avalon-meta/jars/avalon-meta-spi-1.2-dev.jar
+avalon-meta/jars/avalon-meta-impl-1.2.1-dev.jar
+avalon-meta/jars/avalon-meta-impl-1.3.1.jar
+avalon-meta/jars/avalon-meta-impl-1.3.jar
+avalon-meta/jars/avalon-meta-impl-1.4.0.jar
+avalon-meta/jars/avalon-meta-plugin-1.1.jar
+avalon-meta/jars/avalon-meta-plugin-1.2.jar
+avalon-meta/jars/avalon-meta-plugin-1.3.1.jar
+avalon-meta/jars/avalon-meta-plugin-1.3.2.jar
+avalon-meta/jars/avalon-meta-plugin-1.3.jar
+avalon-meta/jars/avalon-meta-spi-1.1-RC1.jar
+avalon-meta/jars/avalon-meta-spi-1.1.jar
+avalon-meta/jars/avalon-meta-spi-1.4.0.jar
+avalon-meta/jars/avalon-meta-spi-1.3.jar
+avalon-meta/jars/avalon-meta-tools-1.1-RC1.jar
+avalon-meta/jars/avalon-meta-tools-1.1.jar
+avalon-meta/jars/avalon-meta-tools-1.2-dev.jar
+avalon-meta/jars/avalon-meta-tools-1.2.1-dev.jar
+avalon-meta/jars/avalon-meta-tools-1.3.1.jar
+avalon-meta/jars/avalon-meta-tools-1.3.jar
+avalon-meta/jars/avalon-meta-tools-1.4.0.jar
+avalon-meta/plugins/avalon-meta-plugin-1.3.1.jar
+avalon-meta/plugins/avalon-meta-plugin-1.1.jar
+avalon-meta/plugins/avalon-meta-plugin-1.2.jar
+avalon-meta/plugins/avalon-meta-plugin-1.3.2.jar
+avalon-meta/plugins/avalon-meta-plugin-1.3.jar
+avalon-meta/plugins/avalon-meta-plugin-1.4.0.jar
+avalon-phoenix/jars/avalon-phoenix-bsh-commands-4.0.4.jar
+avalon-phoenix/jars/avalon-phoenix-client-4.0.4.jar
+avalon-phoenix/jars/avalon-phoenix-client-4.0.jar
+avalon-phoenix/jars/avalon-phoenix-engine-4.0.4.jar
+avalon-phoenix/jars/avalon-phoenix-loader-4.0.4.jar
+avalon-phoenix/jars/avalon-phoenix-metagenerate-4.0.jar
+avalon-repository/distributions/1.2/avalon-repository-1.2-src.tar.gz.MD5
+avalon-repository/distributions/1.2/avalon-repository-1.2-src.tar.gz
+avalon-repository/distributions/1.2/avalon-repository-1.2-src.zip.MD5
+avalon-repository/distributions/1.2/avalon-repository-1.2-src.zip
+avalon-repository/distributions/1.2/avalon-repository-1.2.tar.gz.MD5
+avalon-repository/distributions/1.2/avalon-repository-1.2.tar.gz
+avalon-repository/distributions/1.2/avalon-repository-1.2.zip.MD5
+avalon-repository/distributions/1.2/avalon-repository-1.2.zip
+avalon-repository/jars/avalon-repository-api-1.2-dev.jar
+avalon-repository/jars/avalon-repository-api-1.2.jar
+avalon-repository/jars/avalon-repository-api-2.0.0.jar
+avalon-repository/jars/avalon-repository-cli-2.0.0.jar
+avalon-repository/jars/avalon-repository-impl-1.2.jar
+avalon-repository/jars/avalon-repository-impl-1.0-beta-1-RC1.jar
+avalon-repository/jars/avalon-repository-impl-1.0b1.jar
+avalon-repository/jars/avalon-repository-impl-1.1-dev.jar
+avalon-repository/jars/avalon-repository-impl-1.2-dev.jar
+avalon-repository/jars/avalon-repository-impl-2.0.0.jar
+avalon-repository/jars/avalon-repository-main-1.2-dev.jar
+avalon-repository/jars/avalon-repository-main-1.2.jar
+avalon-repository/jars/avalon-repository-main-2.0.0.jar
+avalon-repository/jars/avalon-repository-spi-1.0-beta-1-RC1.jar
+avalon-repository/jars/avalon-repository-spi-1.0b1.jar
+avalon-repository/jars/avalon-repository-spi-1.1-dev.jar
+avalon-repository/jars/avalon-repository-spi-1.2-dev.jar
+avalon-repository/jars/avalon-repository-spi-1.2.jar
+avalon-repository/jars/avalon-repository-spi-2.0.0.jar
+avalon-repository/jars/avalon-repository-util-1.2-dev.jar
+avalon-repository/jars/avalon-repository-util-1.2.jar
+avalon-repository/jars/avalon-repository-util-2.0.0.jar
+avalon-repository/propertiess/repository.properties
+avalon-util/distributions/1.0/avalon-util-1.0-src.tar.gz.MD5
+avalon-util/distributions/1.0/avalon-util-1.0-src.tar.gz
+avalon-util/distributions/1.0/avalon-util-1.0-src.zip.MD5
+avalon-util/distributions/1.0/avalon-util-1.0-src.zip
+avalon-util/distributions/1.0/avalon-util-1.0.tar.gz.MD5
+avalon-util/distributions/1.0/avalon-util-1.0.tar.gz
+avalon-util/distributions/1.0/avalon-util-1.0.zip.MD5
+avalon-util/distributions/1.0/avalon-util-1.0.zip
+avalon-util/jars/avalon-util-criteria-1.0-dev.jar
+avalon-util/jars/avalon-plugin-1.0-dev.jar
+avalon-util/jars/avalon-plugin-1.0.jar
+avalon-util/jars/avalon-util-criteria-1.0.jar
+avalon-util/jars/avalon-util-criteria-1.1.0.jar
+avalon-util/jars/avalon-util-defaults-1.0-dev.jar
+avalon-util/jars/avalon-util-defaults-1.1-dev.jar
+avalon-util/jars/avalon-util-defaults-1.1.jar
+avalon-util/jars/avalon-util-defaults-1.2.1.jar
+avalon-util/jars/avalon-util-env-1.0-dev.jar
+avalon-util/jars/avalon-util-env-1.0.jar
+avalon-util/jars/avalon-util-env-1.1.1.jar
+avalon-util/jars/avalon-util-exception-1.0-dev.jar
+avalon-util/jars/avalon-util-exception-1.0.0.jar
+avalon-util/jars/avalon-util-exception-1.0.jar
+avalon-util/jars/avalon-util-extension-api-1.2.0.jar
+avalon-util/jars/avalon-util-extension-impl-1.2.0.jar
+avalon-util/jars/avalon-util-i18n-1.0.0.jar
+avalon-util/plugins/avalon-util-plugin-1.0.0.jar
+avalon-util/plugins/avalon-plugin-1.0-dev.jar
+avalon-util/plugins/avalon-plugin-1.0.jar
+axis/jars/axis-1.0.jar
+axis/jars/axis-1.1-beta.jar
+axis/jars/axis-1.1.jar
+axis/jars/axis-1.2-RC1.jar
+axis/jars/axis-1.2-RC2.jar
+axis/jars/axis-1.2-RC3.jar
+axis/jars/axis-1.2-beta-2.jar
+axis/jars/axis-1.2-alpha-1.jar
+axis/jars/axis-1.2-beta-3.jar
+axis/jars/axis-1.2.1.jar
+axis/jars/axis-1.2.jar
+axis/jars/axis-1.3.jar
+axis/jars/axis-1.4.jar
+axis/jars/axis-1.4.jar.sha
+axis/jars/axis-ant-1.1.jar
+axis/jars/axis-ant-1.2-RC1.jar
+axis/jars/axis-ant-1.2.1.jar
+axis/jars/axis-ant-1.2-RC2.jar
+axis/jars/axis-ant-1.2-RC3.jar
+axis/jars/axis-ant-1.2-beta-2.jar
+axis/jars/axis-ant-1.2-beta-3.jar
+axis/jars/axis-ant-1.2.jar
+axis/jars/axis-ant-1.3.jar
+axis/jars/axis-ant-1.4.jar
+axis/jars/axis-jaxrpc-1.2.jar
+axis/jars/axis-ant-1.4.jar.sha
+axis/jars/axis-jaxrpc-1.2-RC1.jar
+axis/jars/axis-jaxrpc-1.2-RC2.jar
+axis/jars/axis-jaxrpc-1.2-RC3.jar
+axis/jars/axis-jaxrpc-1.2-alpha-1.jar
+axis/jars/axis-jaxrpc-1.2-beta-2.jar
+axis/jars/axis-jaxrpc-1.2-beta-3.jar
+axis/jars/axis-jaxrpc-1.2.1.jar
+axis/jars/axis-jaxrpc-1.3.jar
+axis/jars/axis-jaxrpc-1.4.jar
+axis/jars/axis-jaxrpc-1.4.jar.sha
+axis/jars/axis-saaj-1.2-RC1.jar
+axis/jars/axis-saaj-1.2-RC2.jar
+axis/jars/axis-saaj-1.2-RC3.jar
+axis/jars/axis-saaj-1.2-alpha-1.jar
+axis/jars/axis-saaj-1.2-beta-2.jar
+axis/jars/axis-saaj-1.2-beta-3.jar
+axis/jars/axis-saaj-1.2.1.jar
+axis/jars/axis-saaj-1.2.jar
+axis/jars/axis-saaj-1.3.jar
+axis/jars/axis-saaj-1.4.jar
+axis/jars/axis-saaj-1.4.jar.sha
+axis/jars/axis-schema-1.3.jar
+axis/jars/axis-wsdl4j-1.2-RC1.jar
+axis/jars/axis-wsdl4j-1.2-RC2.jar
+axis/jars/axis-wsdl4j-1.2-RC3.jar
+axis/jars/axis-wsdl4j-1.2-beta-2.jar
+axis/jars/axis-wsdl4j-1.2-beta-3.jar
+axis/jars/axis-wsdl4j-1.2.1.jar
+axis/jars/axis-wsdl4j-1.2.jar
+axis/jars/axis-wsdl4j-1.3.jar
+axis/poms/axis-1.2.1.pom
+axis2/jars/addressing-0.94.mar
+axis2/jars/axis2-0.9.jar
+axis2/jars/axis2-0.95.jar
+axis2/jars/axis2-1.0.jar
+axis2/jars/axis2-adb-0.94.jar
+axis2/jars/axis2-adb-0.95.jar
+axis2/jars/axis2-adb-1.0.jar
+axis2/jars/axis2-codegen-0.94.jar
+axis2/jars/axis2-codegen-0.95.jar
+axis2/jars/axis2-codegen-1.0.jar
+axis2/jars/axis2-core-0.94.jar
+axis2/jars/axis2-doom-0.94.jar
+axis2/jars/axis2-doom-0.95.jar
+axis2/jars/axis2-java2wsdl-1.0.jar
+axis2/jars/axis2-jibx-1.0.jar
+axis2/jars/axis2-kernel-0.95.jar
+axis2/jars/axis2-kernel-1.0.jar
+axis2/jars/axis2-xmlbeans-1.0.jar
+axis2/mars/addressing-0.94.mar
+axis2/mars/addressing-0.95.mar
+axis2/mars/addressing-1.0.mar
+axis2/mars/rampart-1.0.mar
+axis2/mars/security-0.95.mar
+axis2/mars/soapmonitor-1.0.mar
+batik/jars/batik-1.1.1.jar
+batik/jars/batik-1.5.jar
+batik/jars/batik-awt-util-1.5.jar
+batik/jars/batik-awt-util-1.6.jar
+batik/jars/batik-bridge-1.5.jar
+batik/jars/batik-bridge-1.6.jar
+batik/jars/batik-css-1.5.jar
+batik/jars/batik-css-1.6.jar
+batik/jars/batik-dom-1.5.jar
+batik/jars/batik-dom-1.6.jar
+batik/jars/batik-ext-1.5.jar
+batik/jars/batik-ext-1.6.jar
+batik/jars/batik-extension-1.5.jar
+batik/jars/batik-extension-1.6.jar
+batik/jars/batik-gui-util-1.5.jar
+batik/jars/batik-gui-util-1.6.jar
+batik/jars/batik-gvt-1.5.jar
+batik/jars/batik-gvt-1.6.jar
+batik/jars/batik-parser-1.5.jar
+batik/jars/batik-parser-1.6.jar
+batik/jars/batik-rasterizer-1.5.jar
+batik/jars/batik-rasterizer-1.6.jar
+batik/jars/batik-script-1.5.jar
+batik/jars/batik-rasterizer-ext-1.6.jar
+batik/jars/batik-rasterizer-ext.jar
+batik/jars/batik-script-1.6.jar
+batik/jars/batik-slideshow-1.6.jar
+batik/jars/batik-squiggle-1.6.jar
+batik/jars/batik-squiggle-ext-1.6.jar
+batik/jars/batik-squiggle-ext.jar
+batik/jars/batik-svg-dom-1.5.jar
+batik/jars/batik-svg-dom-1.6.jar
+batik/jars/batik-svggen-1.5.jar
+batik/jars/batik-svggen-1.6.jar
+batik/jars/batik-svgpp-1.6.jar
+batik/jars/batik-swing-1.5.jar
+batik/jars/batik-swing-1.6.jar
+batik/jars/batik-transcoder-1.5.jar
+batik/jars/batik-transcoder-1.6.jar
+batik/jars/batik-ttf2svg-1.6.jar
+batik/jars/batik-util-1.5.jar
+batik/jars/batik-util-1.6.jar
+batik/jars/batik-xml-1.5.jar
+batik/jars/batik-xml-1.6.jar
+batik/poms/batik-awt-util-1.6.pom
+batik/poms/batik-bridge-1.6.pom
+batik/poms/batik-css-1.6.pom
+batik/poms/batik-dom-1.6.pom
+batik/poms/batik-ext-1.6.pom
+batik/poms/batik-extension-1.6.pom
+batik/poms/batik-gvt-1.6.pom
+batik/poms/batik-gui-util-1.6.pom
+batik/poms/batik-parser-1.6.pom
+batik/poms/batik-rasterizer-1.6.pom
+batik/poms/batik-rasterizer-ext-1.6.pom
+batik/poms/batik-script-1.6.pom
+batik/poms/batik-slideshow-1.6.pom
+batik/poms/batik-squiggle-1.6.pom
+batik/poms/batik-squiggle-ext-1.6.pom
+batik/poms/batik-svg-dom-1.6.pom
+batik/poms/batik-svggen-1.6.pom
+batik/poms/batik-svgpp-1.6.pom
+batik/poms/batik-swing-1.6.pom
+batik/poms/batik-transcoder-1.6.pom
+batik/poms/batik-ttf2svg-1.6.pom
+batik/poms/batik-util-1.6.pom
+batik/poms/batik-xml-1.6.pom
+bsf/jars/bsf-2.2.jar
+bsf/jars/bsf-2.3.0-rc1.jar
+bcel/jars/bcel-5.0.jar
+bcel/jars/bcel-5.1.jar
+beehive/jars/apache-xbean-beehive-1.0-alpha.jar
+beehive/jars/beehive-netui-compiler-1.0-alpha.jar
+beehive/jars/beehive-netui-pageflow-1.0-alpha.jar
+beehive/jars/beehive-netui-scoping-1.0-alpha.jar
+beehive/jars/controls-1.0-alpha.jar
+beehive/jars/beehive-netui-tags-databinding-1.0-alpha.jar
+beehive/jars/beehive-netui-tags-html-1.0-alpha.jar
+beehive/jars/beehive-netui-tags-template-1.0-alpha.jar
+beehive/jars/beehive-netui-util-1.0-alpha.jar
+beehive/jars/wsdltypes-beehive-1.0-alpha.jar
+beehive/jars/wsm-1.0-alpha.jar
+beehive/jars/wsm-axis-1.0-alpha.jar
+beehive/poms/beehive-controls-1.0.pom
+beehive/tlds/beehive-netui-tags-databinding-1.0-alpha.tld
+beehive/tlds/beehive-netui-tags-html-1.0-alpha.tld
+beehive/tlds/beehive-netui-tags-template-1.0-alpha.tld
+beehive/xmls/buildWebappCore.xml
+beehive/xmls/buildWebapp.xml
+beehive/xmls/webappRuntimeCore.xml
+beehive/xmls/runTomcatCore.xml
+cactus/distributions/jakarta-cactus-1.5-beta1-src.zip
+cactus/distributions/jakarta-cactus-12-1.5-beta1.zip
+cactus/distributions/jakarta-cactus-13-1.5-beta1.zip
+cactus/jars/cactus-1.4b1.jar
+cactus/jars/cactus-12-1.4.1.jar
+cactus/jars/cactus-12-1.5-beta1.jar
+cactus/jars/cactus-12-1.7.1.jar
+cactus/jars/cactus-12-1.7.2.jar
+cactus/jars/cactus-13-1.4.1.jar
+cactus/jars/cactus-13-1.5-beta1.jar
+cactus/jars/cactus-13-1.5-rc1.jar
+cactus/jars/cactus-13-1.5dev-20030522.jar
+cactus/jars/cactus-13-1.5dev-20030607.jar
+cactus/jars/cactus-13-1.5dev-20030619.jar
+cactus/jars/cactus-13-1.6.1.jar
+cactus/jars/cactus-13-1.6dev-20030807.jar
+cactus/jars/cactus-13-1.6.jar
+cactus/jars/cactus-13-1.6dev-20030809.jar
+cactus/jars/cactus-13-1.6dev-20030829.jar
+cactus/jars/cactus-13-1.6dev-20040115.jar
+cactus/jars/cactus-13-1.7.1.jar
+cactus/jars/cactus-13-1.7.2.jar
+cactus/jars/cactus-ant-13-1.6.1.jar
+cactus/jars/cactus-ant-13-1.6.jar
+cactus/jars/cactus-13-1.7.jar
+cactus/jars/cactus-13-1.7dev-20040815.jar
+cactus/jars/cactus-ant-1.4.1.jar
+cactus/jars/cactus-ant-12-1.5-beta1.jar
+cactus/jars/cactus-ant-12-1.7.1.jar
+cactus/jars/cactus-ant-12-1.7.2.jar
+cactus/jars/cactus-ant-13-1.5-beta1.jar
+cactus/jars/cactus-ant-13-1.5-rc1.jar
+cactus/jars/cactus-ant-13-1.5dev-20030522.jar
+cactus/jars/cactus-ant-13-1.5dev-20030607.jar
+cactus/jars/cactus-ant-13-1.5dev-20030619.jar
+cactus/jars/cactus-ant-13-1.6dev-20030807.jar
+cactus/jars/cactus-ant-13-1.6dev-20030809.jar
+cactus/jars/cactus-ant-13-1.6dev-20030829.jar
+cactus/jars/cactus-ant-13-1.6dev-20040115.jar
+cactus/jars/cactus-ant-13-1.7.1.jar
+cactus/jars/cactus-ant-13-1.7dev-20040815.jar
+cactus/jars/cactus-ant-13-1.7.2.jar
+cactus/jars/cactus-ant-13-1.7.jar
+cactus/jars/cactus-framework-13-1.5dev-20030322.jar
+cactus/jars/cactus-framework-13-1.5dev-20030407.jar
+cactus/jars/cactus-integration-ant-1.5dev-20030322.jar
+cactus/jars/cactus-integration-ant-1.5dev-20030407.jar
+cactus/plugins/cactus-maven-1.6.1.jar
+cactus/plugins/cactus-maven-1.6.jar
+cactus/plugins/cactus-maven-1.6dev-20031031.jar
+cactus/plugins/cactus-maven-1.6dev-20040115.jar
+cactus/plugins/cactus-maven-1.7.1.jar
+cactus/plugins/cactus-maven-1.7dev-20040815.jar
+cactus/plugins/cactus-maven-1.7.2.jar
+cactus/plugins/cactus-maven-1.7.jar
+cactus/poms/cactus-maven-1.7.1.pom
+cactus/poms/cactus-maven-1.7.2.pom
+cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030325.zip
+cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030329.zip
+cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030407.zip
+cactus/zips/jakarta-cactus-integration-ant-13-1.5dev-20030426.zip
+cocoon/jars/cocoon-2.1.3.jar
+cocoon/jars/cocoon-2.1.4.jar
+cocoon/jars/cocoon-2.1.5.1-deprecated.jar
+cocoon/jars/cocoon-2.1.5.1.jar
+cocoon/jars/cocoon-2.1.6.jar
+cocoon/jars/cocoon-2.1.7.jar
+cocoon/jars/cocoon-2.1.8.jar
+cocoon/jars/cocoon-2.1.9.jar
+cocoon/jars/cocoon-ajax-2.1.8.jar
+cocoon/jars/cocoon-ajax-2.1.9.jar
+cocoon/jars/cocoon-apples-2.1.3.jar
+cocoon/jars/cocoon-apples-2.1.4.jar
+cocoon/jars/cocoon-apples-2.1.5.1.jar
+cocoon/jars/cocoon-apples-2.1.6.jar
+cocoon/jars/cocoon-apples-2.1.7.jar
+cocoon/jars/cocoon-apples-2.1.8.jar
+cocoon/jars/cocoon-apples-2.1.9.jar
+cocoon/jars/cocoon-asciiart-2.1.3.jar
+cocoon/jars/cocoon-asciiart-2.1.4.jar
+cocoon/jars/cocoon-asciiart-2.1.5.1.jar
+cocoon/jars/cocoon-asciiart-2.1.6.jar
+cocoon/jars/cocoon-asciiart-2.1.7.jar
+cocoon/jars/cocoon-asciiart-2.1.8.jar
+cocoon/jars/cocoon-asciiart-2.1.9.jar
+cocoon/jars/cocoon-authentication-fw-2.1.3.jar
+cocoon/jars/cocoon-authentication-fw-2.1.4.jar
+cocoon/jars/cocoon-authentication-fw-2.1.5.1.jar
+cocoon/jars/cocoon-authentication-fw-2.1.6.jar
+cocoon/jars/cocoon-authentication-fw-2.1.7.jar
+cocoon/jars/cocoon-authentication-fw-2.1.8.jar
+cocoon/jars/cocoon-authentication-fw-2.1.9.jar
+cocoon/jars/cocoon-axis-2.1.3.jar
+cocoon/jars/cocoon-axis-2.1.4.jar
+cocoon/jars/cocoon-axis-2.1.5.1.jar
+cocoon/jars/cocoon-axis-2.1.6.jar
+cocoon/jars/cocoon-axis-2.1.7.jar
+cocoon/jars/cocoon-axis-2.1.8.jar
+cocoon/jars/cocoon-axis-2.1.9.jar
+cocoon/jars/cocoon-batik-2.1.3.jar
+cocoon/jars/cocoon-batik-2.1.4.jar
+cocoon/jars/cocoon-batik-2.1.5.1.jar
+cocoon/jars/cocoon-batik-2.1.6.jar
+cocoon/jars/cocoon-batik-2.1.7.jar
+cocoon/jars/cocoon-batik-2.1.8.jar
+cocoon/jars/cocoon-batik-2.1.9.jar
+cocoon/jars/cocoon-bsf-2.1.3.jar
+cocoon/jars/cocoon-bsf-2.1.4.jar
+cocoon/jars/cocoon-bsf-2.1.5.1.jar
+cocoon/jars/cocoon-bsf-2.1.6.jar
+cocoon/jars/cocoon-bsf-2.1.7.jar
+cocoon/jars/cocoon-bsf-2.1.8.jar
+cocoon/jars/cocoon-bsf-2.1.9.jar
+cocoon/jars/cocoon-captcha-2.1.8.jar
+cocoon/jars/cocoon-captcha-2.1.9.jar
+cocoon/jars/cocoon-chaperon-2.1.3.jar
+cocoon/jars/cocoon-chaperon-2.1.4.jar
+cocoon/jars/cocoon-chaperon-2.1.5.1.jar
+cocoon/jars/cocoon-chaperon-2.1.6.jar
+cocoon/jars/cocoon-chaperon-2.1.7.jar
+cocoon/jars/cocoon-chaperon-2.1.8.jar
+cocoon/jars/cocoon-chaperon-2.1.9.jar
+cocoon/jars/cocoon-cron-2.1.3.jar
+cocoon/jars/cocoon-cron-2.1.4.jar
+cocoon/jars/cocoon-cron-2.1.5.1.jar
+cocoon/jars/cocoon-cron-2.1.6.jar
+cocoon/jars/cocoon-cron-2.1.7.jar
+cocoon/jars/cocoon-cron-2.1.8.jar
+cocoon/jars/cocoon-cron-2.1.9.jar
+cocoon/jars/cocoon-databases-2.1.3.jar
+cocoon/jars/cocoon-databases-2.1.4.jar
+cocoon/jars/cocoon-databases-2.1.5.1.jar
+cocoon/jars/cocoon-databases-2.1.6.jar
+cocoon/jars/cocoon-databases-2.1.7.jar
+cocoon/jars/cocoon-deli-2.1.6.jar
+cocoon/jars/cocoon-databases-2.1.8.jar
+cocoon/jars/cocoon-databases-2.1.9.jar
+cocoon/jars/cocoon-deli-2.1.3.jar
+cocoon/jars/cocoon-deli-2.1.4.jar
+cocoon/jars/cocoon-deli-2.1.5.1.jar
+cocoon/jars/cocoon-deli-2.1.7.jar
+cocoon/jars/cocoon-deli-2.1.8.jar
+cocoon/jars/cocoon-deli-2.1.9.jar
+cocoon/jars/cocoon-deprecated-2.1.3.jar
+cocoon/jars/cocoon-deprecated-2.1.4.jar
+cocoon/jars/cocoon-deprecated-2.1.6.jar
+cocoon/jars/cocoon-deprecated-2.1.5.1.jar
+cocoon/jars/cocoon-deprecated-2.1.7.jar
+cocoon/jars/cocoon-deprecated-2.1.8.jar
+cocoon/jars/cocoon-deprecated-2.1.9.jar
+cocoon/jars/cocoon-eventcache-2.1.3.jar
+cocoon/jars/cocoon-eventcache-2.1.4.jar
+cocoon/jars/cocoon-eventcache-2.1.5.1.jar
+cocoon/jars/cocoon-eventcache-2.1.6.jar
+cocoon/jars/cocoon-eventcache-2.1.7.jar
+cocoon/jars/cocoon-eventcache-2.1.8.jar
+cocoon/jars/cocoon-eventcache-2.1.9.jar
+cocoon/jars/cocoon-faces-2.1.6.jar
+cocoon/jars/cocoon-faces-2.1.7.jar
+cocoon/jars/cocoon-faces-2.1.8.jar
+cocoon/jars/cocoon-faces-2.1.9.jar
+cocoon/jars/cocoon-fop-2.1.3.jar
+cocoon/jars/cocoon-fop-2.1.4.jar
+cocoon/jars/cocoon-fop-2.1.5.1.jar
+cocoon/jars/cocoon-fop-2.1.6.jar
+cocoon/jars/cocoon-fop-2.1.7.jar
+cocoon/jars/cocoon-fop-2.1.8.jar
+cocoon/jars/cocoon-fop-2.1.9.jar
+cocoon/jars/cocoon-forms-2.1.6.jar
+cocoon/jars/cocoon-forms-2.1.5.1.jar
+cocoon/jars/cocoon-forms-2.1.7.jar
+cocoon/jars/cocoon-forms-2.1.8.jar
+cocoon/jars/cocoon-forms-2.1.9.jar
+cocoon/jars/cocoon-hsqldb-2.1.3.jar
+cocoon/jars/cocoon-hsqldb-2.1.4.jar
+cocoon/jars/cocoon-hsqldb-2.1.5.1.jar
+cocoon/jars/cocoon-hsqldb-2.1.6.jar
+cocoon/jars/cocoon-hsqldb-2.1.7.jar
+cocoon/jars/cocoon-hsqldb-2.1.8.jar
+cocoon/jars/cocoon-hsqldb-2.1.9.jar
+cocoon/jars/cocoon-html-2.1.3.jar
+cocoon/jars/cocoon-html-2.1.4.jar
+cocoon/jars/cocoon-html-2.1.5.1.jar
+cocoon/jars/cocoon-html-2.1.6.jar
+cocoon/jars/cocoon-html-2.1.7.jar
+cocoon/jars/cocoon-html-2.1.8.jar
+cocoon/jars/cocoon-html-2.1.9.jar
+cocoon/jars/cocoon-imageop-2.1.9.jar
+cocoon/jars/cocoon-itext-2.1.3.jar
+cocoon/jars/cocoon-itext-2.1.4.jar
+cocoon/jars/cocoon-itext-2.1.5.1.jar
+cocoon/jars/cocoon-itext-2.1.6.jar
+cocoon/jars/cocoon-itext-2.1.7.jar
+cocoon/jars/cocoon-itext-2.1.8.jar
+cocoon/jars/cocoon-itext-2.1.9.jar
+cocoon/jars/cocoon-javaflow-2.1.5.1.jar
+cocoon/jars/cocoon-javaflow-2.1.6.jar
+cocoon/jars/cocoon-javaflow-2.1.7.jar
+cocoon/jars/cocoon-javaflow-2.1.8.jar
+cocoon/jars/cocoon-javaflow-2.1.9.jar
+cocoon/jars/cocoon-jcr-2.1.8.jar
+cocoon/jars/cocoon-jcr-2.1.9.jar
+cocoon/jars/cocoon-jfor-2.1.3.jar
+cocoon/jars/cocoon-jfor-2.1.4.jar
+cocoon/jars/cocoon-jfor-2.1.5.1.jar
+cocoon/jars/cocoon-jfor-2.1.6.jar
+cocoon/jars/cocoon-jfor-2.1.7.jar
+cocoon/jars/cocoon-jfor-2.1.8.jar
+cocoon/jars/cocoon-jfor-2.1.9.jar
+cocoon/jars/cocoon-jms-2.1.4.jar
+cocoon/jars/cocoon-jms-2.1.5.1.jar
+cocoon/jars/cocoon-jms-2.1.6.jar
+cocoon/jars/cocoon-jms-2.1.7.jar
+cocoon/jars/cocoon-jms-2.1.8.jar
+cocoon/jars/cocoon-jms-2.1.9.jar
+cocoon/jars/cocoon-jsp-2.1.3.jar
+cocoon/jars/cocoon-jsp-2.1.4.jar
+cocoon/jars/cocoon-jsp-2.1.5.1.jar
+cocoon/jars/cocoon-jsp-2.1.6.jar
+cocoon/jars/cocoon-jsp-2.1.7.jar
+cocoon/jars/cocoon-jsp-2.1.8.jar
+cocoon/jars/cocoon-jsp-2.1.9.jar
+cocoon/jars/cocoon-jxforms-2.1.3.jar
+cocoon/jars/cocoon-jxforms-2.1.4.jar
+cocoon/jars/cocoon-linkrewriter-2.1.3.jar
+cocoon/jars/cocoon-linkrewriter-2.1.4.jar
+cocoon/jars/cocoon-linkrewriter-2.1.5.1.jar
+cocoon/jars/cocoon-linkrewriter-2.1.6.jar
+cocoon/jars/cocoon-linkrewriter-2.1.7.jar
+cocoon/jars/cocoon-linkrewriter-2.1.8.jar
+cocoon/jars/cocoon-linkrewriter-2.1.9.jar
+cocoon/jars/cocoon-linotype-2.1.3.jar
+cocoon/jars/cocoon-linotype-2.1.4.jar
+cocoon/jars/cocoon-linotype-2.1.5.1.jar
+cocoon/jars/cocoon-linotype-2.1.6.jar
+cocoon/jars/cocoon-linotype-2.1.7.jar
+cocoon/jars/cocoon-linotype-2.1.8.jar
+cocoon/jars/cocoon-linotype-2.1.9.jar
+cocoon/jars/cocoon-lucene-2.1.3.jar
+cocoon/jars/cocoon-lucene-2.1.4.jar
+cocoon/jars/cocoon-lucene-2.1.5.1.jar
+cocoon/jars/cocoon-mail-2.1.4.jar
+cocoon/jars/cocoon-lucene-2.1.6.jar
+cocoon/jars/cocoon-lucene-2.1.7.jar
+cocoon/jars/cocoon-lucene-2.1.8.jar
+cocoon/jars/cocoon-lucene-2.1.9.jar
+cocoon/jars/cocoon-mail-2.1.3.jar
+cocoon/jars/cocoon-mail-2.1.5.1.jar
+cocoon/jars/cocoon-mail-2.1.6.jar
+cocoon/jars/cocoon-mail-2.1.7.jar
+cocoon/jars/cocoon-mail-2.1.8.jar
+cocoon/jars/cocoon-mail-2.1.9.jar
+cocoon/jars/cocoon-midi-2.1.3.jar
+cocoon/jars/cocoon-midi-2.1.4.jar
+cocoon/jars/cocoon-midi-2.1.5.1.jar
+cocoon/jars/cocoon-midi-2.1.6.jar
+cocoon/jars/cocoon-midi-2.1.7.jar
+cocoon/jars/cocoon-midi-2.1.8.jar
+cocoon/jars/cocoon-midi-2.1.9.jar
+cocoon/jars/cocoon-naming-2.1.3.jar
+cocoon/jars/cocoon-naming-2.1.4.jar
+cocoon/jars/cocoon-naming-2.1.5.1.jar
+cocoon/jars/cocoon-naming-2.1.6.jar
+cocoon/jars/cocoon-naming-2.1.7.jar
+cocoon/jars/cocoon-naming-2.1.8.jar
+cocoon/jars/cocoon-naming-2.1.9.jar
+cocoon/jars/cocoon-ojb-2.1.4.jar
+cocoon/jars/cocoon-ojb-2.1.5.1.jar
+cocoon/jars/cocoon-ojb-2.1.6.jar
+cocoon/jars/cocoon-ojb-2.1.7.jar
+cocoon/jars/cocoon-ojb-2.1.8.jar
+cocoon/jars/cocoon-ojb-2.1.9.jar
+cocoon/jars/cocoon-paranoid-2.1.4.jar
+cocoon/jars/cocoon-paranoid-2.1.5.1.jar
+cocoon/jars/cocoon-paranoid-2.1.6.jar
+cocoon/jars/cocoon-paranoid-2.1.7.jar
+cocoon/jars/cocoon-paranoid-2.1.8.jar
+cocoon/jars/cocoon-paranoid-2.1.9.jar
+cocoon/jars/cocoon-petstore-2.1.3.jar
+cocoon/jars/cocoon-petstore-2.1.4.jar
+cocoon/jars/cocoon-petstore-2.1.5.1.jar
+cocoon/jars/cocoon-portal-2.1.6.jar
+cocoon/jars/cocoon-petstore-2.1.6.jar
+cocoon/jars/cocoon-petstore-2.1.7.jar
+cocoon/jars/cocoon-petstore-2.1.8.jar
+cocoon/jars/cocoon-petstore-2.1.9.jar
+cocoon/jars/cocoon-php-2.1.3.jar
+cocoon/jars/cocoon-php-2.1.4.jar
+cocoon/jars/cocoon-php-2.1.5.1.jar
+cocoon/jars/cocoon-poi-2.1.3.jar
+cocoon/jars/cocoon-poi-2.1.4.jar
+cocoon/jars/cocoon-poi-2.1.5.1.jar
+cocoon/jars/cocoon-poi-2.1.6.jar
+cocoon/jars/cocoon-poi-2.1.7.jar
+cocoon/jars/cocoon-poi-2.1.8.jar
+cocoon/jars/cocoon-poi-2.1.9.jar
+cocoon/jars/cocoon-portal-2.1.3.jar
+cocoon/jars/cocoon-portal-2.1.4.jar
+cocoon/jars/cocoon-portal-2.1.5.1.jar
+cocoon/jars/cocoon-portal-2.1.7.jar
+cocoon/jars/cocoon-portal-2.1.8.jar
+cocoon/jars/cocoon-portal-2.1.9.jar
+cocoon/jars/cocoon-portal-fw-2.1.3.jar
+cocoon/jars/cocoon-portal-fw-2.1.4.jar
+cocoon/jars/cocoon-portal-fw-2.1.5.1.jar
+cocoon/jars/cocoon-precept-2.1.3.jar
+cocoon/jars/cocoon-precept-2.1.4.jar
+cocoon/jars/cocoon-profiler-2.1.3.jar
+cocoon/jars/cocoon-profiler-2.1.4.jar
+cocoon/jars/cocoon-profiler-2.1.5.1.jar
+cocoon/jars/cocoon-profiler-2.1.6.jar
+cocoon/jars/cocoon-profiler-2.1.7.jar
+cocoon/jars/cocoon-profiler-2.1.8.jar
+cocoon/jars/cocoon-profiler-2.1.9.jar
+cocoon/jars/cocoon-proxy-2.1.3.jar
+cocoon/jars/cocoon-proxy-2.1.4.jar
+cocoon/jars/cocoon-proxy-2.1.5.1.jar
+cocoon/jars/cocoon-proxy-2.1.6.jar
+cocoon/jars/cocoon-proxy-2.1.7.jar
+cocoon/jars/cocoon-proxy-2.1.8.jar
+cocoon/jars/cocoon-proxy-2.1.9.jar
+cocoon/jars/cocoon-python-2.1.3.jar
+cocoon/jars/cocoon-python-2.1.4.jar
+cocoon/jars/cocoon-python-2.1.5.1.jar
+cocoon/jars/cocoon-python-2.1.6.jar
+cocoon/jars/cocoon-python-2.1.7.jar
+cocoon/jars/cocoon-python-2.1.8.jar
+cocoon/jars/cocoon-python-2.1.9.jar
+cocoon/jars/cocoon-qdox-2.1.3.jar
+cocoon/jars/cocoon-qdox-2.1.4.jar
+cocoon/jars/cocoon-qdox-2.1.5.1.jar
+cocoon/jars/cocoon-qdox-2.1.6.jar
+cocoon/jars/cocoon-qdox-2.1.7.jar
+cocoon/jars/cocoon-qdox-2.1.8.jar
+cocoon/jars/cocoon-qdox-2.1.9.jar
+cocoon/jars/cocoon-querybean-2.1.7.jar
+cocoon/jars/cocoon-querybean-2.1.8.jar
+cocoon/jars/cocoon-querybean-2.1.9.jar
+cocoon/jars/cocoon-repository-2.1.3.jar
+cocoon/jars/cocoon-repository-2.1.4.jar
+cocoon/jars/cocoon-repository-2.1.5.1.jar
+cocoon/jars/cocoon-repository-2.1.6.jar
+cocoon/jars/cocoon-repository-2.1.7.jar
+cocoon/jars/cocoon-repository-2.1.8.jar
+cocoon/jars/cocoon-repository-2.1.9.jar
+cocoon/jars/cocoon-scratchpad-2.1.3.jar
+cocoon/jars/cocoon-scratchpad-2.1.4.jar
+cocoon/jars/cocoon-scratchpad-2.1.5.1.jar
+cocoon/jars/cocoon-scratchpad-2.1.6.jar
+cocoon/jars/cocoon-serializers-2.1.9.jar
+cocoon/jars/cocoon-serializers-2.1.5.1.jar
+cocoon/jars/cocoon-serializers-2.1.6.jar
+cocoon/jars/cocoon-serializers-2.1.7.jar
+cocoon/jars/cocoon-serializers-2.1.8.jar
+cocoon/jars/cocoon-session-fw-2.1.3.jar
+cocoon/jars/cocoon-session-fw-2.1.4.jar
+cocoon/jars/cocoon-session-fw-2.1.5.1.jar
+cocoon/jars/cocoon-session-fw-2.1.6.jar
+cocoon/jars/cocoon-session-fw-2.1.7.jar
+cocoon/jars/cocoon-session-fw-2.1.8.jar
+cocoon/jars/cocoon-session-fw-2.1.9.jar
+cocoon/jars/cocoon-slide-2.1.3.jar
+cocoon/jars/cocoon-slide-2.1.4.jar
+cocoon/jars/cocoon-slide-2.1.5.1.jar
+cocoon/jars/cocoon-slide-2.1.6.jar
+cocoon/jars/cocoon-slide-2.1.7.jar
+cocoon/jars/cocoon-slide-2.1.8.jar
+cocoon/jars/cocoon-slide-2.1.9.jar
+cocoon/jars/cocoon-slop-2.1.3.jar
+cocoon/jars/cocoon-slop-2.1.4.jar
+cocoon/jars/cocoon-slop-2.1.5.1.jar
+cocoon/jars/cocoon-slop-2.1.6.jar
+cocoon/jars/cocoon-slop-2.1.7.jar
+cocoon/jars/cocoon-slop-2.1.8.jar
+cocoon/jars/cocoon-slop-2.1.9.jar
+cocoon/jars/cocoon-snapshot.version
+cocoon/jars/cocoon-stx-2.1.3.jar
+cocoon/jars/cocoon-stx-2.1.4.jar
+cocoon/jars/cocoon-stx-2.1.5.1.jar
+cocoon/jars/cocoon-stx-2.1.6.jar
+cocoon/jars/cocoon-stx-2.1.7.jar
+cocoon/jars/cocoon-stx-2.1.8.jar
+cocoon/jars/cocoon-stx-2.1.9.jar
+cocoon/jars/cocoon-swf-2.1.3.jar
+cocoon/jars/cocoon-swf-2.1.4.jar
+cocoon/jars/cocoon-swf-2.1.5.1.jar
+cocoon/jars/cocoon-taglib-2.1.3.jar
+cocoon/jars/cocoon-taglib-2.1.4.jar
+cocoon/jars/cocoon-taglib-2.1.5.1.jar
+cocoon/jars/cocoon-testcase-2.1.3.jar
+cocoon/jars/cocoon-taglib-2.1.6.jar
+cocoon/jars/cocoon-taglib-2.1.7.jar
+cocoon/jars/cocoon-taglib-2.1.8.jar
+cocoon/jars/cocoon-taglib-2.1.9.jar
+cocoon/jars/cocoon-template-2.1.9.jar
+cocoon/jars/cocoon-woody-2.1.3.jar
+cocoon/jars/cocoon-testcase-2.1.4.jar
+cocoon/jars/cocoon-testcase-2.1.6.jar
+cocoon/jars/cocoon-testcase-2.1.7.jar
+cocoon/jars/cocoon-testcase-2.1.9.jar
+cocoon/jars/cocoon-tour-2.1.5.1.jar
+cocoon/jars/cocoon-tour-2.1.6.jar
+cocoon/jars/cocoon-tour-2.1.7.jar
+cocoon/jars/cocoon-tour-2.1.8.jar
+cocoon/jars/cocoon-tour-2.1.9.jar
+cocoon/jars/cocoon-validation-2.1.8.jar
+cocoon/jars/cocoon-validation-2.1.9.jar
+cocoon/jars/cocoon-velocity-2.1.3.jar
+cocoon/jars/cocoon-velocity-2.1.4.jar
+cocoon/jars/cocoon-velocity-2.1.5.1.jar
+cocoon/jars/cocoon-velocity-2.1.6.jar
+cocoon/jars/cocoon-velocity-2.1.7.jar
+cocoon/jars/cocoon-velocity-2.1.8.jar
+cocoon/jars/cocoon-velocity-2.1.9.jar
+cocoon/jars/cocoon-web3-2.1.3.jar
+cocoon/jars/cocoon-web3-2.1.4.jar
+cocoon/jars/cocoon-web3-2.1.5.1.jar
+cocoon/jars/cocoon-web3-2.1.6.jar
+cocoon/jars/cocoon-web3-2.1.7.jar
+cocoon/jars/cocoon-web3-2.1.8.jar
+cocoon/jars/cocoon-web3-2.1.9.jar
+cocoon/jars/cocoon-webdav-2.1.3.jar
+cocoon/jars/cocoon-webdav-2.1.4.jar
+cocoon/jars/cocoon-webdav-2.1.6.jar
+cocoon/jars/cocoon-webdav-2.1.5.1.jar
+cocoon/jars/cocoon-webdav-2.1.7.jar
+cocoon/jars/cocoon-webdav-2.1.8.jar
+cocoon/jars/cocoon-webdav-2.1.9.jar
+cocoon/jars/cocoon-woody-2.1.4.jar
+cocoon/jars/cocoon-xmldb-2.1.3.jar
+cocoon/jars/cocoon-xmldb-2.1.4.jar
+cocoon/jars/cocoon-xmldb-2.1.5.1.jar
+cocoon/jars/cocoon-xmldb-2.1.6.jar
+cocoon/jars/cocoon-xmldb-2.1.7.jar
+cocoon/jars/cocoon-xmldb-2.1.8.jar
+cocoon/jars/cocoon-xmldb-2.1.9.jar
+cocoon/jars/cocoon-xsltal-2.1.8.jar
+cocoon/jars/cocoon-xsltal-2.1.9.jar
+cocoon/jars/cocoon-xsp-2.1.5.1.jar
+cocoon/jars/cocoon-xsp-2.1.6.jar
+cocoon/jars/cocoon-xsp-2.1.7.jar
+cocoon/jars/cocoon-xsp-2.1.8.jar
+cocoon/jars/cocoon-xsp-2.1.9.jar
+cocoon/wars/cocoon-2.1.8.war
+cocoon/wars/cocoon-war-2.1.3.war
+cocoon/wars/cocoon-war-2.1.4.war
+cocoon/wars/cocoon-war-2.1.6.war
+cocoon/wars/cocoon-war-2.1.7.war
+commons-attributes/jars/commons-attributes-2.1-javadoc.jar
+commons-attributes/jars/commons-attributes-api-2.1.jar
+commons-attributes/jars/commons-attributes-api-2.2.jar
+commons-attributes/jars/commons-attributes-compiler-2.1.jar
+commons-attributes/jars/commons-attributes-compiler-2.2.jar
+commons-attributes/plugins/commons-attributes-plugin-2.1.jar
+commons-attributes/plugins/commons-attributes-plugin-2.2.jar
+commons-attributes/poms/commons-attributes-api-2.2.pom
+commons-attributes/poms/commons-attributes-compiler-2.2.pom
+commons-beanutils/jars/commons-beanutils-1.0-dev.20020812.082103.jar
+commons-beanutils/jars/commons-beanutils-1.0-dev.20020913.114846.jar
+commons-beanutils/jars/commons-beanutils-1.0.jar
+commons-beanutils/jars/commons-beanutils-1.3.jar
+commons-beanutils/jars/commons-beanutils-1.4-dev.20020812.084325.jar
+commons-beanutils/jars/commons-beanutils-1.4-dev.jar
+commons-beanutils/jars/commons-beanutils-1.4.1.jar
+commons-beanutils/jars/commons-beanutils-1.4.jar
+commons-beanutils/jars/commons-beanutils-1.5-javadoc.jar
+commons-beanutils/jars/commons-beanutils-1.5.jar
+commons-beanutils/jars/commons-beanutils-1.6-dev.20021128.082114.jar
+commons-beanutils/jars/commons-beanutils-1.6-javadoc.jar
+commons-beanutils/jars/commons-beanutils-1.6.1-javadoc.jar
+commons-beanutils/jars/commons-beanutils-1.6.1.jar
+commons-beanutils/jars/commons-beanutils-1.6.jar
+commons-beanutils/jars/commons-beanutils-1.7-dev.jar
+commons-beanutils/jars/commons-beanutils-1.7.0-javadoc.jar
+commons-beanutils/jars/commons-beanutils-1.7.0.jar
+commons-beanutils/jars/commons-beanutils-20020520.jar
+commons-beanutils/jars/commons-beanutils-20030211.134440.jar
+commons-beanutils/jars/commons-beanutils-bean-collections-1.7.0.jar
+commons-beanutils/jars/commons-beanutils-core-1.7.0.jar
+commons-beanutils/jars/commons-beanutils-dev.jar
+commons-beanutils/jars/commons-beanutils-1.8.0-BETA-javadoc.jar
+commons-beanutils/jars/commons-beanutils-snapshot-version
+commons-beanutils/jars/commons-beanutils-1.8.0-BETA.jar
+commons-beanutils/jars/commons-beanutils-1.8.0-BETA-sources.jar
+commons-beanutils/jars/commons-beanutils-core-1.8.0-BETA.jar
+commons-beanutils/jars/commons-beanutils-bean-collections-1.8.0-BETA.jar
+commons-beanutils/poms/commons-beanutils-1.4.1.pom
+commons-beanutils/poms/commons-beanutils-1.4.pom
+commons-beanutils/poms/commons-beanutils-1.5.pom
+commons-beanutils/poms/commons-beanutils-1.6.1.pom
+commons-beanutils/poms/commons-beanutils-1.6.pom
+commons-beanutils/poms/commons-beanutils-1.8.0-BETA.pom
+commons-betwixt/jars/commons-betwixt-0.5-javadoc.jar
+commons-betwixt/jars/commons-betwixt-0.5.jar
+commons-betwixt/jars/commons-betwixt-0.6-javadoc.jar
+commons-betwixt/jars/commons-betwixt-1.0-alpha-1-javadoc.jar
+commons-betwixt/jars/commons-betwixt-0.6.jar
+commons-betwixt/jars/commons-betwixt-0.7-javadoc.jar
+commons-betwixt/jars/commons-betwixt-0.7.jar
+commons-betwixt/jars/commons-betwixt-1.0-beta-1.20020910.124754.jar
+commons-betwixt/jars/commons-betwixt-1.0-alpha-1.jar
+commons-betwixt/jars/commons-betwixt-0.8.jar.sha
+commons-betwixt/jars/commons-betwixt-0.8.jar
+commons-betwixt/jars/commons-betwixt-1.0-beta-1.jar
+commons-betwixt/jars/commons-betwixt-1.0-beta-1.20020912.014405.jar
+commons-betwixt/jars/commons-betwixt-1.0-beta-1.20020920.020057.jar
+commons-betwixt/jars/commons-betwixt-1.0-beta-1.20030111.103454.jar
+commons-betwixt/jars/commons-betwixt-1.0-dev.20020712.083337.jar
+commons-betwixt/jars/commons-betwixt-1.0-dev.20020719.010630.jar
+commons-betwixt/jars/commons-betwixt-1.0-dev.jar
+commons-betwixt/jars/commons-betwixt-20030211.133854.jar
+commons-betwixt/jars/commons-betwixt-snapshot-version
+commons-betwixt/poms/commons-betwixt-0.8.pom
+commons-betwixt/poms/commons-betwixt-0.6.pom
+commons-betwixt/poms/commons-betwixt-0.7.pom
+commons-chain/jars/commons-chain-1.0-javadoc.jar
+commons-chain/jars/commons-chain-1.0.jar
+commons-chain/jars/commons-chain-1.1.jar
+commons-chain/poms/commons-chain-1.0.pom
+commons-chain/poms/commons-chain-1.1.pom
+commons-cli/jars/commons-cli-1.0-beta-1.jar
+commons-cli/jars/commons-cli-1.0-beta-2-dev.20021004.111657.jar
+commons-cli/jars/commons-cli-1.0-beta-2-dev.jar
+commons-cli/jars/commons-cli-1.0-beta-2.jar
+commons-cli/jars/commons-cli-1.0-dev.jar
+commons-cli/jars/commons-cli-1.0-dev.20020710.025055.jar
+commons-cli/jars/commons-cli-1.0-dev.20020727.104720.jar
+commons-cli/jars/commons-cli-1.0-javadoc.jar
+commons-cli/jars/commons-cli-1.0.jar
+commons-cli/jars/commons-cli-1.1-javadoc.jar
+commons-cli/jars/commons-cli-1.0.jar.sha
+commons-cli/jars/commons-cli-1.1-sources.jar
+commons-cli/jars/commons-cli-1.1.jar
+commons-cli/poms/commons-cli-1.0.pom
+commons-cli/poms/commons-cli-1.1.pom
+commons-codec/jars/commons-codec-1.0-dev.jar
+commons-codec/jars/commons-codec-1.1-javadoc.jar
+commons-codec/jars/commons-codec-1.1.jar
+commons-codec/jars/commons-codec-1.2-javadoc.jar
+commons-codec/jars/commons-codec-1.2.jar
+commons-codec/jars/commons-codec-1.3-javadoc.jar
+commons-codec/jars/commons-codec-1.3.jar
+commons-codec/jars/commons-codec-20041127.091804.jar
+commons-codec/jars/commons-codec-snapshot-version
+commons-codec/poms/commons-codec-1.1.pom
+commons-codec/poms/commons-codec-1.2.pom
+commons-codec/poms/commons-codec-1.3.pom
+commons-codec/poms/commons-codec-20041127.091804.pom
+commons-codec/poms/commons-codec-snapshot-version
+commons-collections/jars/commons-collections-1.0-javadoc.jar
+commons-collections/jars/commons-collections-1.0.jar
+commons-collections/jars/commons-collections-2.0-javadoc.jar
+commons-collections/jars/commons-collections-2.0.20020914.015953.jar
+commons-collections/jars/commons-collections-3.1.jar
+commons-collections/jars/commons-collections-snapshot-version
+commons-collections/jars/commons-collections-2.0.20020914.020746.jar
+commons-collections/jars/commons-collections-2.0.20020914.020858.jar
+commons-collections/jars/commons-collections-2.0.jar
+commons-collections/jars/commons-collections-2.1-dev.jar
+commons-collections/jars/commons-collections-2.1-javadoc.jar
+commons-collections/jars/commons-collections-2.1.jar
+commons-collections/jars/commons-collections-2.1.1-javadoc.jar
+commons-collections/jars/commons-collections-2.1.1.jar
+commons-collections/jars/commons-collections-20030418.083655.jar
+commons-collections/jars/commons-collections-20031027.000000.jar
+commons-collections/jars/commons-collections-3.0-dev.jar
+commons-collections/jars/commons-collections-20040102.233541.jar
+commons-collections/jars/commons-collections-20040616.jar
+commons-collections/jars/commons-collections-3.0-javadoc.jar
+commons-collections/jars/commons-collections-3.0.jar
+commons-collections/jars/commons-collections-3.1-javadoc.jar
+commons-collections/jars/commons-collections-3.2.jar
+commons-collections/jars/commons-collections-testframework-20031027.000000.jar
+commons-collections/jars/commons-collections-testframework-20040102.233541.jar
+commons-collections/jars/commons-collections-testframework-3.1.jar
+commons-collections/jars/commons-collections-testframework-3.2.jar
+commons-collections/poms/commons-collections-2.1.pom
+commons-collections/poms/commons-collections-3.0.pom
+commons-collections/poms/commons-collections-3.2.pom
+commons-configuration/jars/commons-configuration-1.0-dev-2.20021231.045254.jar
+commons-configuration/jars/commons-configuration-1.0-dev-3.20030603.101200.jar
+commons-configuration/jars/commons-configuration-1.0-dev-3.20030607.194155.jar
+commons-configuration/jars/commons-configuration-1.4-javadoc.jar
+commons-configuration/jars/commons-configuration-1.0-dev.jar
+commons-configuration/jars/commons-configuration-1.0-javadoc.jar
+commons-configuration/jars/commons-configuration-1.0-rc1.jar
+commons-configuration/jars/commons-configuration-1.0-rc2.jar
+commons-configuration/jars/commons-configuration-1.0.jar
+commons-configuration/jars/commons-configuration-1.1-javadoc.jar
+commons-configuration/jars/commons-configuration-1.1.jar
+commons-configuration/jars/commons-configuration-1.2.jar
+commons-configuration/jars/commons-configuration-20030311.152757.jar
+commons-configuration/jars/commons-configuration-20030620.073343.jar
+commons-configuration/jars/commons-configuration-20030706.202021.jar
+commons-configuration/jars/commons-configuration-20041012.002623.jar
+commons-configuration/jars/commons-configuration-20041012.002804.jar
+commons-configuration/jars/commons-configuration-snapshot-version
+commons-configuration/jars/commons-configuration-1.4-sources.jar
+commons-configuration/jars/commons-configuration-1.4.jar
+commons-configuration/poms/commons-configuration-20041012.002623.pom
+commons-configuration/poms/commons-configuration-1.0-rc1.pom
+commons-configuration/poms/commons-configuration-1.0.pom
+commons-configuration/poms/commons-configuration-1.1.pom
+commons-configuration/poms/commons-configuration-1.2.pom
+commons-configuration/poms/commons-configuration-20041012.002804.pom
+commons-configuration/poms/commons-configuration-snapshot-version
+commons-configuration/poms/commons-configuration-1.4.pom
+commons-daemon/jars/commons-daemon-1.0-dev.20021002.084851.jar
+commons-dbcp/jars/commons-dbcp-1.0-dev-20020806.jar
+commons-dbcp/jars/commons-dbcp-1.0-dev.jar
+commons-dbcp/jars/commons-dbcp-1.0-javadoc.jar
+commons-dbcp/jars/commons-dbcp-1.0.jar
+commons-dbcp/jars/commons-dbcp-1.1-RC1.jar
+commons-dbcp/jars/commons-dbcp-1.1-RC2.jar
+commons-dbcp/jars/commons-dbcp-1.1-dev.20021231.054941.jar
+commons-dbcp/jars/commons-dbcp-1.1-dev.20021231.055112.jar
+commons-dbcp/jars/commons-dbcp-1.1-javadoc.jar
+commons-dbcp/jars/commons-dbcp-1.1.jar
+commons-dbcp/jars/commons-dbcp-1.2-javadoc.jar
+commons-dbcp/jars/commons-dbcp-1.2.1-javadoc.jar
+commons-dbcp/jars/commons-dbcp-1.2.1.jar
+commons-dbcp/jars/commons-dbcp-1.2.jar
+commons-dbcp/jars/commons-dbcp-20030818.201141.jar
+commons-dbcp/jars/commons-dbcp-20030821.193421.jar
+commons-dbcp/jars/commons-dbcp-20030825.184428.jar
+commons-dbcp/jars/commons-dbcp-snapshot-version
+commons-dbcp/jars/commons-dbcp-1.2.2.jar
+commons-dbcp/poms/commons-dbcp-1.0.pom
+commons-dbcp/poms/commons-dbcp-1.1.pom
+commons-dbcp/poms/commons-dbcp-1.2.1.pom
+commons-dbcp/poms/commons-dbcp-1.2.pom
+commons-dbcp/poms/commons-dbcp-1.2.2.pom
+commons-dbutils/jars/commons-dbutils-1.0-javadoc.jar
+commons-dbutils/jars/commons-dbutils-1.0.jar
+commons-dbutils/jars/commons-dbutils-1.1.jar
+commons-dbutils/jars/commons-dbutils-1.1-sources.jar
+commons-dbutils/poms/commons-dbutils-1.0.pom
+commons-dbutils/poms/commons-dbutils-1.1.pom
+commons-digester/jars/commons-digester-1.0-dev.20020731.104901.jar
+commons-digester/jars/commons-digester-1.2.jar
+commons-digester/jars/commons-digester-1.3.jar
+commons-digester/jars/commons-digester-1.4-javadoc.jar
+commons-digester/jars/commons-digester-1.4.1-javadoc.jar
+commons-digester/jars/commons-digester-1.4.1.jar
+commons-digester/jars/commons-digester-1.5-javadoc.jar
+commons-digester/jars/commons-digester-1.5.jar
+commons-digester/jars/commons-digester-1.6-javadoc.jar
+commons-digester/jars/commons-digester-1.6.jar
+commons-digester/jars/commons-digester-1.7-javadoc.jar
+commons-digester/jars/commons-digester-1.7.jar
+commons-digester/jars/commons-digester-1.8.jar
+commons-digester/jars/commons-digester-1.8-javadoc.jar
+commons-digester/jars/commons-digester-1.8-sources.jar
+commons-digester/poms/commons-digester-1.3.pom
+commons-digester/poms/commons-digester-1.4.1.pom
+commons-digester/poms/commons-digester-1.5.pom
+commons-digester/poms/commons-digester-1.7.pom
+commons-digester/poms/commons-digester-1.8.pom
+commons-digester/distributions/commons-digester-1.8-src.zip
+commons-digester/distributions/commons-digester-1.8-src.tar.gz
+commons-digester/distributions/commons-digester-1.8.tar.gz
+commons-digester/distributions/commons-digester-1.8.zip
+commons-discovery/jars/commons-discovery-0.1-javadoc.jar
+commons-discovery/jars/commons-discovery-0.1.jar
+commons-discovery/jars/commons-discovery-0.2-javadoc.jar
+commons-discovery/jars/commons-discovery-0.2-dev.jar
+commons-discovery/jars/commons-discovery-0.2.jar
+commons-discovery/jars/commons-discovery-1.0-dev.20021010.101254.jar
+commons-discovery/jars/commons-discovery-20030211.213356.jar
+commons-discovery/jars/commons-discovery-20040218.194635.jar
+commons-discovery/jars/commons-discovery-snapshot-version
+commons-discovery/jars/commons-discovery-0.4.jar
+commons-discovery/poms/commons-discovery-0.1.pom
+commons-discovery/poms/commons-discovery-0.2.pom
+commons-discovery/poms/commons-discovery-0.4.pom
+commons-el/jars/commons-el-1.0-javadoc.jar
+commons-el/jars/commons-el-1.0.jar
+commons-el/poms/commons-el-1.0.pom
+commons-email/distributions/commons-email-1.0-src.tar.gz
+commons-email/distributions/commons-email-1.0-src.zip
+commons-email/distributions/commons-email-1.0.tar.gz
+commons-email/distributions/commons-email-1.0.zip
+commons-email/jars/commons-email-0.1-dev.jar
+commons-email/jars/commons-email-1.0-javadoc.jar
+commons-email/jars/commons-email-1.0.jar
+commons-email/jars/commons-email-20030310.165926.jar
+commons-email/jars/commons-email-snapshot-version
+commons-email/poms/commons-email-1.0.pom
+commons-fileupload/jars/commons-fileupload-1.0-beta-1-javadoc.jar
+commons-fileupload/jars/commons-fileupload-1.0-beta-1.jar
+commons-fileupload/jars/commons-fileupload-1.0-dev.jar
+commons-fileupload/jars/commons-fileupload-1.0-javadoc.jar
+commons-fileupload/jars/commons-fileupload-1.0-rc1-javadoc.jar
+commons-fileupload/jars/commons-fileupload-1.0-rc1.jar
+commons-fileupload/jars/commons-fileupload-1.0.jar
+commons-fileupload/jars/commons-fileupload-1.1.1.jar
+commons-fileupload/jars/commons-fileupload-1.1.jar
+commons-fileupload/poms/commons-fileupload-1.0.pom
+commons-fileupload/poms/commons-fileupload-1.1.1.pom
+commons-fileupload/poms/commons-fileupload-1.1.pom
+ecs/jars/ecs-1.4.1.jar
+ecs/jars/ecs-1.4.2.jar
+commons-grant/jars/commons-grant-1.0-b1.jar
+commons-grant/jars/commons-grant-1.0-beta-2.jar
+commons-grant/jars/commons-grant-1.0-beta-3.jar
+commons-grant/jars/commons-grant-1.0-beta-4.jar
+commons-grant/jars/commons-grant-1.0-beta-5.jar
+commons-graph/jars/commons-graph-0.8.1.jar
+commons-graph/jars/commons-graph-0.8.jar
+commons-http/jars/commons-http-1.1.jar
+commons-httpclient/jars/commons-httpclient-1.0.jar
+commons-httpclient/jars/commons-httpclient-2.0-alpha1-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-alpha2-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0.jar
+commons-httpclient/jars/commons-httpclient-3.0.jar
+commons-httpclient/jars/commons-httpclient-2.0-alpha2.20020903.070259.jar
+commons-httpclient/jars/commons-httpclient-2.0-alpha2.20021115.044352.jar
+commons-httpclient/jars/commons-httpclient-2.0-alpha2.jar
+commons-httpclient/jars/commons-httpclient-2.0-alpha3-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-alpha3.jar
+commons-httpclient/jars/commons-httpclient-2.0-beta1-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-beta1.jar
+commons-httpclient/jars/commons-httpclient-2.0-beta2-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-beta2.jar
+commons-httpclient/jars/commons-httpclient-2.0-dev.20020705.071400.jar
+commons-httpclient/jars/commons-httpclient-2.0-dev.jar
+commons-httpclient/jars/commons-httpclient-2.0-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-rc1-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-rc1.jar
+commons-httpclient/jars/commons-httpclient-2.0-rc2-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-rc2.jar
+commons-httpclient/jars/commons-httpclient-2.0-rc3-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0-rc3.jar
+commons-httpclient/jars/commons-httpclient-2.0.1-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0.1.jar
+commons-httpclient/jars/commons-httpclient-2.0.2-javadoc.jar
+commons-httpclient/jars/commons-httpclient-2.0.2.jar
+commons-httpclient/jars/commons-httpclient-2.0alpha1-20020606.jar
+commons-httpclient/jars/commons-httpclient-2.0alpha1-20020829.jar
+commons-httpclient/jars/commons-httpclient-2.0alpha1.jar
+commons-httpclient/jars/commons-httpclient-20020423.jar
+commons-httpclient/jars/commons-httpclient-3.0-alpha1-javadoc.jar
+commons-httpclient/jars/commons-httpclient-3.0-beta1.jar
+commons-httpclient/jars/commons-httpclient-3.1.jar
+commons-httpclient/jars/commons-httpclient-3.0-alpha1.jar
+commons-httpclient/jars/commons-httpclient-3.0-alpha2-javadoc.jar
+commons-httpclient/jars/commons-httpclient-3.0-alpha2.jar
+commons-httpclient/jars/commons-httpclient-3.0-beta1-javadoc.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc1-javadoc.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc1.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc2-javadoc.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc2.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc3-javadoc.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc3.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc4-javadoc.jar
+commons-httpclient/jars/commons-httpclient-3.0-rc4.jar
+commons-httpclient/jars/commons-httpclient-3.0.1.jar
+commons-httpclient/jars/commons-httpclient-3.1-alpha1.jar
+commons-httpclient/jars/commons-httpclient-3.1-beta1.jar
+commons-httpclient/jars/commons-httpclient-3.1-rc1.jar
+commons-httpclient/poms/commons-httpclient-3.0alpha2.pom
+commons-httpclient/poms/commons-httpclient-2.0.2.pom
+commons-httpclient/poms/commons-httpclient-3.0.1.pom
+commons-httpclient/poms/commons-httpclient-3.0.pom
+commons-httpclient/poms/commons-httpclient-3.1-alpha1.pom
+commons-httpclient/poms/commons-httpclient-3.0beta1.pom
+commons-httpclient/poms/commons-httpclient-3.0rc1.pom
+commons-httpclient/poms/commons-httpclient-3.0rc2.pom
+commons-httpclient/poms/commons-httpclient-3.0rc3.pom
+commons-httpclient/poms/commons-httpclient-3.0rc4.pom
+commons-httpclient/poms/commons-httpclient-3.1-beta1.pom
+commons-httpclient/poms/commons-httpclient-3.1-rc1.pom
+commons-httpclient/poms/commons-httpclient-3.1.pom
+commons-i18n/distributions/commons-i18n-0.3-src.tar.gz
+commons-i18n/distributions/commons-i18n-0.3-src.zip
+commons-i18n/distributions/commons-i18n-0.3.tar.gz
+commons-i18n/distributions/commons-i18n-0.3.zip
+commons-i18n/distributions/commons-i18n-0.4-src.tar.gz
+commons-i18n/distributions/commons-i18n-0.4-src.zip
+commons-i18n/distributions/commons-i18n-0.4.tar.gz
+commons-i18n/distributions/commons-i18n-0.4.zip
+commons-i18n/distributions/commons-i18n-0.5-src.tar.gz
+commons-i18n/distributions/commons-i18n-0.5-src.zip
+commons-i18n/distributions/commons-i18n-0.5.tar.gz
+commons-i18n/distributions/commons-i18n-0.5.zip
+commons-i18n/jars/commons-i18n-0.4.jar
+commons-i18n/jars/commons-i18n-0.5.jar
+commons-i18n/poms/commons-i18n-0.3.pom
+commons-i18n/poms/commons-i18n-0.4.pom
+commons-i18n/poms/commons-i18n-0.5.pom
+commons-io/jars/commons-io-0.1.jar
+commons-io/jars/commons-io-0.2-dev.20020614.122300.jar
+commons-io/jars/commons-io-0.2-dev.20020717.100545.jar
+commons-io/jars/commons-io-1.0-javadoc.jar
+commons-io/jars/commons-io-1.0.jar
+commons-io/jars/commons-io-1.3.jar
+commons-io/jars/commons-io-1.1-javadoc.jar
+commons-io/jars/commons-io-1.1.jar
+commons-io/jars/commons-io-1.2-javadoc.jar
+commons-io/jars/commons-io-1.2.jar
+commons-io/jars/commons-io-20030203.000550.jar
+commons-io/jars/commons-io-1.3-javadoc.jar
+commons-io/jars/commons-io-1.3-sources.jar
+commons-io/jars/commons-io-1.3.1-javadoc.jar
+commons-io/jars/commons-io-1.3.1.jar
+commons-io/jars/commons-io-1.3.1-sources.jar
+commons-io/poms/commons-io-1.0.pom
+commons-io/poms/commons-io-1.1.pom
+commons-io/poms/commons-io-1.2.pom
+commons-io/poms/commons-io-1.3.pom
+commons-io/poms/commons-io-1.3.1.pom
+commons-jdbc2pool/jars/commons-jdbc2pool-1.0-dev.jar
+commons-jelly/distributions/KEYS
+commons-jelly/distributions/commons-jelly-1.0-beta-3-src.tar.gz
+commons-jelly/distributions/commons-jelly-1.0-beta-3-src.zip
+commons-jelly/distributions/commons-jelly-1.0-beta-3.tar.gz
+commons-jelly/distributions/commons-jelly-1.0-beta-3.zip
+commons-jelly/distributions/commons-jelly-1.0-beta-4-src.tar.gz
+commons-jelly/distributions/commons-jelly-1.0-beta-4-src.zip
+commons-jelly/distributions/commons-jelly-1.0-beta-4.tar.gz
+commons-jelly/distributions/commons-jelly-1.0-beta-4.zip
+commons-jelly/distributions/commons-jelly-1.0-dev-src.tar.gz
+commons-jelly/distributions/commons-jelly-1.0-dev-src.zip
+commons-jelly/distributions/commons-jelly-1.0-dev.tar.gz
+commons-jelly/distributions/commons-jelly-1.0-dev.zip
+commons-jelly/jars/commons-jelly-1.0-RC1-javadoc.jar
+commons-jelly/jars/commons-jelly-1.0-RC1.jar
+commons-jelly/jars/commons-jelly-1.0-beta-1.jar
+commons-jelly/jars/commons-jelly-1.0-beta-2.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020714.020704.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020819.043231.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020819.043406.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020820.043616.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020828.023547.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020828.032644.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020904.063114.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020910.061420.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020911.045717.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020913.010946.jar
+commons-jelly/jars/commons-jelly-1.0-beta-3.20020913.120853.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4-javadoc.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20020923.123659.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20020924.123511.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021002.050543.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021002.113628.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021005.025546.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021005.070650.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021008.094131.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021008.112820.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021012.035615.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021017.053011.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021023.094006.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021023.153932.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021105.013628.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021112.084337.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021113.125954.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021113.192421.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021120.034859.jar
+commons-jelly/jars/commons-jelly-1.0-javadoc.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021210.123241.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021222.042553.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021231.013337.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20021231.034645.jar
+commons-jelly/jars/commons-jelly-20030211.141339.jar
+commons-jelly/jars/commons-jelly-1.0-beta-4.20030104.110205.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020711.024953.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020713.015328.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020713.020804.jar
+commons-jelly/jars/commons-jelly-1.0.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020715.041648.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020715.044906.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020715.045302.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020715.100851.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020715.112252.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020716.055015.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020716.064746.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020716.065225.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020719.074608.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020719.082922.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020720.080105.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020731.041103.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020731.122236.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20020811.014845.jar
+commons-jelly/jars/commons-jelly-1.0-dev.20021021.132700.jar
+commons-jelly/jars/commons-jelly-20030303.054314.jar
+commons-jelly/jars/commons-jelly-20030310.073407.jar
+commons-jelly/jars/commons-jelly-snapshot-version
+commons-jelly/jars/commons-jelly-20030303.180550.jar
+commons-jelly/jars/commons-jelly-20030305.075341.jar
+commons-jelly/jars/commons-jelly-20030307.121112.jar
+commons-jelly/jars/commons-jelly-20030307.135732.jar
+commons-jelly/jars/commons-jelly-20030308.101032.jar
+commons-jelly/jars/commons-jelly-20030320.080622.jar
+commons-jelly/jars/commons-jelly-20030320.080836.jar
+commons-jelly/jars/commons-jelly-20030320.165458.jar
+commons-jelly/jars/commons-jelly-20030522.212428.jar
+commons-jelly/jars/commons-jelly-20030609.133047.jar
+commons-jelly/jars/commons-jelly-20030711.034327.jar
+commons-jelly/jars/commons-jelly-avalon-20030211.143621.jar
+commons-jelly/jars/commons-jelly-20030724.033229.jar
+commons-jelly/jars/commons-jelly-20030902.160215.jar
+commons-jelly/jars/commons-jelly-20040902.064518.jar
+commons-jelly/jars/commons-jelly-20040902.070806.jar
+commons-jelly/jars/commons-jelly-avalon-snapshot-version
+commons-jelly/jars/commons-jelly-tags-ant-1.0.jar
+commons-jelly/jars/commons-jelly-tags-ant-1.1.jar
+commons-jelly/jars/commons-jelly-tags-ant-20030211.142045.jar
+commons-jelly/jars/commons-jelly-tags-ant-20040902.000000.jar
+commons-jelly/jars/commons-jelly-tags-bean-1.0.jar
+commons-jelly/jars/commons-jelly-tags-ant-20030310.080026.jar
+commons-jelly/jars/commons-jelly-tags-ant-20030625.025346.jar
+commons-jelly/jars/commons-jelly-tags-ant-20030625.025706.jar
+commons-jelly/jars/commons-jelly-tags-ant-20030625.032346.jar
+commons-jelly/jars/commons-jelly-tags-dynabean-snapshot-version
+commons-jelly/jars/commons-jelly-tags-ant-20040902.071105.jar
+commons-jelly/jars/commons-jelly-tags-ant-snapshot-version
+commons-jelly/jars/commons-jelly-tags-antlr-1.0.jar
+commons-jelly/jars/commons-jelly-tags-antlr-20030211.143720.jar
+commons-jelly/jars/commons-jelly-tags-antlr-20040902.071159.jar
+commons-jelly/jars/commons-jelly-tags-antlr-snapshot-version
+commons-jelly/jars/commons-jelly-tags-avalon-1.0.jar
+commons-jelly/jars/commons-jelly-tags-avalon-20040902.071300.jar
+commons-jelly/jars/commons-jelly-tags-avalon-snapshot-version
+commons-jelly/jars/commons-jelly-tags-bean-20030211.144357.jar
+commons-jelly/jars/commons-jelly-tags-betwixt-1.0.jar
+commons-jelly/jars/commons-jelly-tags-bean-20030320.165723.jar
+commons-jelly/jars/commons-jelly-tags-bean-20040902.071526.jar
+commons-jelly/jars/commons-jelly-tags-bean-snapshot-version
+commons-jelly/jars/commons-jelly-tags-beanshell-1.0.jar
+commons-jelly/jars/commons-jelly-tags-beanshell-20030211.141835.jar
+commons-jelly/jars/commons-jelly-tags-beanshell-20040902.071629.jar
+commons-jelly/jars/commons-jelly-tags-beanshell-snapshot-version
+commons-jelly/jars/commons-jelly-tags-betwixt-1.0-beta-1.20030104.095958.jar
+commons-jelly/jars/commons-jelly-tags-betwixt-20030211.144504.jar
+commons-jelly/jars/commons-jelly-tags-betwixt-20040902.071752.jar
+commons-jelly/jars/commons-jelly-tags-betwixt-snapshot-version
+commons-jelly/jars/commons-jelly-tags-bsf-1.0.jar
+commons-jelly/jars/commons-jelly-tags-bsf-20030211.142259.jar
+commons-jelly/jars/commons-jelly-tags-bsf-20030305.080050.jar
+commons-jelly/jars/commons-jelly-tags-fmt-1.0.jar
+commons-jelly/jars/commons-jelly-tags-bsf-20040902.071900.jar
+commons-jelly/jars/commons-jelly-tags-bsf-snapshot-version
+commons-jelly/jars/commons-jelly-tags-define-1.0.jar
+commons-jelly/jars/commons-jelly-tags-define-20030211.142932.jar
+commons-jelly/jars/commons-jelly-tags-define-20040902.072141.jar
+commons-jelly/jars/commons-jelly-tags-define-snapshot-version
+commons-jelly/jars/commons-jelly-tags-dynabean-1.0.jar
+commons-jelly/jars/commons-jelly-tags-dynabean-20030211.142601.jar
+commons-jelly/jars/commons-jelly-tags-dynabean-20040902.071946.jar
+commons-jelly/jars/commons-jelly-tags-email-1.0.jar
+commons-jelly/jars/commons-jelly-tags-email-20030211.144034.jar
+commons-jelly/jars/commons-jelly-tags-email-20040902.072224.jar
+commons-jelly/jars/commons-jelly-tags-email-snapshot-version
+commons-jelly/jars/commons-jelly-tags-fmt-20030211.142201.jar
+commons-jelly/jars/commons-jelly-tags-html-1.0.jar
+commons-jelly/jars/commons-jelly-tags-fmt-20040902.072321.jar
+commons-jelly/jars/commons-jelly-tags-fmt-snapshot-version
+commons-jelly/jars/commons-jelly-tags-html-1.0-beta-1.20030104.103227.jar
+commons-jelly/jars/commons-jelly-tags-html-20030211.143308.jar
+commons-jelly/jars/commons-jelly-tags-html-20030317.100924.jar
+commons-jelly/jars/commons-jelly-tags-html-20040902.072530.jar
+commons-jelly/jars/commons-jelly-tags-html-snapshot-version
+commons-jelly/jars/commons-jelly-tags-http-1.0-beta-1.20030104.141847.jar
+commons-jelly/jars/commons-jelly-tags-http-1.0.jar
+commons-jelly/jars/commons-jelly-tags-jaxme-1.0.jar
+commons-jelly/jars/commons-jelly-tags-http-20030211.143043.jar
+commons-jelly/jars/commons-jelly-tags-http-20040902.072620.jar
+commons-jelly/jars/commons-jelly-tags-http-snapshot-version
+commons-jelly/jars/commons-jelly-tags-interaction-1.0.jar
+commons-jelly/jars/commons-jelly-tags-interaction-1.1.jar
+commons-jelly/jars/commons-jelly-tags-jetty-1.0.jar
+commons-jelly/jars/commons-jelly-tags-interaction-20030211.143817.jar
+commons-jelly/jars/commons-jelly-tags-interaction-20040902.072702.jar
+commons-jelly/jars/commons-jelly-tags-interaction-snapshot-version
+commons-jelly/jars/commons-jelly-tags-jaxme-20040902.072852.jar
+commons-jelly/jars/commons-jelly-tags-jms-1.0.jar
+commons-jelly/jars/commons-jelly-tags-jms-20030211.142459.jar
+commons-jelly/jars/commons-jelly-tags-jaxme-snapshot-version
+commons-jelly/jars/commons-jelly-tags-jetty-1.0-beta-1.20030104.151258.jar
+commons-jelly/jars/commons-jelly-tags-jetty-20030211.144139.jar
+commons-jelly/jars/commons-jelly-tags-jetty-20040902.072943.jar
+commons-jelly/jars/commons-jelly-tags-jface-1.0.jar
+commons-jelly/jars/commons-jelly-tags-jetty-snapshot-version
+commons-jelly/jars/commons-jelly-tags-jface-20040902.073130.jar
+commons-jelly/jars/commons-jelly-tags-jface-snapshot-version
+commons-jelly/jars/commons-jelly-tags-jms-20040902.073216.jar
+commons-jelly/jars/commons-jelly-tags-jmx-1.0.jar
+commons-jelly/jars/commons-jelly-tags-jmx-20030320.165705.jar
+commons-jelly/jars/commons-jelly-tags-jms-snapshot-version
+commons-jelly/jars/commons-jelly-tags-jmx-20030320.165904.jar
+commons-jelly/jars/commons-jelly-tags-jmx-20040902.073310.jar
+commons-jelly/jars/commons-jelly-tags-jsl-1.0.jar
+commons-jelly/jars/commons-jelly-tags-jsl-20030211.143151.jar
+commons-jelly/jars/commons-jelly-tags-jmx-snapshot-version
+commons-jelly/jars/commons-jelly-tags-jsl-20040902.072431.jar
+commons-jelly/jars/commons-jelly-tags-jsl-snapshot-version
+commons-jelly/jars/commons-jelly-tags-junit-1.0.jar
+commons-jelly/jars/commons-jelly-tags-junit-snapshot-version
+commons-jelly/jars/commons-jelly-tags-junit-20030211.141731.jar
+commons-jelly/jars/commons-jelly-tags-junit-20040902.064627.jar
+commons-jelly/jars/commons-jelly-tags-junit-20040902.070920.jar
+commons-jelly/jars/commons-jelly-tags-log-1.0.jar
+commons-jelly/jars/commons-jelly-tags-log-20030211.142821.jar
+commons-jelly/jars/commons-jelly-tags-log-20040902.071410.jar
+commons-jelly/jars/commons-jelly-tags-log-snapshot-version
+commons-jelly/jars/commons-jelly-tags-ojb-1.0.jar
+commons-jelly/jars/commons-jelly-tags-ojb-20030211.141630.jar
+commons-jelly/jars/commons-jelly-tags-ojb-20040902.073352.jar
+commons-jelly/jars/commons-jelly-tags-ojb-snapshot-version
+commons-jelly/jars/commons-jelly-tags-quartz-1.0.jar
+commons-jelly/jars/commons-jelly-tags-quartz-20030211.144716.jar
+commons-jelly/jars/commons-jelly-tags-quartz-20040902.073433.jar
+commons-jelly/jars/commons-jelly-tags-quartz-snapshot-version
+commons-jelly/jars/commons-jelly-tags-regexp-1.0.jar
+commons-jelly/jars/commons-jelly-tags-soap-20030211.142401.jar
+commons-jelly/jars/commons-jelly-tags-soap-1.0.jar
+commons-jelly/jars/commons-jelly-tags-soap-20040902.073516.jar
+commons-jelly/jars/commons-jelly-tags-soap-snapshot-version
+commons-jelly/jars/commons-jelly-tags-sql-1.0.jar
+commons-jelly/jars/commons-jelly-tags-sql-20030211.144816.jar
+commons-jelly/jars/commons-jelly-tags-sql-20040902.073600.jar
+commons-jelly/jars/commons-jelly-tags-sql-snapshot-version
+commons-jelly/jars/commons-jelly-tags-swing-1.0-beta-1.20030104.104105.jar
+commons-jelly/jars/commons-jelly-tags-swing-1.0.jar
+commons-jelly/jars/commons-jelly-tags-swing-20030211.143925.jar
+commons-jelly/jars/commons-jelly-tags-swing-20040902.073656.jar
+commons-jelly/jars/commons-jelly-tags-swing-snapshot-version
+commons-jelly/jars/commons-jelly-tags-swt-1.0.jar
+commons-jelly/jars/commons-jelly-tags-swt-20030211.144614.jar
+commons-jelly/jars/commons-jelly-tags-swt-20030226.103913.jar
+commons-jelly/jars/commons-jelly-tags-util-1.0.jar
+commons-jelly/jars/commons-jelly-tags-swt-20030226.122214.jar
+commons-jelly/jars/commons-jelly-tags-swt-20040902.073028.jar
+commons-jelly/jars/commons-jelly-tags-swt-snapshot-version
+commons-jelly/jars/commons-jelly-tags-threads-1.0.jar
+commons-jelly/jars/commons-jelly-tags-threads-20030211.143515.jar
+commons-jelly/jars/commons-jelly-tags-threads-20040902.073749.jar
+commons-jelly/jars/commons-jelly-tags-threads-snapshot-version
+commons-jelly/jars/commons-jelly-tags-util-1.1.1.jar
+commons-jelly/jars/commons-jelly-tags-util-1.1.jar
+commons-jelly/jars/commons-jelly-tags-util-20030211.141939.jar
+commons-jelly/jars/commons-jelly-tags-util-20040902.071012.jar
+commons-jelly/jars/commons-jelly-tags-util-snapshot-version
+commons-jelly/jars/commons-jelly-tags-validate-1.0.jar
+commons-jelly/jars/commons-jelly-tags-validate-20030211.143411.jar
+commons-jelly/jars/commons-jelly-tags-validate-20030420.031608.jar
+commons-jelly/jars/commons-jelly-tags-validate-20030420.041030.jar
+commons-jelly/jars/commons-jelly-tags-validate-20040902.073836.jar
+commons-jelly/jars/commons-jelly-tags-validate-snapshot-version
+commons-jelly/jars/commons-jelly-tags-velocity-1.0.jar
+commons-jelly/jars/commons-jelly-tags-velocity-20030211.144921.jar
+commons-jelly/jars/commons-jelly-tags-velocity-20030303.205659.jar
+commons-jelly/jars/commons-jelly-tags-velocity-20040902.073917.jar
+commons-jelly/jars/commons-jelly-tags-velocity-snapshot-version
+commons-jelly/jars/commons-jelly-tags-xml-1.0.jar
+commons-jelly/jars/commons-jelly-tags-xml-1.1.jar
+commons-jelly/jars/commons-jelly-tags-xml-20030211.142705.jar
+commons-jelly/jars/commons-jelly-tags-xml-20040902.072037.jar
+commons-jelly/jars/commons-jelly-tags-xml-snapshot-version
+commons-jelly/jars/commons-jelly-tags-xmlunit-1.0.jar
+commons-jelly/jars/commons-jelly-tags-xmlunit-20030211.144251.jar
+commons-jelly/jars/commons-jelly-tags-xmlunit-20040902.072757.jar
+commons-jelly/jars/commons-jelly-tags-xmlunit-snapshot-version
+commons-jelly/poms/commons-jelly-1.0-RC1.pom
+commons-jelly/poms/commons-jelly-1.0.pom
+commons-jelly/poms/commons-jelly-20040902.064518.pom
+commons-jelly/poms/commons-jelly-tags-ant-20040902.000000.pom
+commons-jelly/poms/commons-jelly-20040902.070806.pom
+commons-jelly/poms/commons-jelly-snapshot-version
+commons-jelly/poms/commons-jelly-tags-ant-1.1.pom
+commons-jelly/poms/commons-jelly-tags-ant-20040902.071105.pom
+commons-jelly/poms/commons-jelly-tags-ant-snapshot-version
+commons-jelly/poms/commons-jelly-tags-antlr-20040902.071159.pom
+commons-jelly/poms/commons-jelly-tags-avalon-20040902.071300.pom
+commons-jelly/poms/commons-jelly-tags-antlr-snapshot-version
+commons-jelly/poms/commons-jelly-tags-avalon-snapshot-version
+commons-jelly/poms/commons-jelly-tags-bean-20040902.071526.pom
+commons-jelly/poms/commons-jelly-tags-bean-snapshot-version
+commons-jelly/poms/commons-jelly-tags-beanshell-20040902.071629.pom
+commons-jelly/poms/commons-jelly-tags-beanshell-snapshot-version
+commons-jelly/poms/commons-jelly-tags-betwixt-20040902.071752.pom
+commons-jelly/poms/commons-jelly-tags-betwixt-snapshot-version
+commons-jelly/poms/commons-jelly-tags-bsf-20040902.071900.pom
+commons-jelly/poms/commons-jelly-tags-define-20040902.072141.pom
+commons-jelly/poms/commons-jelly-tags-bsf-snapshot-version
+commons-jelly/poms/commons-jelly-tags-define-snapshot-version
+commons-jelly/poms/commons-jelly-tags-dynabean-20040902.071946.pom
+commons-jelly/poms/commons-jelly-tags-dynabean-snapshot-version
+commons-jelly/poms/commons-jelly-tags-email-20040902.072224.pom
+commons-jelly/poms/commons-jelly-tags-email-snapshot-version
+commons-jelly/poms/commons-jelly-tags-fmt-20040902.072321.pom
+commons-jelly/poms/commons-jelly-tags-fmt-snapshot-version
+commons-jelly/poms/commons-jelly-tags-html-20040902.072530.pom
+commons-jelly/poms/commons-jelly-tags-html-snapshot-version
+commons-jelly/poms/commons-jelly-tags-http-20040902.072620.pom
+commons-jelly/poms/commons-jelly-tags-http-snapshot-version
+commons-jelly/poms/commons-jelly-tags-interaction-1.1.pom
+commons-jelly/poms/commons-jelly-tags-interaction-20040902.072702.pom
+commons-jelly/poms/commons-jelly-tags-interaction-snapshot-version
+commons-jelly/poms/commons-jelly-tags-jaxme-20040902.072852.pom
+commons-jelly/poms/commons-jelly-tags-jaxme-snapshot-version
+commons-jelly/poms/commons-jelly-tags-jetty-20040902.072943.pom
+commons-jelly/poms/commons-jelly-tags-jetty-snapshot-version
+commons-jelly/poms/commons-jelly-tags-jface-20040902.073130.pom
+commons-jelly/poms/commons-jelly-tags-jface-snapshot-version
+commons-jelly/poms/commons-jelly-tags-jms-20040902.073216.pom
+commons-jelly/poms/commons-jelly-tags-jms-snapshot-version
+commons-jelly/poms/commons-jelly-tags-jmx-20040902.073310.pom
+commons-jelly/poms/commons-jelly-tags-jmx-snapshot-version
+commons-jelly/poms/commons-jelly-tags-jsl-20040902.072431.pom
+commons-jelly/poms/commons-jelly-tags-xml-1.1.pom
+commons-jelly/poms/commons-jelly-tags-jsl-snapshot-version
+commons-jelly/poms/commons-jelly-tags-junit-20040902.064627.pom
+commons-jelly/poms/commons-jelly-tags-junit-20040902.070920.pom
+commons-jelly/poms/commons-jelly-tags-junit-snapshot-version
+commons-jelly/poms/commons-jelly-tags-log-20040902.071410.pom
+commons-jelly/poms/commons-jelly-tags-log-snapshot-version
+commons-jelly/poms/commons-jelly-tags-ojb-20040902.073352.pom
+commons-jelly/poms/commons-jelly-tags-ojb-snapshot-version
+commons-jelly/poms/commons-jelly-tags-quartz-20040902.073433.pom
+commons-jelly/poms/commons-jelly-tags-quartz-snapshot-version
+commons-jelly/poms/commons-jelly-tags-soap-20040902.073516.pom
+commons-jelly/poms/commons-jelly-tags-soap-snapshot-version
+commons-jelly/poms/commons-jelly-tags-sql-20040902.073600.pom
+commons-jelly/poms/commons-jelly-tags-sql-snapshot-version
+commons-jelly/poms/commons-jelly-tags-swing-20040902.073656.pom
+commons-jelly/poms/commons-jelly-tags-swing-snapshot-version
+commons-jelly/poms/commons-jelly-tags-swt-20040902.073028.pom
+commons-jelly/poms/commons-jelly-tags-swt-snapshot-version
+commons-jelly/poms/commons-jelly-tags-threads-20040902.073749.pom
+commons-jelly/poms/commons-jelly-tags-threads-snapshot-version
+commons-jelly/poms/commons-jelly-tags-util-20040902.064720.pom
+commons-jelly/poms/commons-jelly-tags-util-20040902.071012.pom
+commons-jelly/poms/commons-jelly-tags-util-snapshot-version
+commons-jelly/poms/commons-jelly-tags-validate-20040902.073836.pom
+commons-jelly/poms/commons-jelly-tags-validate-snapshot-version
+commons-jelly/poms/commons-jelly-tags-velocity-20040902.073917.pom
+commons-jelly/poms/commons-jelly-tags-velocity-snapshot-version
+commons-jelly/poms/commons-jelly-tags-xml-20040902.072037.pom
+commons-jelly/poms/commons-jelly-tags-xml-snapshot-version
+commons-jelly/poms/commons-jelly-tags-xmlunit-20040902.072757.pom
+commons-jelly/poms/commons-jelly-tags-xmlunit-snapshot-version
+commons-jexl/distributions/KEYS
+commons-jexl/distributions/commons-jexl-1.0-RC1-src.tar.gz
+commons-jexl/distributions/commons-jexl-1.0-RC1-src.zip
+commons-jexl/distributions/commons-jexl-1.0-RC1.tar.gz
+commons-jexl/distributions/commons-jexl-1.0-RC1.zip
+commons-jexl/distributions/commons-jexl-1.0-src.tar.gz
+commons-jexl/distributions/commons-jexl-1.0-src.zip
+commons-jexl/distributions/commons-jexl-1.0.tar.gz
+commons-jexl/distributions/commons-jexl-1.0.zip
+commons-jexl/jars/commons-jexl-1.0-RC1.jar
+commons-jexl/jars/commons-jexl-1.0-beta-1.jar
+commons-jexl/jars/commons-jexl-1.0-beta-2.jar
+commons-jexl/jars/commons-jexl-1.0-dev.20020731.122830.jar
+commons-jexl/jars/commons-jexl-1.0-dev.jar
+commons-jexl/jars/commons-jexl-1.0-javadoc.jar
+commons-jexl/jars/commons-jexl-1.0.jar
+commons-jexl/jars/commons-jexl-20030307.151331.jar
+commons-jexl/jars/commons-jexl-20040901.055348.jar
+commons-jexl/jars/commons-jexl-snapshot-version
+commons-jexl/poms/commons-jexl-1.0-RC1.pom
+commons-jexl/poms/commons-jexl-20040901.055348.pom
+commons-jexl/poms/commons-jexl-snapshot-version
+commons-jux/jars/commons-jux-20030306.065700.jar
+commons-jux/jars/commons-jux-snapshot-version
+commons-jxpath/jars/commons-jxpath-0.1-dev.jar
+commons-jxpath/jars/commons-jxpath-1.0-javadoc.jar
+commons-jxpath/jars/commons-jxpath-1.0.jar
+commons-jxpath/jars/commons-jxpath-1.1-javadoc.jar
+commons-jxpath/jars/commons-jxpath-1.1.jar
+commons-jxpath/jars/commons-jxpath-1.2.jar
+commons-jxpath/poms/commons-jxpath-1.0.pom
+commons-jxpath/poms/commons-jxpath-1.1.pom
+commons-jxpath/poms/commons-jxpath-1.2.pom
+commons-lang/distributions/commons-lang-2.0.zip
+commons-lang/jars/commons-lang-0.1-dev.jar
+commons-lang/jars/commons-lang-1.0-b1.1.jar
+commons-lang/jars/commons-lang-1.0-b1.jar
+commons-lang/jars/commons-lang-2.3-javadoc.jar
+commons-lang/jars/commons-lang-1.0-dev.20020910.034641.jar
+commons-lang/jars/commons-lang-1.0-dev.jar
+commons-lang/jars/commons-lang-1.0-javadoc.jar
+commons-lang/jars/commons-lang-1.0.1-javadoc.jar
+commons-lang/jars/commons-lang-1.0.1.jar
+commons-lang/jars/commons-lang-1.0.jar
+commons-lang/jars/commons-lang-1.1-dev.20021217.062015.jar
+commons-lang/jars/commons-lang-2.0-dev.20030203.000129.jar
+commons-lang/jars/commons-lang-2.0-javadoc.jar
+commons-lang/jars/commons-lang-2.0.jar
+commons-lang/jars/commons-lang-2.1-javadoc.jar
+commons-lang/jars/commons-lang-2.1.jar
+commons-lang/jars/commons-lang-snapshot-version
+commons-lang/jars/commons-lang-2.3.jar
+commons-lang/jars/commons-lang-2.3-sources.jar
+commons-lang/poms/commons-lang-1.0.1.pom
+commons-lang/poms/commons-lang-1.0.pom
+commons-lang/poms/commons-lang-2.0.pom
+commons-lang/poms/commons-lang-2.1.pom
+commons-lang/poms/commons-lang-2.3.pom
+commons-latka/jars/commons-latka-1.0-alpha1-javadoc.jar
+commons-latka/jars/commons-latka-1.0-dev.20021208.082252.jar
+commons-latka/jars/commons-latka-1.0-dev.20021208.125541.jar
+commons-latka/jars/commons-latka-1.0-dev.20021208.130300.jar
+commons-latka/jars/commons-latka-1.0-dev.20021217.141322.jar
+commons-latka/jars/commons-latka-1.0-dev.20030107.163533.jar
+commons-launcher/jars/commons-launcher-0.9-javadoc.jar
+commons-launcher/jars/commons-launcher-1.1-javadoc.jar
+commons-logging/jars/commons-logging-1.0-javadoc.jar
+commons-logging/jars/commons-logging-1.0.1-javadoc.jar
+commons-logging/jars/commons-logging-1.0.1.jar
+commons-logging/jars/commons-logging-1.0.2-javadoc.jar
+commons-logging/jars/commons-logging-1.0.2.jar
+commons-logging/jars/commons-logging-1.0.3-javadoc.jar
+commons-logging/jars/commons-logging-1.0.3.jar
+commons-logging/jars/commons-logging-1.0.4-javadoc.jar
+commons-logging/jars/commons-logging-1.0.4.jar
+commons-logging/jars/commons-logging-1.0.jar
+commons-logging/jars/commons-logging-1.1-dev.jar
+commons-logging/jars/commons-logging-1.1.jar
+commons-logging/jars/commons-logging-adapters-1.1.jar
+commons-logging/jars/commons-logging-api-1.0.3.jar
+commons-logging/jars/commons-logging-api-1.0.4.jar
+commons-logging/jars/commons-logging-api-1.1.jar
+commons-logging/jars/commons-logging-api-snapshot-version
+commons-logging/jars/commons-logging-snapshot-version
+commons-logging/poms/commons-logging-1.0.1.pom
+commons-logging/poms/commons-logging-1.0.2.pom
+commons-logging/poms/commons-logging-1.0.3.pom
+commons-logging/poms/commons-logging-1.0.4.pom
+commons-logging/poms/commons-logging-1.1.pom
+commons-logging/poms/commons-logging-api-1.1.pom
+commons-math/distributions/commons-math-20040118.003950-src.tar.gz
+commons-math/distributions/commons-math-20040118.003950-src.zip
+commons-math/distributions/commons-math-20040118.003950.tar.gz
+commons-math/distributions/commons-math-20040118.003950.zip
+commons-math/jars/commons-math-1.0-javadoc.jar
+commons-math/jars/commons-math-1.0.jar
+commons-math/jars/commons-math-1.1.jar
+commons-math/jars/commons-math-20040118.003354.jar
+commons-math/jars/commons-math-20040218.045431.jar
+commons-math/jars/commons-math-snapshot-version
+commons-math/poms/commons-math-1.0.pom
+commons-math/poms/commons-math-1.1.pom
+commons-messenger/jars/commons-messenger-1.0-dev-10.jar
+commons-messenger/jars/commons-messenger-1.0-dev-11.jar
+commons-messenger/jars/commons-messenger-1.0-dev-12.jar
+commons-messenger/jars/commons-messenger-1.0-dev-13.jar
+commons-messenger/jars/commons-messenger-1.0-dev-14.jar
+commons-messenger/jars/commons-messenger-1.0-dev-2.jar
+commons-messenger/jars/commons-messenger-1.0-dev-4.jar
+commons-messenger/jars/commons-messenger-1.0-dev-5.jar
+commons-messenger/jars/commons-messenger-1.0-dev-6.jar
+commons-messenger/jars/commons-messenger-1.0-dev-8.jar
+commons-messenger/jars/commons-messenger-1.0-dev.20020708.025623.jar
+commons-messenger/jars/commons-messenger-1.0-dev.20020708.042042.jar
+commons-messenger/jars/commons-messenger-1.0-dev.20020906.115547.jar
+commons-messenger/jars/commons-messenger-1.0-dev.jar
+commons-modeler/jars/commons-modeler-1.0-javadoc.jar
+commons-modeler/jars/commons-modeler-1.1-dev.jar
+commons-modeler/jars/commons-modeler-1.1-javadoc.jar
+commons-modeler/jars/commons-modeler-1.1.jar
+commons-modeler/jars/commons-modeler-2.0.1.jar
+commons-modeler/jars/commons-modeler-1.1M1.jar
+commons-modeler/jars/commons-modeler-2.0.jar
+commons-modeler/jars/commons-modeler-2.0.1-javadoc.jar
+commons-modeler/jars/commons-modeler-2.0.1-sources.jar
+commons-modeler/poms/commons-modeler-1.1.pom
+commons-modeler/poms/commons-modeler-2.0.pom
+commons-modeler/poms/commons-modeler-2.0.1.pom
+commons-naming/jars/commons-naming-core-20031116.223527.jar
+commons-naming/jars/commons-naming-factory-20031116.223742.jar
+commons-naming/jars/commons-naming-core-snapshot-version
+commons-naming/jars/commons-naming-factory-20031201.015542.jar
+commons-naming/jars/commons-naming-factory-snapshot-version
+commons-net/jars/commons-net-1.0.0-javadoc.jar
+commons-net/jars/commons-net-1.0.0.jar
+commons-net/jars/commons-net-1.1.0-javadoc.jar
+commons-net/jars/commons-net-1.1.0.jar
+commons-net/jars/commons-net-1.2.0-javadoc.jar
+commons-net/jars/commons-net-1.2.1-javadoc.jar
+commons-net/jars/commons-net-1.2.1.jar
+commons-net/jars/commons-net-1.2.2-javadoc.jar
+commons-net/jars/commons-net-1.3.0-javadoc.jar
+commons-net/jars/commons-net-1.3.0.jar
+commons-net/jars/commons-net-1.4.0-javadoc.jar
+commons-net/jars/commons-net-1.4.0.jar
+commons-net/jars/commons-net-1.4.1-javadoc.jar
+commons-net/jars/commons-net-1.4.1.jar
+commons-net/jars/commons-net-20030211.160026.jar
+commons-net/jars/commons-net-20030623.125255.jar
+commons-net/jars/commons-net-20030805.205232.jar
+commons-net/jars/commons-net-snapshot-version
+commons-net/poms/commons-net-1.0.0.pom
+commons-net/poms/commons-net-1.1.0.pom
+commons-net/poms/commons-net-1.2.1.pom
+commons-net/poms/commons-net-1.3.0.pom
+commons-net/poms/commons-net-1.4.0.pom
+commons-net/poms/commons-net-1.4.1.pom
+commons-pool/jars/commons-pool-1.0-javadoc.jar
+commons-pool/jars/commons-pool-1.0.1-javadoc.jar
+commons-pool/jars/commons-pool-1.0.1.jar
+commons-pool/jars/commons-pool-1.0.jar
+commons-pool/jars/commons-pool-1.1-RC1.jar
+commons-pool/jars/commons-pool-1.1-RC2.jar
+commons-pool/jars/commons-pool-1.1-dev.jar
+commons-pool/jars/commons-pool-1.1-javadoc.jar
+commons-pool/jars/commons-pool-1.1.jar
+commons-pool/jars/commons-pool-1.2-javadoc.jar
+commons-pool/jars/commons-pool-1.2.jar
+commons-pool/jars/commons-pool-1.3.jar
+commons-pool/jars/commons-pool-20020501.jar
+commons-pool/jars/commons-pool-20030623.172700.jar
+commons-pool/jars/commons-pool-20030818.195203.jar
+commons-pool/jars/commons-pool-20030821.192746.jar
+commons-pool/jars/commons-pool-20030825.183949.jar
+commons-pool/jars/commons-pool-snapshot-version
+commons-pool/poms/commons-pool-1.0.1.pom
+commons-pool/poms/commons-pool-1.1.pom
+commons-pool/poms/commons-pool-1.2.pom
+commons-pool/poms/commons-pool-1.3.pom
+commons-primitives/jars/commons-primitives-1.0-javadoc.jar
+commons-primitives/poms/commons-primitives.xml
+commons-scxml/distributions/commons-scxml-0.5-src.tar.gz
+commons-scxml/distributions/commons-scxml-0.5-src.zip
+commons-scxml/distributions/commons-scxml-0.5.tar.gz
+commons-scxml/distributions/commons-scxml-0.5.zip
+commons-scxml/distributions/commons-scxml-0.6-src.zip
+commons-scxml/distributions/commons-scxml-0.6-src.tar.gz
+commons-scxml/distributions/commons-scxml-0.6.tar.gz
+commons-scxml/distributions/commons-scxml-0.6.zip
+commons-scxml/jars/commons-scxml-0.5.jar
+commons-scxml/jars/commons-scxml-0.6.jar
+commons-scxml/poms/commons-scxml-0.5.pom
+commons-scxml/poms/commons-scxml-0.6.pom
+commons-sql/jars/commons-sql-1.0-dev.jar
+commons-sql/jars/commons-sql-20040118.000852.jar
+commons-sql/jars/commons-sql-snapshot-version
+commons-threadpool/jars/commons-threadpool-1.0-dev.20021010.081157.jar
+commons-threadpool/jars/commons-threadpool-20030513.073905.jar
+commons-threadpool/jars/commons-threadpool-snapshot-version
+commons-transaction/jars/commons-transaction-1.0-javadoc.jar
+commons-transaction/jars/commons-transaction-1.0.1-javadoc.jar
+commons-transaction/jars/commons-transaction-1.1-javadoc.jar
+commons-transaction/jars/commons-transaction-1.1.jar
+commons-transaction/jars/commons-transaction-1.2.jar
+commons-transaction/poms/commons-transaction-1.1.pom
+commons-transaction/poms/commons-transaction-1.2.pom
+commons-util/jars/commons-util-1.0-rc2-dev.20020814.103359.jar
+commons-util/jars/commons-util-1.0-rc2-dev.20021217.063141.jar
+commons-util/jars/commons-util-1.0-rc2-dev.jar
+commons-util/jars/commons-utils-snapshot-version
+commons-validator/distributions/commons-validator-1.1.3-src.tar.gz.MD5
+commons-validator/distributions/commons-validator-1.1.3-src.tar.gz
+commons-validator/distributions/commons-validator-1.1.3-src.zip.MD5
+commons-validator/distributions/commons-validator-1.1.3-src.zip
+commons-validator/distributions/commons-validator-1.1.3.tar.gz.MD5
+commons-validator/distributions/commons-validator-1.1.3.tar.gz
+commons-validator/distributions/commons-validator-1.1.3.zip.MD5
+commons-validator/distributions/commons-validator-1.1.3.zip
+commons-validator/jars/commons-validator-1.0-javadoc.jar
+commons-validator/jars/commons-validator-1.0.1-javadoc.jar
+commons-validator/jars/commons-validator-1.0.1.jar
+commons-validator/jars/commons-validator-1.0.2-javadoc.jar
+commons-validator/jars/commons-validator-1.3.1.jar
+commons-validator/jars/commons-validator-1.0.2.jar
+commons-validator/jars/commons-validator-1.0.jar
+commons-validator/jars/commons-validator-1.1.3-javadoc.jar
+commons-validator/jars/commons-validator-1.1.3-src.tar.gz
+commons-validator/jars/commons-validator-1.1.3-src.tar.gz.MD5
+commons-validator/jars/commons-validator-1.1.3-src.zip
+commons-validator/jars/commons-validator-1.1.3-src.zip.MD5
+commons-validator/jars/commons-validator-1.1.3.jar
+commons-validator/jars/commons-validator-1.1.3.tar.gz
+commons-validator/jars/commons-validator-1.1.3.tar.gz.MD5
+commons-validator/jars/commons-validator-1.1.3.zip
+commons-validator/jars/commons-validator-1.1.3.zip.MD5
+commons-validator/jars/commons-validator-1.1.4-javadoc.jar
+commons-validator/jars/commons-validator-1.1.4.jar
+commons-validator/jars/commons-validator-1.2.0-javadoc.jar
+commons-validator/jars/commons-validator-1.2.0.jar
+commons-validator/jars/commons-validator-1.3.0.jar
+commons-validator/jars/struts-help.html
+commons-validator/jars/commons-validator-1.3.1-sources.jar
+commons-validator/poms/commons-validator-1.0.1.pom
+commons-validator/poms/commons-validator-1.0.2.pom
+commons-validator/poms/commons-validator-1.0.pom
+commons-validator/poms/commons-validator-1.2.0.pom
+commons-validator/poms/commons-validator-1.3.1.pom
+commons-validator/poms/commons-validator-1.3.0.pom
+commons-vfs/jars/commons-vfs-1.0.jar
+commons-vfs/poms/commons-vfs-1.0.pom
+commons-xo/jars/commons-xo-0.8.jar
+commons-xo/jars/commons-xo-1.0-20020507.jar
+cornerstone-connection/jars/cornerstone-connection-api-1.0.jar
+cornerstone-connection/jars/cornerstone-connection-api-2.1.jar
+cornerstone-connection/jars/cornerstone-connection-impl-1.0.jar
+cornerstone-connection/jars/cornerstone-connection-impl-2.1.jar
+cornerstone-connection/poms/cornerstone-connection-api-2.1.pom
+cornerstone-connection/poms/cornerstone-connection-impl-2.1.pom
+cornerstone-datasources/jars/cornerstone-datasources-api-1.0.jar
+cornerstone-datasources/jars/cornerstone-datasources-api-2.1.jar
+cornerstone-datasources/jars/cornerstone-datasources-impl-1.0.jar
+cornerstone-datasources/jars/cornerstone-datasources-impl-2.1.jar
+cornerstone-datasources/poms/cornerstone-datasources-api-2.1.pom
+cornerstone-datasources/poms/cornerstone-datasources-impl-2.1.pom
+cornerstone-scheduler/jars/cornerstone-scheduler-api-1.0.jar
+cornerstone-scheduler/jars/cornerstone-scheduler-api-2.1.jar
+cornerstone-scheduler/jars/cornerstone-scheduler-impl-1.0.jar
+cornerstone-scheduler/jars/cornerstone-scheduler-impl-2.1.jar
+cornerstone-scheduler/poms/cornerstone-scheduler-api-2.1.pom
+cornerstone-scheduler/poms/cornerstone-scheduler-impl-2.1.pom
+cornerstone-sockets/jars/cornerstone-sockets-api-1.0.jar
+cornerstone-sockets/jars/cornerstone-sockets-api-2.1.jar
+cornerstone-sockets/jars/cornerstone-sockets-impl-1.0.jar
+cornerstone-sockets/jars/cornerstone-sockets-impl-2.1.jar
+cornerstone-sockets/poms/cornerstone-sockets-api-2.1.pom
+cornerstone-sockets/poms/cornerstone-sockets-impl-2.1.pom
+cornerstone-store/jars/cornerstone-store-api-1.0.jar
+cornerstone-store/jars/cornerstone-store-api-2.1.jar
+cornerstone-store/jars/cornerstone-store-impl-1.0.jar
+cornerstone-store/jars/cornerstone-store-impl-1.1.jar
+cornerstone-store/jars/cornerstone-store-impl-2.1.jar
+cornerstone-store/poms/cornerstone-store-api-2.1.pom
+cornerstone-store/poms/cornerstone-store-impl-2.1.pom
+cornerstone-threads/jars/cornerstone-threads-api-1.0.jar
+cornerstone-threads/jars/cornerstone-threads-api-2.1.jar
+cornerstone-threads/jars/cornerstone-threads-impl-1.0.jar
+cornerstone-threads/jars/cornerstone-threads-impl-2.1.jar
+cornerstone-threads/jars/cornerstone-threads-tutorial-1.0.jar
+cornerstone-threads/jars/cornerstone-threads-tutorial-2.1.jar
+cornerstone-threads/poms/cornerstone-threads-api-2.1.pom
+cornerstone-threads/poms/cornerstone-threads-impl-2.1.pom
+cornerstone-threads/poms/cornerstone-threads-tutorial-2.1.pom
+crimson/jars/crimson-1.1.3.jar
+directory/distributions/apacheds-0.9-src.tar.gz
+directory/distributions/apacheds-0.9-src.zip
+directory/distributions/apacheds-0.9.2-src.tar.gz
+directory/distributions/apacheds-0.9.2-src.zip
+directory/distributions/apacheds-0.9.tar.gz
+directory/distributions/apacheds-0.9.zip
+directory/jars/apacheds-core-0.9.1.jar
+directory/jars/apacheds-core-0.9.2.jar
+directory/jars/apacheds-core-0.9.3.jar
+directory/jars/apacheds-core-0.9.jar
+directory/jars/apacheds-main-0.9.1.jar
+directory/jars/apacheds-main-0.9.2.jar
+directory/jars/apacheds-main-0.9.3.jar
+directory/jars/apacheds-main-0.9.jar
+directory/jars/apacheds-shared-0.9.1.jar
+directory/jars/apacheds-shared-0.9.2.jar
+directory/jars/apacheds-shared-0.9.3.jar
+directory/jars/apacheds-shared-0.9.jar
+directory/jars/ldap-common-20031205.013436.jar
+directory/plugins/maven-directory-plugin-0.9.1.jar
+directory/plugins/maven-directory-plugin-0.9.2.jar
+directory/plugins/maven-directory-plugin-0.9.3.jar
+directory/plugins/maven-directory-plugin-0.9.jar
+directory/poms/apacheds-0.9.pom
+directory/poms/apacheds-core-0.9.2.pom
+directory/poms/apacheds-core-0.9.3.pom
+directory/poms/apacheds-core-0.9.pom
+directory/poms/apacheds-main-0.9.2.pom
+directory/poms/apacheds-main-0.9.3.pom
+directory/poms/apacheds-main-0.9.pom
+directory/poms/apacheds-shared-0.9.2.pom
+directory/poms/apacheds-shared-0.9.3.pom
+directory/poms/maven-directory-plugin-0.9.2.pom
+directory/poms/apacheds-shared-0.9.pom
+directory/poms/maven-directory-plugin-0.9.3.pom
+directory/poms/maven-directory-plugin-0.9.pom
+directory-asn1/jars/asn1-ber-0.3.2.jar
+directory-asn1/jars/asn1-ber-0.3.3.jar
+directory-asn1/jars/asn1-ber-0.3.jar
+directory-asn1/jars/asn1-codec-0.3.2.jar
+directory-asn1/jars/asn1-codec-0.3.3.jar
+directory-asn1/jars/asn1-codec-0.3.jar
+directory-asn1/jars/asn1-der-0.3.2.jar
+directory-asn1/jars/asn1-der-0.3.3.jar
+directory-asn1/jars/asn1-der-0.3.jar
+directory-asn1/jars/asn1-new-ber-0.3.3.jar
+directory-asn1/jars/stub-compiler-0.3.2.jar
+directory-asn1/jars/stub-compiler-0.3.jar
+directory-asn1/poms/asn1-0.3.3.pom
+directory-asn1/poms/asn1-ber-0.3.2.pom
+directory-asn1/poms/asn1-ber-0.3.3.pom
+directory-asn1/poms/asn1-ber-0.3.pom
+directory-asn1/poms/asn1-codec-0.3.2.pom
+directory-asn1/poms/asn1-codec-0.3.3.pom
+directory-asn1/poms/asn1-codec-0.3.pom
+directory-asn1/poms/asn1-der-0.3.2.pom
+directory-asn1/poms/asn1-der-0.3.3.pom
+directory-asn1/poms/asn1-der-0.3.pom
+directory-asn1/poms/asn1-new-ber-0.3.3.pom
+directory-asn1/poms/stub-compiler-0.3.2.pom
+directory-asn1/poms/stub-compiler-0.3.pom
+directory-clients/jars/ldap-clients-0.9.jar
+directory-clients/poms/ldap-clients-0.9-SNAPSHOT.pom
+directory-clients/poms/ldap-clients-0.9.1-SNAPSHOT.pom
+directory-clients/poms/ldap-clients-0.9.pom
+directory-naming/jars/naming-config-0.8.jar
+directory-naming/jars/naming-core-0.8.jar
+directory-naming/jars/naming-factory-0.8.jar
+directory-naming/jars/naming-java-0.8.jar
+directory-naming/jars/naming-management-0.8.jar
+directory-naming/jars/naming-resources-0.8.jar
+directory-naming/poms/naming-config-0.8.pom
+directory-naming/poms/naming-core-0.8.pom
+directory-naming/poms/naming-core-0.9-dev.pom
+directory-naming/poms/naming-factory-0.8.pom
+directory-naming/poms/naming-java-0.8.pom
+directory-naming/poms/naming-management-0.8.pom
+directory-naming/poms/naming-resources-0.8.pom
+directory-network/jars/mina-0.7.1.jar
+directory-network/jars/mina-0.7.2.jar
+directory-network/jars/mina-0.7.3.jar
+directory-network/jars/mina-0.7.4.jar
+directory-network/jars/mina-0.7.jar
+directory-network/jars/mina-0.8.0.jar
+directory-network/jars/mina-0.8.1.jar
+directory-network/jars/mina-0.8.2.jar
+directory-network/jars/mina-0.9.0.jar
+directory-network/poms/mina-0.7.1.pom
+directory-network/poms/mina-0.7.2.pom
+directory-network/poms/mina-0.7.3.pom
+directory-network/poms/mina-0.7.4.pom
+directory-network/poms/mina-0.7.pom
+directory-network/poms/mina-0.8.0.pom
+directory-network/poms/mina-0.8.1.pom
+directory-network/poms/mina-0.8.2.pom
+directory-network/poms/mina-0.9.0.pom
+directory-network/KEYS
+directory-protocols/jars/kerberos-protocol-0.4.jar
+directory-protocols/jars/ldap-protocol-0.9.jar
+directory-protocols/poms/kerberos-protocol-0.4.pom
+directory-protocols/poms/ldap-protocol-0.9.pom
+directory-shared/jars/apache-ldapber-provider-0.9.2.jar
+directory-shared/jars/apache-ldapber-provider-0.9.3.jar
+directory-shared/jars/apache-ldapber-provider-0.9.jar
+directory-shared/jars/apache-new-ldapber-provider-0.9.3.jar
+directory-shared/jars/kerberos-common-0.4.jar
+directory-shared/jars/kerberos-common-0.5.jar
+directory-shared/jars/ldap-common-0.9.2.jar
+directory-shared/jars/ldap-common-0.9.3.jar
+directory-shared/jars/ldap-common-0.9.jar
+directory-shared/jars/ldap-snacc-provider-0.9.2.jar
+directory-shared/jars/ldap-snacc-provider-0.9.3.jar
+directory-shared/jars/ldap-snacc-provider-0.9.jar
+directory-shared/poms/apache-ldapber-provider-0.9.2.pom
+directory-shared/poms/apache-ldapber-provider-0.9.3.pom
+directory-shared/poms/apache-ldapber-provider-0.9.pom
+directory-shared/poms/apache-new-ldapber-provider-0.9.3.pom
+directory-shared/poms/kerberos-common-0.4.pom
+directory-shared/poms/kerberos-common-0.5.pom
+directory-shared/poms/ldap-common-0.9.2.pom
+directory-shared/poms/ldap-common-0.9.3.pom
+directory-shared/poms/ldap-common-0.9.pom
+directory-shared/poms/ldap-snacc-provider-0.9.2.pom
+directory-shared/poms/ldap-snacc-provider-0.9.3.pom
+directory-shared/poms/ldap-snacc-provider-0.9.pom
+excalibur/jars/excalibur-collections-1.0.jar
+excalibur/jars/excalibur-configuration-1.0.jar
+excalibur/jars/excalibur-event-2.0.jar
+excalibur/jars/excalibur-extension-1.0.jar
+excalibur/jars/excalibur-i18n-1.0.jar
+excalibur/jars/excalibur-instrument-0.3.jar
+excalibur/jars/excalibur-testcase-1.0.jar
+excalibur/jars/excalibur-thread-1.1.jar
+excalibur/jars/excalibur-threadcontext-1.0.jar
+excalibur/jars/excalibur-util-concurrent-1.3.1.jar
+excalibur-altrmi/jars/excalibur-altrmi-client-impl-0.7.jar
+excalibur-altrmi/jars/excalibur-altrmi-client-interfaces-0.7.jar
+excalibur-altrmi/jars/excalibur-altrmi-common-0.7.jar
+excalibur-altrmi/jars/excalibur-altrmi-generator-0.7.jar
+excalibur-altrmi/jars/excalibur-altrmi-server-impl-0.7.jar
+excalibur-altrmi/jars/excalibur-altrmi-server-interfaces-0.7.jar
+excalibur-cli/jars/excalibur-cli-1.0.jar
+excalibur-collections/jars/excalibur-collections-1.0.jar
+excalibur-collections/jars/excalibur-collections-20020820.jar
+excalibur-component/jars/excalibur-component-1.0.jar
+excalibur-component/jars/excalibur-component-1.1.jar
+excalibur-component/jars/excalibur-component-1.2.jar
+excalibur-component/jars/excalibur-component-2.1.jar
+excalibur-component/jars/excalibur-component-20020916.jar
+excalibur-component/jars/excalibur-testcase-2.1.jar
+excalibur-component/poms/excalibur-component-2.1.pom
+excalibur-component/poms/excalibur-testcase-2.1.pom
+excalibur-component-examples/jars/excalibur-component-examples-2.1.jar
+excalibur-component-examples/poms/excalibur-component-examples-2.1.pom
+excalibur-component-tests/jars/excalibur-component-tests-2.1.jar
+excalibur-component-tests/poms/excalibur-component-tests-2.1.pom
+excalibur-concurrent/jars/excalibur-concurrent-1.0.jar
+excalibur-concurrent/jars/excalibur-concurrent-20020820.jar
+excalibur-configuration/distributions/excalibur-configuration-1.1-RC1-src.tar.gz
+excalibur-configuration/distributions/excalibur-configuration-1.1-RC1-src.zip
+excalibur-configuration/distributions/excalibur-configuration-1.1-RC1.tar.gz
+excalibur-configuration/distributions/excalibur-configuration-1.1-RC1.zip
+excalibur-configuration/distributions/excalibur-configuration-1.1-src.tar.gz
+excalibur-configuration/distributions/excalibur-configuration-1.1-src.zip
+excalibur-configuration/distributions/excalibur-configuration-1.1.tar.gz
+excalibur-configuration/distributions/excalibur-configuration-1.1.zip
+excalibur-configuration/jars/excalibur-configuration-1.0.jar
+excalibur-configuration/jars/excalibur-configuration-1.1-RC1.jar
+excalibur-configuration/jars/excalibur-configuration-1.1-dev.jar
+excalibur-configuration/jars/excalibur-configuration-1.1.jar
+excalibur-configuration/jars/excalibur-configuration-1.2.jar
+excalibur-containerkit/jars/excalibur-containerkit-1.0.jar
+excalibur-datasource/jars/excalibur-datasource-1.1.1.jar
+excalibur-datasource/jars/excalibur-datasource-1.2.0.jar
+excalibur-datasource/jars/excalibur-datasource-cluster-1.1.1a.jar
+excalibur-datasource/jars/excalibur-datasource-2.1.jar
+excalibur-datasource/jars/excalibur-datasource-ids-1.1.1a.jar
+excalibur-datasource/jars/excalibur-datasource-vm14-20021121.jar
+excalibur-datasource/poms/excalibur-datasource-2.1.pom
+fop/jars/fop-0.20.3.jar
+fop/jars/fop-0.20.4.jar
+fop/jars/fop-0.20.5-rc3-alpha.jar
+fop/jars/fop-0.20.5.jar
+fop/jars/fop-0.20.5rc2.jar
+fop/jars/fop-0.93-jdk15.jar
+fop/jars/fop-0.93-jdk14.jar
+excalibur-event/distributions/excalibur-event-1.0.3.zip
+excalibur-event/jars/excalibur-event-1.0.3.jar
+excalibur-event/jars/excalibur-event-1.0a.jar
+excalibur-event/jars/excalibur-event-20030217.000000.jar
+excalibur-event/jars/excalibur-event-api-1.0.4-dev.jar
+excalibur-event/jars/excalibur-event-api-2.1.jar
+excalibur-event/jars/excalibur-event-impl-1.0.4-dev.jar
+excalibur-event/jars/excalibur-event-impl-2.1.jar
+excalibur-event/jars/excalibur-event-snapshot-version
+excalibur-event/poms/excalibur-event-api-2.1.pom
+excalibur-event/poms/excalibur-event-impl-2.1.pom
+excalibur-extension/jars/excalibur-extension-1.0.jar
+excalibur-fortress/jars/excalibur-fortress-1.0.jar
+excalibur-fortress/jars/excalibur-fortress-bean-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-cli-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-complete-1.0.jar
+excalibur-fortress/jars/excalibur-fortress-container-api-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-container-impl-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-container-test-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-examples-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-meta-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-migration-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-servlet-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-testcase-1.2.jar
+excalibur-fortress/jars/excalibur-fortress-tools-1.0.jar
+excalibur-fortress/poms/excalibur-fortress-bean-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-cli-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-container-api-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-container-impl-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-meta-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-container-test-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-examples-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-migration-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-platform-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-servlet-1.2.pom
+excalibur-fortress/poms/excalibur-fortress-testcase-1.2.pom
+excalibur-i18n/distributions/excalibur-i18n-1.1-RC1-src.tar.gz
+excalibur-i18n/distributions/excalibur-i18n-1.1-RC1-src.zip
+excalibur-i18n/distributions/excalibur-i18n-1.1-RC1.tar.gz
+excalibur-i18n/distributions/excalibur-i18n-1.1-RC1.zip
+excalibur-i18n/distributions/excalibur-i18n-1.1-src.tar.gz
+excalibur-i18n/distributions/excalibur-i18n-1.1-src.zip
+excalibur-i18n/distributions/excalibur-i18n-1.1-tar.gz
+excalibur-i18n/distributions/excalibur-i18n-1.1.zip
+excalibur-i18n/jars/excalibur-i18n-1.0.jar
+excalibur-i18n/jars/excalibur-i18n-1.1-RC1.jar
+excalibur-i18n/jars/excalibur-i18n-1.1.jar
+excalibur-instrument/jars/excalibur-instrument-0.1.jar
+excalibur-instrument/jars/excalibur-instrument-1.0.jar
+excalibur-instrument/jars/excalibur-instrument-20021108.jar
+excalibur-instrument/jars/excalibur-instrument-api-2.1.jar
+excalibur-instrument/jars/excalibur-instrument-client-2.1.jar
+excalibur-instrument/jars/excalibur-instrument-mgr-api-2.1.jar
+excalibur-instrument/jars/excalibur-instrument-mgr-http-2.1.jar
+excalibur-instrument/jars/excalibur-instrument-mgr-impl-2.1.jar
+excalibur-instrument/poms/excalibur-instrument-api-2.1.pom
+excalibur-instrument/poms/excalibur-instrument-client-2.1.pom
+excalibur-instrument/poms/excalibur-instrument-mgr-api-2.1.pom
+excalibur-instrument/poms/excalibur-instrument-mgr-http-2.1.pom
+excalibur-instrument/poms/excalibur-instrument-mgr-impl-2.1.pom
+excalibur-instrument-manager/jars/excalibur-instrument-manager-0.1.jar
+excalibur-instrument-manager/jars/excalibur-instrument-manager-1.0.jar
+excalibur-instrument-manager/jars/excalibur-instrument-manager-20021108.jar
+excalibur-instrument-manager-interfaces/jars/excalibur-instrument-manager-interfaces-0.1.jar
+excalibur-instrument-manager-interfaces/jars/excalibur-instrument-manager-interfaces-1.0.jar
+excalibur-instrument-manager-interfaces/jars/excalibur-instrument-manager-interfaces-20021108.jar
+excalibur-io/jars/excalibur-io-1.1.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-1.0.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-api-1.0.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-api-1.1.0.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-api-1.1.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-api-2.1.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-impl-1.0.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-impl-1.1.0.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-impl-1.1.jar
+excalibur-lifecycle/jars/excalibur-lifecycle-impl-2.1.jar
+excalibur-lifecycle/poms/excalibur-lifecycle-api-2.1.pom
+excalibur-lifecycle/poms/excalibur-lifecycle-impl-2.1.pom
+excalibur-logger/jars/excalibur-logger-1.0.1.jar
+excalibur-logger/jars/excalibur-logger-1.0.jar
+excalibur-logger/jars/excalibur-logger-1.1.jar
+excalibur-logger/jars/excalibur-logger-2.1.jar
+excalibur-logger/jars/excalibur-logger-20020820.jar
+excalibur-logger/poms/excalibur-logger-2.1.pom
+excalibur-monitor/jars/excalibur-monitor-1.0.jar
+excalibur-monitor/jars/excalibur-monitor-2.1.jar
+excalibur-monitor/jars/excalibur-monitor-20020820.jar
+excalibur-monitor/poms/excalibur-monitor-2.1.pom
+excalibur-mpool/jars/excalibur-mpool-1.0.jar
+excalibur-naming/jars/excalibur-naming-1.0.jar
+excalibur-pool/jars/excalibur-pool-1.0.jar
+excalibur-pool/jars/excalibur-pool-1.2.jar
+excalibur-pool/jars/excalibur-pool-20020820.jar
+excalibur-pool/jars/excalibur-pool-api-2.0.0.jar
+excalibur-pool/jars/excalibur-pool-instrumented-2.0.0.jar
+excalibur-pool/jars/excalibur-pool-api-2.0.jar
+excalibur-pool/jars/excalibur-pool-api-2.1.jar
+excalibur-pool/jars/excalibur-pool-impl-2.0.0.jar
+excalibur-pool/jars/excalibur-pool-impl-2.0.jar
+excalibur-pool/jars/excalibur-pool-impl-2.1.jar
+excalibur-pool/jars/excalibur-pool-instrumented-2.0.jar
+excalibur-pool/jars/excalibur-pool-instrumented-2.1.jar
+excalibur-pool/poms/excalibur-pool-api-2.1.pom
+excalibur-pool/poms/excalibur-pool-impl-2.1.pom
+excalibur-pool/poms/excalibur-pool-instrumented-2.1.pom
+excalibur-sourceresolve/jars/excalibur-sourceresolve-1.0.1.jar
+excalibur-sourceresolve/jars/excalibur-sourceresolve-1.0.jar
+excalibur-sourceresolve/jars/excalibur-sourceresolve-1.1.jar
+excalibur-sourceresolve/jars/excalibur-sourceresolve-2.0.jar
+excalibur-sourceresolve/jars/excalibur-sourceresolve-2.1.jar
+excalibur-sourceresolve/jars/excalibur-sourceresolve-20020820.jar
+excalibur-sourceresolve/poms/excalibur-sourceresolve-2.1.pom
+excalibur-store/jars/excalibur-store-1.0.jar
+excalibur-store/jars/excalibur-store-2.1.jar
+excalibur-store/jars/excalibur-store-20020820.jar
+excalibur-store/poms/excalibur-store-2.1.pom
+excalibur-thread/distributions/excalibur-thread-1.1.1.zip
+excalibur-thread/jars/excalibur-thread-1.0.jar
+excalibur-thread/jars/excalibur-thread-1.1.1.jar
+excalibur-thread/jars/excalibur-thread-api-2.0.0.jar
+excalibur-thread/jars/excalibur-thread-instrumented-2.0.0.jar
+excalibur-thread/jars/excalibur-thread-api-2.0.jar
+excalibur-thread/jars/excalibur-thread-api-2.1.jar
+excalibur-thread/jars/excalibur-thread-impl-2.0.0.jar
+excalibur-thread/jars/excalibur-thread-impl-2.0.jar
+excalibur-thread/jars/excalibur-thread-impl-2.1.jar
+excalibur-thread/jars/excalibur-thread-instrumented-2.0.jar
+excalibur-thread/jars/excalibur-thread-instrumented-2.1.jar
+excalibur-thread/poms/excalibur-thread-api-2.1.pom
+excalibur-thread/poms/excalibur-thread-impl-2.1.pom
+excalibur-thread/poms/excalibur-thread-instrumented-2.1.pom
+fulcrum/jars/fulcrum-1.0.jar
+fulcrum/jars/fulcrum-3.0-b1.jar
+fulcrum/jars/fulcrum-3.0-b2-dev.jar
+fulcrum/jars/fulcrum-crypto-1.0.5.jar
+fulcrum/jars/fulcrum-bsf-1.0.2.jar
+fulcrum/jars/fulcrum-cache-1.0.5.jar
+fulcrum/jars/fulcrum-factory-1.0.3.jar
+fulcrum/jars/fulcrum-dvsl-1.0.5.jar
+fulcrum/jars/fulcrum-osworkflow-1.0.1.jar
+fulcrum/jars/fulcrum-localization-1.0.5.jar
+fulcrum/jars/fulcrum-mimetype-1.0.4.jar
+fulcrum/jars/fulcrum-naming-1.0.2.jar
+fulcrum/jars/fulcrum-security-api-1.0.7.jar
+fulcrum/jars/fulcrum-pool-1.0.3.jar
+fulcrum/jars/fulcrum-quartz-1.0.jar
+fulcrum/jars/fulcrum-security-adapter-opensymphony-1.0.7.jar
+fulcrum/jars/fulcrum-security-adapter-turbine-1.0.7.jar
+fulcrum/jars/fulcrum-security-hibernate-1.0.7.jar
+fulcrum/jars/fulcrum-security-memory-1.0.7.jar
+fulcrum/jars/fulcrum-security-nt-1.0.7.jar
+fulcrum/jars/fulcrum-testcontainer-1.0.4.jar
+fulcrum/jars/fulcrum-upload-1.0.3.jar
+fulcrum/jars/fulcrum-xmlrpc-1.0.5.jar
+fulcrum/jars/fulcrum-xslt-1.0.3.jar
+fulcrum/jars/fulcrum-yaafi-1.0.3.jar
+excalibur-util/jars/excalibur-util-1.0.jar
+excalibur-xmlutil/jars/excalibur-xmlutil-1.0.jar
+excalibur-xmlutil/jars/excalibur-xmlutil-2.1.jar
+excalibur-xmlutil/jars/excalibur-xmlutil-20020820.jar
+excalibur-xmlutil/poms/excalibur-xmlutil-2.1.pom
+geronimo/cars/activemq-1.0.car
+geronimo/cars/activemq-broker-1.0.car
+geronimo/cars/client-1.0.car
+geronimo/cars/client-corba-1.0.car
+geronimo/cars/client-security-1.0.car
+geronimo/cars/javamail-1.0.car
+geronimo/cars/client-system-1.0.car
+geronimo/cars/daytrader-derby-jetty-1.0.car
+geronimo/cars/daytrader-derby-tomcat-1.0.car
+geronimo/cars/daytrader-derby-jetty-streamer-client-1.0.car
+geronimo/cars/directory-1.0.car
+geronimo/cars/daytrader-derby-tomcat-streamer-client-1.0.car
+geronimo/cars/geronimo-gbean-deployer-1.0.car
+geronimo/cars/hot-deployer-1.0.car
+geronimo/cars/j2ee-system-experimental-1.0.car
+geronimo/cars/j2ee-corba-1.0.car
+geronimo/cars/j2ee-deployer-1.0.car
+geronimo/cars/j2ee-security-1.0.car
+geronimo/cars/j2ee-server-1.0.car
+geronimo/cars/j2ee-system-1.0.car
+geronimo/cars/jetty-1.0.car
+geronimo/cars/jetty-deployer-1.0.car
+geronimo/cars/jmxdebug-jetty-1.0.car
+geronimo/cars/jmxdebug-tomcat-1.0.car
+geronimo/cars/jsp-examples-jetty-1.0.car
+geronimo/cars/tomcat-1.0.car
+geronimo/cars/tomcat-deployer-1.0.car
+geronimo/cars/jsp-examples-tomcat-1.0.car
+geronimo/cars/ldap-demo-jetty-1.0.car
+geronimo/cars/ldap-demo-tomcat-1.0.car
+geronimo/cars/ldap-realm-1.0.car
+geronimo/cars/rmi-naming-1.0.car
+geronimo/cars/online-deployer-1.0.car
+geronimo/cars/remote-deploy-jetty-1.0.car
+geronimo/cars/remote-deploy-tomcat-1.0.car
+geronimo/cars/servlets-examples-jetty-1.0.car
+geronimo/cars/servlets-examples-tomcat-1.0.car
+geronimo/cars/shutdown-1.0.car
+geronimo/cars/system-database-1.0.car
+geronimo/cars/uddi-jetty-1.0.car
+geronimo/cars/uddi-tomcat-1.0.car
+geronimo/cars/webconsole-jetty-1.0.car
+geronimo/cars/webconsole-tomcat-1.0.car
+geronimo/cars/welcome-jetty-1.0.car
+geronimo/cars/welcome-tomcat-1.0.car
+geronimo/distributions/geronimo-installer-1.0.jar.MD5
+geronimo/distributions/geronimo-installer-1.0.jar
+geronimo/distributions/geronimo-installer-1.0.jar.SHA
+geronimo/distributions/geronimo-jetty-j2ee-1.0.tar.gz
+geronimo/distributions/geronimo-jetty-j2ee-1.0.zip
+geronimo/distributions/geronimo-tomcat-j2ee-1.0.tar.gz
+geronimo/distributions/geronimo-tomcat-j2ee-1.0.zip
+geronimo/ears/daytrader-ear-1.0.ear
+geronimo/ears/daytrader-ear-1.1.ear
+geronimo/ears/geronimo-console-1.0.ear
+geronimo/ejbs/daytrader-ejb-1.0.jar
+geronimo/jars/daytrader-core-1.0.jar
+geronimo/jars/daytrader-streamer-1.0.jar
+geronimo/jars/daytrader-wsappclient-1.0.jar
+geronimo/jars/geronimo-activation-1.0-M4.jar
+geronimo/jars/geronimo-1.0-M5.jar
+geronimo/jars/geronimo-activation-1.0-M5.jar
+geronimo/jars/geronimo-activation-1.0.jar
+geronimo/jars/geronimo-activation-1.1.jar
+geronimo/jars/geronimo-assembly-1.0-M3.jar
+geronimo/jars/geronimo-assembly-1.0-M4.jar
+geronimo/jars/geronimo-assembly-plugin-1.0-M4.jar
+geronimo/jars/geronimo-assembly-plugin-1.0-M5.jar
+geronimo/jars/geronimo-axis-1.0-M2.jar
+geronimo/jars/geronimo-axis-1.0-M3.jar
+geronimo/jars/geronimo-axis-1.0-M4.jar
+geronimo/jars/geronimo-axis-1.0-M5.jar
+geronimo/jars/geronimo-axis-1.0.jar
+geronimo/jars/geronimo-axis-1.1.jar
+geronimo/jars/geronimo-axis-builder-1.0-M4.jar
+geronimo/jars/geronimo-axis-builder-1.0-M5.jar
+geronimo/jars/geronimo-axis-builder-1.0.jar
+geronimo/jars/geronimo-axis-builder-1.1.jar
+geronimo/jars/geronimo-client-1.0-M3.jar
+geronimo/jars/geronimo-client-1.0-M4.jar
+geronimo/jars/geronimo-client-1.0-M5.jar
+geronimo/jars/geronimo-client-1.0.jar
+geronimo/jars/geronimo-client-1.1.jar
+geronimo/jars/geronimo-client-builder-1.0-M3.jar
+geronimo/jars/geronimo-client-builder-1.0-M4.jar
+geronimo/jars/geronimo-client-builder-1.0-M5.jar
+geronimo/jars/geronimo-client-builder-1.0.jar
+geronimo/jars/geronimo-client-builder-1.1.jar
+geronimo/jars/geronimo-clustering-1.0-M1.jar
+geronimo/jars/geronimo-clustering-1.0-M2.jar
+geronimo/jars/geronimo-clustering-1.0-M3.jar
+geronimo/jars/geronimo-clustering-1.0-M4.jar
+geronimo/jars/geronimo-clustering-1.0-M5.jar
+geronimo/jars/geronimo-common-1.0-M1.jar
+geronimo/jars/geronimo-common-1.0-M2.jar
+geronimo/jars/geronimo-common-1.0-M3.jar
+geronimo/jars/geronimo-common-1.0-M4.jar
+geronimo/jars/geronimo-common-1.0-M5.jar
+geronimo/jars/geronimo-common-1.0.jar
+geronimo/jars/geronimo-common-1.1.jar
+geronimo/jars/geronimo-connector-1.0-M1.jar
+geronimo/jars/geronimo-connector-1.0-M2.jar
+geronimo/jars/geronimo-connector-1.0-M3.jar
+geronimo/jars/geronimo-connector-1.0-M4.jar
+geronimo/jars/geronimo-connector-1.0-M5.jar
+geronimo/jars/geronimo-connector-1.0.jar
+geronimo/jars/geronimo-connector-1.1.jar
+geronimo/jars/geronimo-connector-builder-1.0-M3.jar
+geronimo/jars/geronimo-connector-builder-1.0-M4.jar
+geronimo/jars/geronimo-connector-builder-1.0-M5.jar
+geronimo/jars/geronimo-connector-builder-1.0.jar
+geronimo/jars/geronimo-connector-builder-1.1.jar
+geronimo/jars/geronimo-console-1.0-M5.jar
+geronimo/jars/geronimo-console-core-1.0-M5.jar
+geronimo/jars/geronimo-console-core-1.0.jar
+geronimo/jars/geronimo-console-core-1.1.jar
+geronimo/jars/geronimo-converter-1.0.jar
+geronimo/jars/geronimo-console-framework-1.0-M5.jar
+geronimo/jars/geronimo-console-standard-1.0-M5.jar
+geronimo/jars/geronimo-console-web-1.0-M2.jar
+geronimo/jars/geronimo-console-web-1.0-M3.jar
+geronimo/jars/geronimo-console-web-1.0-M4.jar
+geronimo/jars/geronimo-console-web-1.0-M5.jar
+geronimo/jars/geronimo-core-1.0-M1.jar
+geronimo/jars/geronimo-console-web-1.0.jar
+geronimo/jars/geronimo-console-web-1.1.jar
+geronimo/jars/geronimo-converter-1.1.jar
+geronimo/jars/geronimo-core-1.0-M2.jar
+geronimo/jars/geronimo-core-1.0-M3.jar
+geronimo/jars/geronimo-core-1.0-M4.jar
+geronimo/jars/geronimo-core-1.0-M5.jar
+geronimo/jars/geronimo-core-1.0.jar
+geronimo/jars/geronimo-core-1.1.jar
+geronimo/jars/geronimo-daytrader-derby-db-1.0.jar
+geronimo/jars/geronimo-derby-1.0.jar
+geronimo/jars/geronimo-daytrader-derby-db-1.1.jar
+geronimo/jars/geronimo-demo-1.0-M2.jar
+geronimo/jars/geronimo-deploy-config-1.0-M4.jar
+geronimo/jars/geronimo-deploy-config-1.0-M5.jar
+geronimo/jars/geronimo-deploy-config-1.0.jar
+geronimo/jars/geronimo-installer-support-1.1.jar
+geronimo/jars/geronimo-deploy-config-1.1.jar
+geronimo/jars/geronimo-deploy-jsr88-1.0-M4.jar
+geronimo/jars/geronimo-deploy-jsr88-1.0-M5.jar
+geronimo/jars/geronimo-deploy-jsr88-1.0.jar
+geronimo/jars/geronimo-deploy-jsr88-1.1.jar
+geronimo/jars/geronimo-derby-1.1.jar
+geronimo/jars/geronimo-deploy-tool-1.0-M4.jar
+geronimo/jars/geronimo-deploy-tool-1.0-M5.jar
+geronimo/jars/geronimo-deploy-tool-1.0.jar
+geronimo/jars/geronimo-deploy-tool-1.1.jar
+geronimo/jars/geronimo-deployment-1.0-M1.jar
+geronimo/jars/geronimo-deployment-1.0-M2.jar
+geronimo/jars/geronimo-deployment-1.0-M3.jar
+geronimo/jars/geronimo-deployment-1.0-M4.jar
+geronimo/jars/geronimo-deployment-1.0-M5.jar
+geronimo/jars/geronimo-deployment-1.0.jar
+geronimo/jars/geronimo-deployment-1.1.jar
+geronimo/jars/geronimo-derby-1.0-M3.jar
+geronimo/jars/geronimo-j2ee-1.0.jar
+geronimo/jars/geronimo-derby-1.0-M4.jar
+geronimo/jars/geronimo-derby-1.0-M5.jar
+geronimo/jars/geronimo-derby-connector-1.0-M3.jar
+geronimo/jars/geronimo-derby-connector-1.0-M4.jar
+geronimo/jars/geronimo-directory-1.0-M5.jar
+geronimo/jars/geronimo-directory-1.0.jar
+geronimo/jars/geronimo-directory-1.1.jar
+geronimo/jars/geronimo-hot-deploy-1.0.jar
+geronimo/jars/geronimo-hot-deploy-1.1.jar
+geronimo/jars/geronimo-installer-processing-1.1.jar
+geronimo/jars/geronimo-interop-1.0-M4.jar
+geronimo/jars/geronimo-interop-1.0-M5.jar
+geronimo/jars/geronimo-j2ee-1.0-M1.jar
+geronimo/jars/geronimo-j2ee-1.0-M2.jar
+geronimo/jars/geronimo-j2ee-1.0-M3.jar
+geronimo/jars/geronimo-j2ee-1.0-M4.jar
+geronimo/jars/geronimo-j2ee-1.0-M5.jar
+geronimo/jars/geronimo-j2ee-builder-1.0-M3.jar
+geronimo/jars/geronimo-j2ee-1.1.jar
+geronimo/jars/geronimo-j2ee-builder-1.0-M4.jar
+geronimo/jars/geronimo-j2ee-builder-1.0-M5.jar
+geronimo/jars/geronimo-j2ee-builder-1.0.jar
+geronimo/jars/geronimo-j2ee-schema-1.1.jar
+geronimo/jars/geronimo-j2ee-builder-1.1.jar
+geronimo/jars/geronimo-j2ee-schema-1.0-M2.jar
+geronimo/jars/geronimo-j2ee-schema-1.0-M3.jar
+geronimo/jars/geronimo-j2ee-schema-1.0-M4.jar
+geronimo/jars/geronimo-j2ee-schema-1.0-M5.jar
+geronimo/jars/geronimo-j2ee-schema-1.0.jar
+geronimo/jars/geronimo-javamail-transport-1.0.jar
+geronimo/jars/geronimo-javamail-transport-1.1.jar
+geronimo/jars/geronimo-jetty-1.0-M1.jar
+geronimo/jars/geronimo-jetty-1.0-M2.jar
+geronimo/jars/geronimo-jetty-1.0-M3.jar
+geronimo/jars/geronimo-jetty-1.0-M4.jar
+geronimo/jars/geronimo-jetty-1.0-M5.jar
+geronimo/jars/geronimo-jetty-1.0.jar
+geronimo/jars/geronimo-jetty-1.1.jar
+geronimo/jars/geronimo-jetty-builder-1.0-M3.jar
+geronimo/jars/geronimo-jetty-builder-1.0-M4.jar
+geronimo/jars/geronimo-jetty-builder-1.0-M5.jar
+geronimo/jars/geronimo-kernel-1.0.jar
+geronimo/jars/geronimo-jetty-builder-1.0.jar
+geronimo/jars/geronimo-jetty-builder-1.1.jar
+geronimo/jars/geronimo-jmxdebug-1.0-M2.jar
+geronimo/jars/geronimo-jmxremoting-1.0-M2.jar
+geronimo/jars/geronimo-jmxremoting-1.0-M3.jar
+geronimo/jars/geronimo-jmxremoting-1.0-M4.jar
+geronimo/jars/geronimo-jmxremoting-1.0-M5.jar
+geronimo/jars/geronimo-jmxremoting-1.0.jar
+geronimo/jars/geronimo-jmxremoting-1.1.jar
+geronimo/jars/geronimo-kernel-1.0-M1.jar
+geronimo/jars/geronimo-kernel-1.0-M2.jar
+geronimo/jars/geronimo-kernel-1.0-M3.jar
+geronimo/jars/geronimo-kernel-1.0-M4.jar
+geronimo/jars/geronimo-kernel-1.0-M5.jar
+geronimo/jars/geronimo-kernel-1.1.jar
+geronimo/jars/geronimo-mail-1.0-M3.jar
+geronimo/jars/geronimo-mail-1.0-M4.jar
+geronimo/jars/geronimo-mail-1.0-M5.jar
+geronimo/jars/geronimo-mail-1.0.jar
+geronimo/jars/geronimo-mail-1.1.jar
+geronimo/jars/geronimo-management-1.0-M5.jar
+geronimo/jars/geronimo-management-1.0.jar
+geronimo/jars/geronimo-management-1.1.jar
+geronimo/jars/geronimo-naming-1.0-M1.jar
+geronimo/jars/geronimo-naming-1.0-M2.jar
+geronimo/jars/geronimo-naming-1.0-M3.jar
+geronimo/jars/geronimo-naming-1.0-M4.jar
+geronimo/jars/geronimo-naming-1.0-M5.jar
+geronimo/jars/geronimo-naming-1.0.jar
+geronimo/jars/geronimo-naming-1.1.jar
+geronimo/jars/geronimo-naming-builder-1.0-M3.jar
+geronimo/jars/geronimo-naming-builder-1.0-M4.jar
+geronimo/jars/geronimo-naming-builder-1.0-M5.jar
+geronimo/jars/geronimo-network-1.0-M1.jar
+geronimo/jars/geronimo-naming-builder-1.0.jar
+geronimo/jars/geronimo-naming-builder-1.1.jar
+geronimo/jars/geronimo-network-1.0-M2.jar
+geronimo/jars/geronimo-network-1.0-M3.jar
+geronimo/jars/geronimo-packaging-plugin-1.0-M5.jar
+geronimo/jars/geronimo-scripts-1.0.jar
+geronimo/jars/geronimo-remote-deploy-lib-1.0.jar
+geronimo/jars/geronimo-remote-deploy-lib-1.1.jar
+geronimo/jars/geronimo-remoting-1.0-M1.jar
+geronimo/jars/geronimo-remoting-1.0-M2.jar
+geronimo/jars/geronimo-remoting-1.0-M3.jar
+geronimo/jars/geronimo-spring-1.0-M3.jar
+geronimo/jars/geronimo-scripts-1.1.jar
+geronimo/jars/geronimo-security-1.0-M1.jar
+geronimo/jars/geronimo-security-1.0-M2.jar
+geronimo/jars/geronimo-security-1.0-M3.jar
+geronimo/jars/geronimo-security-1.0-M4.jar
+geronimo/jars/geronimo-security-1.0-M5.jar
+geronimo/jars/geronimo-security-1.0.jar
+geronimo/jars/geronimo-security-1.1.jar
+geronimo/jars/geronimo-security-builder-1.0-M3.jar
+geronimo/jars/geronimo-security-builder-1.0-M4.jar
+geronimo/jars/geronimo-security-builder-1.0-M5.jar
+geronimo/jars/geronimo-security-builder-1.0.jar
+geronimo/jars/geronimo-security-builder-1.1.jar
+geronimo/jars/geronimo-service-builder-1.0-M4.jar
+geronimo/jars/geronimo-service-builder-1.0-M5.jar
+geronimo/jars/geronimo-service-builder-1.0.jar
+geronimo/jars/geronimo-service-builder-1.1.jar
+geronimo/jars/geronimo-servicemix-1.0-M4.jar
+geronimo/jars/geronimo-servicemix-1.0-M5.jar
+geronimo/jars/geronimo-servicemix-builder-1.0-M4.jar
+geronimo/jars/geronimo-servicemix-builder-1.0-M5.jar
+geronimo/jars/geronimo-spring-1.0-M2.jar
+geronimo/jars/geronimo-spring-1.0-M4.jar
+geronimo/jars/geronimo-spring-1.0-M5.jar
+geronimo/jars/geronimo-spring-builder-1.0-M4.jar
+geronimo/jars/geronimo-spring-builder-1.0-M5.jar
+geronimo/jars/geronimo-system-1.0-M1.jar
+geronimo/jars/geronimo-system-1.0-M2.jar
+geronimo/jars/geronimo-system-1.0-M3.jar
+geronimo/jars/geronimo-system-1.0-M4.jar
+geronimo/jars/geronimo-system-1.0-M5.jar
+geronimo/jars/geronimo-system-1.0.jar
+geronimo/jars/geronimo-system-1.1.jar
+geronimo/jars/geronimo-test-ddbean-1.0-M4.jar
+geronimo/jars/geronimo-test-ddbean-1.0-M5.jar
+geronimo/jars/geronimo-test-ddbean-1.0.jar
+geronimo/jars/geronimo-test-ddbean-1.1.jar
+geronimo/jars/geronimo-timer-1.0-M2.jar
+geronimo/jars/geronimo-timer-1.0-M3.jar
+geronimo/jars/geronimo-timer-1.0-M4.jar
+geronimo/jars/geronimo-timer-1.0-M5.jar
+geronimo/jars/geronimo-timer-1.0.jar
+geronimo/jars/geronimo-timer-1.1.jar
+geronimo/jars/geronimo-tomcat-1.0-M3.jar
+geronimo/jars/geronimo-tomcat-1.0-M4.jar
+geronimo/jars/geronimo-tomcat-1.0-M5.jar
+geronimo/jars/geronimo-tomcat-1.0.jar
+geronimo/jars/geronimo-tomcat-1.1.jar
+geronimo/jars/geronimo-transaction-1.0-M2.jar
+geronimo/jars/geronimo-tomcat-builder-1.0-M4.jar
+geronimo/jars/geronimo-tomcat-builder-1.0-M5.jar
+geronimo/jars/geronimo-tomcat-builder-1.0.jar
+geronimo/jars/geronimo-tomcat-builder-1.1.jar
+geronimo/jars/geronimo-transaction-1.0-M1.jar
+geronimo/jars/geronimo-util-1.0.jar
+geronimo/jars/geronimo-transaction-1.0-M3.jar
+geronimo/jars/geronimo-transaction-1.0-M4.jar
+geronimo/jars/geronimo-transaction-1.0-M5.jar
+geronimo/jars/geronimo-transaction-1.0.jar
+geronimo/jars/geronimo-transaction-1.1.jar
+geronimo/jars/geronimo-uddi-db-1.0.jar
+geronimo/jars/geronimo-uddi-db-1.1.jar
+geronimo/jars/geronimo-uddi-server-1.0-M4.jar
+geronimo/jars/geronimo-uddi-server-1.0-M5.jar
+geronimo/jars/geronimo-upgrade-1.1.jar
+geronimo/jars/geronimo-util-1.0-M5.jar
+geronimo/jars/geronimo-web-builder-1.0-M4.jar
+geronimo/jars/geronimo-util-1.1.jar
+geronimo/jars/geronimo-web-builder-1.0-M5.jar
+geronimo/jars/geronimo-web-builder-1.0.jar
+geronimo/jars/geronimo-web-builder-1.1.jar
+geronimo/jars/geronimo-webservices-1.0-M4.jar
+geronimo/jars/geronimo-webservices-1.0-M5.jar
+geronimo/jars/geronimo-webservices-1.0.jar
+geronimo/jars/geronimo-webservices-1.1.jar
+geronimo/jars/geronimo-welcome-1.0-M5.jar
+geronimo/jars/geronimo-xmlbeans-plugin-1.0-M2.jar
+geronimo/plugins/geronimo-assembly-plugin-1.0.2.jar
+geronimo/plugins/geronimo-dependency-plugin-1.0.0.jar
+geronimo/plugins/geronimo-deployment-plugin-1.0-M1.jar
+geronimo/plugins/geronimo-deployment-plugin-1.0-M3.jar
+geronimo/plugins/geronimo-deployment-plugin-1.0-M4.jar
+geronimo/plugins/geronimo-deployment-plugin-1.0-M5.jar
+geronimo/plugins/geronimo-deployment-plugin-1.0.0.jar
+geronimo/plugins/geronimo-izpack-plugin-1.0.jar
+geronimo/plugins/geronimo-packaging-plugin-1.0.1.jar
+geronimo/plugins/geronimo-xmlbeans-plugin-1.0-M1.jar
+geronimo/plugins/geronimo-xmlbeans-plugin-1.0-M3.jar
+geronimo/plugins/geronimo-xmlbeans-plugin-1.0-M4.jar
+geronimo/plugins/geronimo-xpom-plugin-1.0-M3.jar
+geronimo/plugins/geronimo-xpom-plugin-1.0-M4.jar
+geronimo/plugins/xmlbeans-maven-plugin-2.0.0-beta1.jar
+geronimo/poms/activemq-1.0.pom
+geronimo/poms/activemq-broker-1.0.pom
+geronimo/poms/client-1.0.pom
+geronimo/poms/client-corba-1.0.pom
+geronimo/poms/client-security-1.0.pom
+geronimo/poms/client-system-1.0.pom
+geronimo/poms/client-system-1.1.pom
+geronimo/poms/daytrader-core-1.0.pom
+geronimo/poms/daytrader-derby-jetty-1.0.pom
+geronimo/poms/daytrader-derby-tomcat-1.0.pom
+geronimo/poms/daytrader-ear-1.0.pom
+geronimo/poms/daytrader-ear-1.1.pom
+geronimo/poms/daytrader-ejb-1.0.pom
+geronimo/poms/directory-1.0.pom
+geronimo/poms/daytrader-streamer-1.0.pom
+geronimo/poms/daytrader-web-1.0.pom
+geronimo/poms/daytrader-wsappclient-1.0.pom
+geronimo/poms/ge-activemq-rar-1.1.pom
+geronimo/poms/geronimo-1.0-M5.pom
+geronimo/poms/geronimo-activation-1.0-M4.pom
+geronimo/poms/geronimo-activation-1.0-M5.pom
+geronimo/poms/geronimo-activation-1.0.pom
+geronimo/poms/geronimo-activation-1.1.pom
+geronimo/poms/geronimo-axis-1.0.pom
+geronimo/poms/geronimo-axis-builder-1.0-M4.pom
+geronimo/poms/geronimo-assembly-1.0-M3.pom
+geronimo/poms/geronimo-assembly-1.0-M4.pom
+geronimo/poms/geronimo-assembly-plugin-1.0-M4.pom
+geronimo/poms/geronimo-assembly-plugin-1.0-M5.pom
+geronimo/poms/geronimo-assembly-plugin-1.0.2.pom
+geronimo/poms/j2ee-corba-1.0.pom
+geronimo/poms/geronimo-assembly-plugin-1.1.0-12.pom
+geronimo/poms/geronimo-axis-1.0-M2.pom
+geronimo/poms/geronimo-axis-1.0-M3.pom
+geronimo/poms/geronimo-axis-1.0-M4.pom
+geronimo/poms/geronimo-axis-1.0-M5.pom
+geronimo/poms/geronimo-axis-1.1.pom
+geronimo/poms/geronimo-axis-builder-1.0-M5.pom
+geronimo/poms/geronimo-axis-builder-1.0.pom
+geronimo/poms/geronimo-client-1.1.pom
+geronimo/poms/geronimo-axis-builder-1.1.pom
+geronimo/poms/geronimo-client-1.0-M3.pom
+geronimo/poms/geronimo-client-1.0-M4.pom
+geronimo/poms/geronimo-client-1.0-M5.pom
+geronimo/poms/geronimo-client-1.0.pom
+geronimo/poms/geronimo-client-builder-1.0-M3.pom
+geronimo/poms/geronimo-client-builder-1.0-M4.pom
+geronimo/poms/geronimo-client-builder-1.0-M5.pom
+geronimo/poms/geronimo-client-builder-1.0.pom
+geronimo/poms/geronimo-client-builder-1.1.pom
+geronimo/poms/geronimo-common-1.0-M4.pom
+geronimo/poms/geronimo-common-1.0-M5.pom
+geronimo/poms/geronimo-clustering-1.0-M2.pom
+geronimo/poms/geronimo-clustering-1.0-M3.pom
+geronimo/poms/geronimo-clustering-1.0-M4.pom
+geronimo/poms/geronimo-clustering-1.0-M5.pom
+geronimo/poms/geronimo-common-1.0-M2.pom
+geronimo/poms/geronimo-common-1.0-M3.pom
+geronimo/poms/geronimo-common-1.0.pom
+geronimo/poms/geronimo-common-1.1.pom
+geronimo/poms/geronimo-connector-1.0-M2.pom
+geronimo/poms/geronimo-connector-1.0-M3.pom
+geronimo/poms/geronimo-connector-1.0-M4.pom
+geronimo/poms/geronimo-connector-1.0-M5.pom
+geronimo/poms/geronimo-connector-1.0.pom
+geronimo/poms/geronimo-connector-1.1.pom
+geronimo/poms/geronimo-connector-builder-1.0-M3.pom
+geronimo/poms/geronimo-connector-builder-1.0-M4.pom
+geronimo/poms/geronimo-connector-builder-1.0-M5.pom
+geronimo/poms/geronimo-connector-builder-1.0.pom
+geronimo/poms/geronimo-connector-builder-1.1.pom
+geronimo/poms/geronimo-console-1.0-M5.pom
+geronimo/poms/geronimo-console-1.0.pom
+geronimo/poms/geronimo-console-1.1.pom
+geronimo/poms/geronimo-console-core-1.0-M5.pom
+geronimo/poms/geronimo-console-core-1.0.pom
+geronimo/poms/geronimo-console-core-1.1.pom
+geronimo/poms/geronimo-console-framework-1.0-M5.pom
+geronimo/poms/geronimo-console-framework-1.0.pom
+geronimo/poms/geronimo-deployment-1.1.pom
+geronimo/poms/jetty-1.0.pom
+geronimo/poms/geronimo-console-framework-1.1.pom
+geronimo/poms/geronimo-console-standard-1.0-M5.pom
+geronimo/poms/geronimo-console-standard-1.0.pom
+geronimo/poms/geronimo-core-1.0.pom
+geronimo/poms/geronimo-console-standard-1.1.pom
+geronimo/poms/geronimo-console-web-1.0-M2.pom
+geronimo/poms/geronimo-console-web-1.0-M3.pom
+geronimo/poms/geronimo-console-web-1.0-M4.pom
+geronimo/poms/geronimo-console-web-1.0-M5.pom
+geronimo/poms/tomcat-1.0.pom
+geronimo/poms/geronimo-console-web-1.0.pom
+geronimo/poms/geronimo-console-web-1.1.pom
+geronimo/poms/geronimo-converter-1.0.pom
+geronimo/poms/geronimo-converter-1.1.pom
+geronimo/poms/geronimo-core-1.0-M2.pom
+geronimo/poms/geronimo-core-1.0-M3.pom
+geronimo/poms/geronimo-core-1.0-M4.pom
+geronimo/poms/geronimo-core-1.0-M5.pom
+geronimo/poms/geronimo-core-1.1.pom
+geronimo/poms/geronimo-demo-1.0.pom
+geronimo/poms/geronimo-daytrader-derby-db-1.0.pom
+geronimo/poms/geronimo-daytrader-derby-db-1.1.pom
+geronimo/poms/geronimo-demo-1.0-M2.pom
+geronimo/poms/geronimo-demo-1.0-M3.pom
+geronimo/poms/geronimo-demo-1.0-M4.pom
+geronimo/poms/geronimo-demo-1.1.pom
+geronimo/poms/geronimo-demo-1.0-M5.pom
+geronimo/poms/geronimo-dependency-plugin-1.0.0.pom
+geronimo/poms/geronimo-dependency-plugin-1.1.0-3.pom
+geronimo/poms/geronimo-deploy-config-1.0-M4.pom
+geronimo/poms/geronimo-deploy-config-1.0-M5.pom
+geronimo/poms/geronimo-deploy-config-1.0.pom
+geronimo/poms/geronimo-deploy-config-1.1.pom
+geronimo/poms/geronimo-deploy-jsr88-1.0-M4.pom
+geronimo/poms/geronimo-deploy-jsr88-1.0-M5.pom
+geronimo/poms/geronimo-deploy-jsr88-1.0.pom
+geronimo/poms/geronimo-deploy-jsr88-1.1.pom
+geronimo/poms/j2ee-server-1.0.pom
+geronimo/poms/geronimo-deploy-tool-1.0-M4.pom
+geronimo/poms/geronimo-deploy-tool-1.0-M5.pom
+geronimo/poms/geronimo-deploy-tool-1.0.pom
+geronimo/poms/geronimo-deploy-tool-1.1.pom
+geronimo/poms/geronimo-deployment-1.0-M2.pom
+geronimo/poms/geronimo-deployment-1.0-M3.pom
+geronimo/poms/geronimo-deployment-1.0-M4.pom
+geronimo/poms/geronimo-deployment-1.0-M5.pom
+geronimo/poms/geronimo-deployment-1.0.pom
+geronimo/poms/geronimo-deployment-plugin-1.0-M2.pom
+geronimo/poms/geronimo-deployment-plugin-1.0-M4.pom
+geronimo/poms/geronimo-deployment-plugin-1.0-M5.pom
+geronimo/poms/geronimo-deployment-plugin-1.0.0.pom
+geronimo/poms/geronimo-derby-1.0-M3.pom
+geronimo/poms/geronimo-deployment-plugin-1.1.0-3.pom
+geronimo/poms/geronimo-derby-1.0-M4.pom
+geronimo/poms/geronimo-derby-1.0-M5.pom
+geronimo/poms/geronimo-derby-1.0.pom
+geronimo/poms/geronimo-derby-1.1.pom
+geronimo/poms/geronimo-derby-connector-1.0-M3.pom
+geronimo/poms/geronimo-derby-connector-1.0-M4.pom
+geronimo/poms/geronimo-directory-1.0-M5.pom
+geronimo/poms/geronimo-directory-1.0.pom
+geronimo/poms/geronimo-directory-1.1.pom
+geronimo/poms/geronimo-gbean-deployer-1.0.pom
+geronimo/poms/geronimo-gbean-deployer-1.1.pom
+geronimo/poms/geronimo-hot-deploy-1.0.pom
+geronimo/poms/geronimo-hot-deploy-1.1.pom
+geronimo/poms/geronimo-installer-processing-1.1.pom
+geronimo/poms/geronimo-installer-support-1.1.pom
+geronimo/poms/geronimo-jetty-1.0-M3.pom
+geronimo/poms/j2ee-system-1.0.pom
+geronimo/poms/geronimo-interop-1.0-M4.pom
+geronimo/poms/geronimo-interop-1.0-M5.pom
+geronimo/poms/geronimo-izpack-plugin-1.0.pom
+geronimo/poms/geronimo-izpack-plugin-1.1.pom
+geronimo/poms/geronimo-j2ee-1.0-M2.pom
+geronimo/poms/geronimo-j2ee-1.0-M3.pom
+geronimo/poms/geronimo-j2ee-1.0-M4.pom
+geronimo/poms/geronimo-j2ee-1.0-M5.pom
+geronimo/poms/geronimo-j2ee-1.0.pom
+geronimo/poms/geronimo-j2ee-1.1.pom
+geronimo/poms/geronimo-j2ee-builder-1.0-M3.pom
+geronimo/poms/geronimo-j2ee-builder-1.0-M4.pom
+geronimo/poms/geronimo-j2ee-builder-1.0-M5.pom
+geronimo/poms/geronimo-j2ee-builder-1.0.pom
+geronimo/poms/geronimo-j2ee-builder-1.1.pom
+geronimo/poms/j2ee-system-1.1.pom
+geronimo/poms/geronimo-j2ee-schema-1.0-M2.pom
+geronimo/poms/geronimo-j2ee-schema-1.0-M3.pom
+geronimo/poms/geronimo-j2ee-schema-1.0-M4.pom
+geronimo/poms/geronimo-j2ee-schema-1.0-M5.pom
+geronimo/poms/geronimo-j2ee-schema-1.0.pom
+geronimo/poms/geronimo-j2ee-schema-1.1.pom
+geronimo/poms/geronimo-javamail-transport-1.0.pom
+geronimo/poms/geronimo-javamail-transport-1.1.pom
+geronimo/poms/geronimo-jetty-1.0-M2.pom
+geronimo/poms/geronimo-jetty-1.0-M4.pom
+geronimo/poms/geronimo-jetty-1.0-M5.pom
+geronimo/poms/geronimo-jetty-1.0.pom
+geronimo/poms/geronimo-jetty-1.1.pom
+geronimo/poms/geronimo-jetty-builder-1.0-M3.pom
+geronimo/poms/geronimo-jetty-builder-1.0-M4.pom
+geronimo/poms/javamail-1.0.pom
+geronimo/poms/geronimo-jetty-builder-1.0-M5.pom
+geronimo/poms/geronimo-jetty-builder-1.0.pom
+geronimo/poms/geronimo-jetty-builder-1.1.pom
+geronimo/poms/geronimo-jmxdebug-1.0-M2.pom
+geronimo/poms/geronimo-jmxdebug-1.0.pom
+geronimo/poms/geronimo-jmxdebug-1.0-M3.pom
+geronimo/poms/geronimo-jmxdebug-1.0-M4.pom
+geronimo/poms/geronimo-jmxdebug-1.0-M5.pom
+geronimo/poms/geronimo-jmxremoting-1.0-M2.pom
+geronimo/poms/geronimo-jmxremoting-1.0-M3.pom
+geronimo/poms/geronimo-jmxremoting-1.0-M4.pom
+geronimo/poms/geronimo-jmxremoting-1.0-M5.pom
+geronimo/poms/geronimo-kernel-1.0-M5.pom
+geronimo/poms/geronimo-jmxremoting-1.0.pom
+geronimo/poms/geronimo-jmxremoting-1.1.pom
+geronimo/poms/geronimo-kernel-1.0-M2.pom
+geronimo/poms/geronimo-kernel-1.0-M3.pom
+geronimo/poms/geronimo-kernel-1.0-M4.pom
+geronimo/poms/geronimo-kernel-1.0.pom
+geronimo/poms/geronimo-kernel-1.1.pom
+geronimo/poms/geronimo-ldap-demo-1.0.pom
+geronimo/poms/geronimo-ldap-demo-1.1.pom
+geronimo/poms/geronimo-mail-1.0-M3.pom
+geronimo/poms/geronimo-mail-1.0-M4.pom
+geronimo/poms/geronimo-mail-1.0-M5.pom
+geronimo/poms/geronimo-mail-1.0.pom
+geronimo/poms/geronimo-mail-1.1.pom
+geronimo/poms/geronimo-naming-1.0.pom
+geronimo/poms/geronimo-management-1.0-M5.pom
+geronimo/poms/geronimo-management-1.0.pom
+geronimo/poms/geronimo-management-1.1.pom
+geronimo/poms/geronimo-naming-1.1.pom
+geronimo/poms/geronimo-naming-1.0-M2.pom
+geronimo/poms/geronimo-naming-1.0-M3.pom
+geronimo/poms/geronimo-naming-1.0-M4.pom
+geronimo/poms/geronimo-naming-1.0-M5.pom
+geronimo/poms/geronimo-naming-builder-1.0-M3.pom
+geronimo/poms/geronimo-naming-builder-1.0-M4.pom
+geronimo/poms/geronimo-naming-builder-1.0-M5.pom
+geronimo/poms/geronimo-naming-builder-1.0.pom
+geronimo/poms/geronimo-naming-builder-1.1.pom
+geronimo/poms/geronimo-network-1.0-M2.pom
+geronimo/poms/geronimo-network-1.0-M3.pom
+geronimo/poms/geronimo-packaging-plugin-0.1.1.pom
+geronimo/poms/geronimo-packaging-plugin-0.1.pom
+geronimo/poms/geronimo-packaging-plugin-1.0-M5.pom
+geronimo/poms/geronimo-packaging-plugin-1.0.1.pom
+geronimo/poms/geronimo-packaging-plugin-1.1.0-10.pom
+geronimo/poms/geronimo-remote-deploy-1.0.pom
+geronimo/poms/geronimo-remote-deploy-1.1.pom
+geronimo/poms/geronimo-remote-deploy-lib-1.0.pom
+geronimo/poms/geronimo-remote-deploy-lib-1.1.pom
+geronimo/poms/geronimo-remoting-1.0-M2.pom
+geronimo/poms/geronimo-remoting-1.0-M3.pom
+geronimo/poms/geronimo-scripts-1.0.pom
+geronimo/poms/geronimo-scripts-1.1.pom
+geronimo/poms/geronimo-security-1.0-M2.pom
+geronimo/poms/geronimo-security-1.0-M3.pom
+geronimo/poms/geronimo-security-1.0-M4.pom
+geronimo/poms/geronimo-security-1.0-M5.pom
+geronimo/poms/geronimo-security-1.0.pom
+geronimo/poms/geronimo-security-1.1.pom
+geronimo/poms/geronimo-system-1.0.pom
+geronimo/poms/geronimo-security-builder-1.0-M3.pom
+geronimo/poms/geronimo-security-builder-1.0-M4.pom
+geronimo/poms/geronimo-security-builder-1.0-M5.pom
+geronimo/poms/geronimo-security-builder-1.0.pom
+geronimo/poms/geronimo-security-builder-1.1.pom
+geronimo/poms/geronimo-service-builder-1.0-M4.pom
+geronimo/poms/geronimo-service-builder-1.0-M5.pom
+geronimo/poms/geronimo-service-builder-1.0.pom
+geronimo/poms/geronimo-service-builder-1.1.pom
+geronimo/poms/geronimo-servicemix-1.0-M4.pom
+geronimo/poms/geronimo-servicemix-1.0-M5.pom
+geronimo/poms/geronimo-servicemix-builder-1.0-M4.pom
+geronimo/poms/geronimo-servicemix-builder-1.0-M5.pom
+geronimo/poms/geronimo-spring-1.0-M2.pom
+geronimo/poms/geronimo-test-ddbean-1.0-M5.pom
+geronimo/poms/ldap-realm-1.0.pom
+geronimo/poms/geronimo-spring-1.0-M3.pom
+geronimo/poms/geronimo-spring-1.0-M4.pom
+geronimo/poms/geronimo-spring-1.0-M5.pom
+geronimo/poms/geronimo-spring-builder-1.0-M4.pom
+geronimo/poms/geronimo-spring-builder-1.0-M5.pom
+geronimo/poms/geronimo-system-1.0-M2.pom
+geronimo/poms/geronimo-system-1.0-M3.pom
+geronimo/poms/geronimo-system-1.0-M4.pom
+geronimo/poms/geronimo-system-1.0-M5.pom
+geronimo/poms/geronimo-system-1.1.pom
+geronimo/poms/geronimo-test-ddbean-1.0-M4.pom
+geronimo/poms/geronimo-timer-1.0-M4.pom
+geronimo/poms/magicGball-1.0.pom
+geronimo/poms/geronimo-test-ddbean-1.0.pom
+geronimo/poms/geronimo-test-ddbean-1.1.pom
+geronimo/poms/geronimo-timer-1.0-M2.pom
+geronimo/poms/geronimo-timer-1.0-M3.pom
+geronimo/poms/geronimo-tomcat-builder-1.0-M4.pom
+geronimo/poms/geronimo-timer-1.0-M5.pom
+geronimo/poms/geronimo-timer-1.0.pom
+geronimo/poms/geronimo-timer-1.1.pom
+geronimo/poms/geronimo-tomcat-1.0-M3.pom
+geronimo/poms/geronimo-tomcat-1.0-M4.pom
+geronimo/poms/geronimo-tomcat-1.0-M5.pom
+geronimo/poms/geronimo-tomcat-1.0.pom
+geronimo/poms/geronimo-tomcat-1.1.pom
+geronimo/poms/geronimo-tomcat-builder-1.0-M5.pom
+geronimo/poms/geronimo-uddi-db-1.0.pom
+geronimo/poms/geronimo-tomcat-builder-1.0.pom
+geronimo/poms/geronimo-tomcat-builder-1.1.pom
+geronimo/poms/geronimo-transaction-1.0-M2.pom
+geronimo/poms/geronimo-transaction-1.0-M3.pom
+geronimo/poms/geronimo-transaction-1.0-M4.pom
+geronimo/poms/geronimo-transaction-1.0-M5.pom
+geronimo/poms/geronimo-transaction-1.0.pom
+geronimo/poms/geronimo-transaction-1.1.pom
+geronimo/poms/geronimo-uddi-db-1.1.pom
+geronimo/poms/geronimo-uddi-server-1.0-M4.pom
+geronimo/poms/geronimo-uddi-server-1.0-M5.pom
+geronimo/poms/geronimo-uddi-server-1.0.pom
+geronimo/poms/geronimo-uddi-server-1.1.pom
+geronimo/poms/geronimo-upgrade-1.1.pom
+geronimo/poms/geronimo-util-1.0-M5.pom
+geronimo/poms/geronimo-util-1.0.pom
+geronimo/poms/geronimo-util-1.1.pom
+geronimo/poms/geronimo-web-builder-1.0-M4.pom
+geronimo/poms/geronimo-web-builder-1.0-M5.pom
+geronimo/poms/geronimo-web-builder-1.0.pom
+geronimo/poms/geronimo-web-builder-1.1.pom
+geronimo/poms/rmi-naming-1.0.pom
+geronimo/poms/geronimo-webservices-1.0-M4.pom
+geronimo/poms/geronimo-webservices-1.0-M5.pom
+geronimo/poms/geronimo-webservices-1.0.pom
+geronimo/poms/geronimo-webservices-1.1.pom
+geronimo/poms/geronimo-welcome-1.0-M5.pom
+geronimo/poms/geronimo-welcome-1.0.pom
+geronimo/poms/geronimo-welcome-1.1.pom
+geronimo/poms/geronimo-xmlbeans-plugin-1.0-20040908.pom
+geronimo/poms/geronimo-xmlbeans-plugin-1.0-46009.pom
+geronimo/poms/geronimo-xmlbeans-plugin-1.0-M2.pom
+geronimo/poms/geronimo-xmlbeans-plugin-1.0-M3.pom
+geronimo/poms/geronimo-xmlbeans-plugin-1.0-M4.pom
+geronimo/poms/geronimo-xpom-plugin-1.0-M4.pom
+geronimo/poms/hot-deployer-1.0.pom
+geronimo/poms/j2ee-deployer-1.0.pom
+geronimo/poms/j2ee-security-1.0.pom
+geronimo/poms/j2ee-system-experimental-1.0.pom
+geronimo/poms/jetty-deployer-1.0.pom
+geronimo/poms/jmxdebug-jetty-1.0.pom
+geronimo/poms/jmxdebug-tomcat-1.0.pom
+geronimo/poms/jsp-examples-jetty-1.0.pom
+geronimo/poms/jsp-examples-tomcat-1.0.pom
+geronimo/poms/ldap-demo-jetty-1.0.pom
+geronimo/poms/ldap-demo-tomcat-1.0.pom
+geronimo/poms/magicGball-1.1.pom
+geronimo/poms/maven-metadata-mavenOneRepository.xml
+geronimo/poms/online-deployer-1.0.pom
+geronimo/poms/online-deployer-1.1.pom
+geronimo/poms/remote-deploy-jetty-1.0.pom
+geronimo/poms/servlets-examples-jetty-1.0.pom
+geronimo/poms/remote-deploy-tomcat-1.0.pom
+geronimo/poms/servlets-examples-tomcat-1.0.pom
+geronimo/poms/shutdown-1.0.pom
+geronimo/poms/shutdown-1.1.pom
+geronimo/poms/system-database-1.0.pom
+geronimo/poms/tomcat-deployer-1.0.pom
+geronimo/poms/uddi-jetty-1.0.pom
+geronimo/poms/uddi-tomcat-1.0.pom
+geronimo/poms/upgrade-cli-1.1.pom
+geronimo/poms/webconsole-jetty-1.0.pom
+geronimo/poms/webconsole-tomcat-1.0.pom
+geronimo/poms/welcome-jetty-1.0.pom
+geronimo/poms/welcome-tomcat-1.0.pom
+geronimo/poms/xmlbeans-maven-plugin-2.0.0-beta1.pom
+geronimo/rars/geronimo-derby-connector-1.0-M3.rar
+geronimo/rars/geronimo-derby-connector-1.0-M4.rar
+geronimo/wars/daytrader-web-1.0.war
+geronimo/wars/geronimo-console-framework-1.0.war
+geronimo/wars/geronimo-servlet-examples-tomcat-5.5.12.war
+geronimo/wars/geronimo-console-standard-1.0.war
+geronimo/wars/geronimo-console-web-1.0-M1.war
+geronimo/wars/geronimo-demo-1.0-M3.war
+geronimo/wars/geronimo-demo-1.0-M4.war
+geronimo/wars/geronimo-demo-1.0-M5.war
+geronimo/wars/geronimo-demo-1.0.war
+geronimo/wars/geronimo-jmxdebug-1.0-M1.war
+geronimo/wars/geronimo-jmxdebug-1.0-M3.war
+geronimo/wars/geronimo-jmxdebug-1.0-M4.war
+geronimo/wars/geronimo-jmxdebug-1.0-M5.war
+geronimo/wars/geronimo-jmxdebug-1.0.war
+geronimo/wars/geronimo-jsp-examples-tomcat-5.5.12.war
+geronimo/wars/geronimo-ldap-demo-1.0.war
+geronimo/wars/geronimo-remote-deploy-1.0.war
+geronimo/wars/geronimo-uddi-server-1.0.war
+geronimo/wars/geronimo-welcome-1.0.war
+geronimo/wars/magicGball-1.0.war
+geronimo/KEYS
+geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc1.jar
+geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc2.jar
+geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc3.jar
+geronimo-spec/jars/geronimo-spec-activation-1.0.2-rc4.jar
+geronimo-spec/jars/geronimo-spec-corba-2.3-rc4.jar
+geronimo-spec/jars/geronimo-spec-ejb-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-ejb-2.1-rc1.jar
+geronimo-spec/jars/geronimo-spec-ejb-2.1-rc2.jar
+geronimo-spec/jars/geronimo-spec-ejb-2.1-rc3.jar
+geronimo-spec/jars/geronimo-spec-ejb-2.1-rc4.jar
+geronimo-spec/jars/geronimo-spec-ejb-DEV.jar
+geronimo-spec/jars/geronimo-spec-j2ee-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-connector-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc2.jar
+geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc3.jar
+geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc4.jar
+geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc2.jar
+geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc3.jar
+geronimo-spec/jars/geronimo-spec-j2ee-connector-1.5-rc4.jar
+geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc2.jar
+geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc3.jar
+geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc2.jar
+geronimo-spec/jars/geronimo-spec-j2ee-deployment-1.1-rc4.jar
+geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc1.jar
+geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc2.jar
+geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc3.jar
+geronimo-spec/jars/geronimo-spec-j2ee-jacc-1.0-rc4.jar
+geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc5.jar
+geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc1.jar
+geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc3.jar
+geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc2.jar
+geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc3.jar
+geronimo-spec/jars/geronimo-spec-j2ee-management-1.0-rc4.jar
+geronimo-spec/jars/geronimo-spec-j2eeschema-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc1.jar
+geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc2.jar
+geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc3.jar
+geronimo-spec/jars/geronimo-spec-javamail-1.3.1-rc4.jar
+geronimo-spec/jars/geronimo-spec-jaxr-1.0-rc4.jar
+geronimo-spec/jars/geronimo-spec-jaxrpc-1.1-rc4.jar
+geronimo-spec/jars/geronimo-spec-jms-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-jms-1.1-rc1.jar
+geronimo-spec/jars/geronimo-spec-jms-1.1-rc2.jar
+geronimo-spec/jars/geronimo-spec-jms-1.1-rc3.jar
+geronimo-spec/jars/geronimo-spec-jms-1.1-rc4.jar
+geronimo-spec/jars/geronimo-spec-jms-DEV.jar
+geronimo-spec/jars/geronimo-spec-jsp-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-jsp-2.0-rc1.jar
+geronimo-spec/jars/geronimo-spec-jsp-2.0-rc2.jar
+geronimo-spec/jars/geronimo-spec-jsp-2.0-rc3.jar
+geronimo-spec/jars/geronimo-spec-jsp-2.0-rc4.jar
+geronimo-spec/jars/geronimo-spec-jta-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc1.jar
+geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc2.jar
+geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc3.jar
+geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc4.jar
+geronimo-spec/jars/geronimo-spec-jta-DEV.jar
+geronimo-spec/jars/geronimo-spec-qname-1.1-rc4.jar
+geronimo-spec/jars/geronimo-spec-saaj-1.1-rc4.jar
+geronimo-spec/jars/geronimo-spec-servlet-1.0-M1.jar
+geronimo-spec/jars/geronimo-spec-servlet-2.4-rc1.jar
+geronimo-spec/jars/geronimo-spec-servlet-2.4-rc2.jar
+geronimo-spec/jars/geronimo-spec-servlet-2.4-rc3.jar
+geronimo-spec/jars/geronimo-spec-servlet-2.4-rc4.jar
+geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc1.pom
+geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc1.pom
+geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc2.pom
+geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc3.pom
+geronimo-spec/poms/geronimo-spec-activation-1.0.2-rc4.pom
+geronimo-spec/poms/geronimo-spec-corba-2.3-rc4.pom
+geronimo-spec/poms/geronimo-spec-ejb-2.1-rc1.pom
+geronimo-spec/poms/geronimo-spec-ejb-2.1-rc2.pom
+geronimo-spec/poms/geronimo-spec-ejb-2.1-rc3.pom
+geronimo-spec/poms/geronimo-spec-ejb-2.1-rc4.pom
+geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc1.pom
+geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc2.pom
+geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc3.pom
+geronimo-spec/poms/geronimo-spec-j2ee-1.4-rc4.pom
+geronimo-spec/poms/geronimo-spec-saaj-1.1-rc4.pom
+geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc2.pom
+geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc3.pom
+geronimo-spec/poms/geronimo-spec-j2ee-connector-1.5-rc4.pom
+geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc1.pom
+geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc2.pom
+geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc3.pom
+geronimo-spec/poms/geronimo-spec-j2ee-deployment-1.1-rc4.pom
+geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc1.pom
+geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc2.pom
+geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc3.pom
+geronimo-spec/poms/geronimo-spec-j2ee-jacc-1.0-rc4.pom
+geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc1.pom
+geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc2.pom
+geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc3.pom
+geronimo-spec/poms/geronimo-spec-j2ee-management-1.0-rc4.pom
+geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc1.pom
+geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc2.pom
+geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc3.pom
+geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc4.pom
+geronimo-spec/poms/geronimo-spec-javamail-1.3.1-rc5.pom
+geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc1.pom
+geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc2.pom
+geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc3.pom
+geronimo-spec/poms/geronimo-spec-jaxr-1.0-rc4.pom
+geronimo-spec/poms/geronimo-spec-jaxrpc-1.1-rc4.pom
+geronimo-spec/poms/geronimo-spec-jms-1.1-rc1.pom
+geronimo-spec/poms/geronimo-spec-jms-1.1-rc2.pom
+geronimo-spec/poms/geronimo-spec-jms-1.1-rc3.pom
+geronimo-spec/poms/geronimo-spec-jms-1.1-rc4.pom
+geronimo-spec/poms/geronimo-spec-jsp-2.0-rc1.pom
+geronimo-spec/poms/geronimo-spec-jsp-2.0-rc2.pom
+geronimo-spec/poms/geronimo-spec-jsp-2.0-rc3.pom
+geronimo-spec/poms/geronimo-spec-jsp-2.0-rc4.pom
+geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc1.pom
+geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc2.pom
+geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc3.pom
+geronimo-spec/poms/geronimo-spec-jta-1.0.1B-rc4.pom
+geronimo-spec/poms/geronimo-spec-qname-1.1-rc4.pom
+geronimo-spec/poms/geronimo-spec-servlet-2.4-rc1.pom
+geronimo-spec/poms/geronimo-spec-servlet-2.4-rc2.pom
+geronimo-spec/poms/geronimo-spec-servlet-2.4-rc3.pom
+geronimo-spec/poms/geronimo-spec-servlet-2.4-rc4.pom
+hivemind/jars/hivemind-1.0-beta-1.jar
+hivemind/jars/hivemind-1.0-beta-2.jar
+hivemind/jars/hivemind-1.0-beta-3-snapshot.jar
+hivemind/jars/hivemind-1.0-rc-1.jar
+hivemind/jars/hivemind-1.0-rc-2.jar
+hivemind/jars/hivemind-1.0.jar
+hivemind/jars/hivemind-1.1.1.jar
+hivemind/jars/hivemind-1.1-alpha-1.jar
+hivemind/jars/hivemind-1.1-alpha-2.jar
+hivemind/jars/hivemind-1.1-alpha-3.jar
+hivemind/jars/hivemind-1.1-beta-1.jar
+hivemind/jars/hivemind-1.1-beta-2.jar
+hivemind/jars/hivemind-1.1-beta-3.jar
+hivemind/jars/hivemind-1.1-rc-1.jar
+hivemind/jars/hivemind-1.1.jar
+hivemind/jars/hivemind-jmx-1.1-beta-1.jar
+hivemind/jars/hivemind-jmx-1.1-beta-2.jar
+hivemind/jars/hivemind-jmx-1.1-beta-3.jar
+hivemind/jars/hivemind-jmx-1.1-rc-1.jar
+hivemind/jars/hivemind-jmx-1.1.1.jar
+hivemind/jars/hivemind-jmx-1.1.jar
+hivemind/jars/hivemind-lib-1.0-beta-3-snapshot.jar
+hivemind/jars/hivemind-lib-1.0-beta-1.jar
+hivemind/jars/hivemind-lib-1.0-beta-2.jar
+hivemind/jars/hivemind-lib-1.0-rc-1.jar
+hivemind/jars/hivemind-lib-1.0-rc-2.jar
+hivemind/jars/hivemind-lib-1.0.jar
+hivemind/jars/hivemind-lib-1.1-alpha-1.jar
+hivemind/jars/hivemind-lib-1.1-alpha-2.jar
+hivemind/jars/hivemind-lib-1.1-alpha-3.jar
+hivemind/jars/hivemind-lib-1.1-beta-1.jar
+hivemind/jars/hivemind-lib-1.1-beta-2.jar
+hivemind/jars/hivemind-lib-1.1-beta-3.jar
+hivemind/jars/hivemind-lib-1.1.1.jar
+hivemind/jars/hivemind-lib-1.1-rc-1.jar
+hivemind/jars/hivemind-lib-1.1.jar
+httpcomponents-httpcore/jars/jakarta-httpcore-4.0-alpha3.jar
+httpcomponents-httpcore/jars/jakarta-httpcore-4.0-alpha2.jar
+httpcomponents-httpcore/jars/jakarta-httpcore-nio-4.0-alpha3.jar
+httpcomponents-httpcore/jars/jakarta-httpcore-4.0-alpha4.jar
+httpcomponents-httpcore/jars/jakarta-httpcore-niossl-4.0-alpha4.jar
+httpcomponents-httpcore/jars/jakarta-httpcore-nio-4.0-alpha4.jar
+httpcomponents-httpcore/jars/httpcore-4.0-alpha5.jar
+httpcomponents-httpcore/jars/httpcore-nio-4.0-alpha5.jar
+httpcomponents-httpcore/jars/httpcore-niossl-4.0-alpha5.jar
+jakarta-regexp/jars/jakarta-regexp-1.4.jar
+james/bars/james-server-3.0a.bar
+james/blocks/james-server-3.0a.block
+james/configs/james-server-3.0a.config
+james/jars/james-3.0a1.jar
+james/jars/mailet-1.0.jar
+james/jars/mailet-3.0.jar
+james/jars/mailet-api-1.0.jar
+james/jars/mailet-api-3.0.jar
+james/xmls/block.xml
+james/xmls/config.xml
+javax.jdo/jars/jdo2-api-2.0-beta.jar
+javax.jdo/jars/jdo2-api-2.0-rc1.jar
+javax.jdo/jars/jdo2-api-2.0.jar
+javax.jdo/poms/jdo2-api-2.0-beta.pom
+javax.jdo/poms/jdo2-api-2.0-rc1.pom
+javax.jdo/poms/jdo2-api-2.0.pom
+jaxme/jars/jaxme-0.2.jar
+jaxme/jars/jaxme-0.3.1.jar
+jaxme/jars/jaxme-0.3.jar
+jaxme/jars/jaxme-api-0.2.jar
+jaxme/jars/jaxme-api-0.3.1.jar
+jaxme/jars/jaxme-api-0.3.jar
+jaxme/jars/jaxme2-0.4beta.jar
+jaxme/jars/jaxme-js-0.2.jar
+jaxme/jars/jaxme-js-0.3.1.jar
+jaxme/jars/jaxme-js-0.3.jar
+jaxme/jars/jaxme-pm-0.2.jar
+jaxme/jars/jaxme-pm-0.3.1.jar
+jaxme/jars/jaxme-pm-0.3.jar
+jaxme/jars/jaxme-rt-0.2.jar
+jaxme/jars/jaxme-rt-0.3.1.jar
+jaxme/jars/jaxme-rt-0.3.jar
+jaxme/jars/jaxme-xs-0.2.jar
+jaxme/jars/jaxme-xs-0.3.1.jar
+jaxme/jars/jaxme-xs-0.3.jar
+jaxme/jars/jaxme2-0.4-src.zip
+jaxme/jars/jaxme2-0.4.jar
+jaxme/jars/jaxme2-0.4beta-src.zip
+jaxme/jars/jaxme2-0.5.1-sources.jar
+jaxme/jars/jaxme2-0.5.1.jar
+jaxme/jars/jaxme2-0.5.jar
+jaxme/jars/jaxme2-0.5beta.jar
+jaxme/jars/jaxme2-src.zip
+jaxme/jars/jaxme2-rt-0.4.jar
+jaxme/jars/jaxme2-rt-0.4beta.jar
+jaxme/jars/jaxme2-rt-0.5.1-sources.jar
+jaxme/jars/jaxme2-rt-0.5.1.jar
+jaxme/jars/jaxme2-rt-0.5.jar
+jaxme/jars/jaxme2-rt-0.5beta.jar
+jaxme/jars/jaxme2-src-0.5.zip
+jaxme/jars/jaxme2-src-0.5beta.zip
+jaxme/jars/jaxmeapi-0.4-src.zip
+jaxme/jars/jaxmeapi-0.5.1.jar
+jaxme/jars/jaxmejs-0.4.jar
+jaxme/jars/jaxmeapi-0.4.jar
+jaxme/jars/jaxmeapi-0.4beta-src.zip
+jaxme/jars/jaxmeapi-0.4beta.jar
+jaxme/jars/jaxmeapi-0.5.1-sources.jar
+jaxme/jars/jaxmeapi-0.5.jar
+jaxme/jars/jaxmeapi-0.5beta.jar
+jaxme/jars/jaxmeapi-src-0.5.zip
+jaxme/jars/jaxmeapi-src-0.5beta.zip
+jaxme/jars/jaxmejs-0.4-src.zip
+jaxme/jars/jaxmejs-0.4beta-src.zip
+jaxme/jars/jaxmejs-0.4beta.jar
+jaxme/jars/jaxmejs-0.5.1-sources.jar
+jaxme/jars/jaxmejs-0.5.1.jar
+jaxme/jars/jaxmejs-0.5.jar
+jaxme/jars/jaxmejs-0.5beta.jar
+jaxme/jars/jaxmejs-src-0.5.zip
+jaxme/jars/jaxmejs-src-0.5beta.zip
+jaxme/jars/jaxmepm-0.4-src.zip
+jaxme/jars/jaxmepm-0.4.jar
+jaxme/jars/jaxmepm-0.4beta-src.zip
+jaxme/jars/jaxmepm-0.4beta.jar
+jaxme/jars/jaxmepm-0.5.1-sources.jar
+jaxme/jars/jaxmepm-0.5.1.jar
+jaxme/jars/jaxmepm-0.5.jar
+jaxme/jars/jaxmepm-0.5beta.jar
+jaxme/jars/jaxmepm-src-0.5.zip
+jaxme/jars/jaxmepm-src-0.5beta.zip
+jaxme/jars/jaxmexs-0.4-src.zip
+jaxme/jars/jaxmexs-0.4.jar
+jaxme/jars/jaxmexs-0.5.jar
+jaxme/jars/jaxmexs-0.4beta-src.zip
+jaxme/jars/jaxmexs-0.4beta.jar
+jaxme/jars/jaxmexs-0.5.1-sources.jar
+jaxme/jars/jaxmexs-0.5.1.jar
+jaxme/jars/jaxmexs-0.5beta.jar
+jaxme/jars/jaxmexs-src-0.5.zip
+jaxme/jars/jaxmexs-src-0.5beta.zip
+jcs/jars/jcs-1.0-dev.20020801.123921.jar
+jcs/jars/jcs-1.0-dev.20020801.125151.jar
+jcs/jars/jcs-1.0-dev.jar
+jcs/jars/jcs-20030822.182132.jar
+jcs/jars/jcs-snapshot-version
+jcs/jars/jcs-1.3.jar
+jcs/poms/jcs-1.3.pom
+jcs-javagroups/jars/jcs-javagroups-alpha-0.20020813.013703.jar
+jspapi/jars/jsp-api-2.0-20040521.jar
+jstl/jars/jstl-1.0.1.jar
+jstl/jars/jstl-1.0.2.jar
+jstl/jars/jstl-1.0.3.jar
+jstl/jars/jstl-1.0.4.jar
+jstl/jars/jstl-1.0.5.jar
+jstl/jars/jstl-1.0.6.jar
+jstl/jars/jstl-1.0.jar
+jstl/jars/jstl-1.1.0.jar
+jstl/jars/jstl-1.1.1.jar
+jstl/jars/jstl-1.1.2.jar
+jstl/README
+log4j/jars/log4j-1.1.3.jar
+log4j/jars/log4j-1.2.11.jar
+log4j/jars/log4j-1.2.14.jar
+log4j/jars/log4j-1.2.12.jar
+log4j/jars/log4j-1.2.13.jar
+log4j/jars/log4j-1.2.4.jar
+log4j/jars/log4j-1.2.5.jar
+log4j/jars/log4j-1.2.6.jar
+log4j/jars/log4j-1.2.7.jar
+log4j/jars/log4j-1.2.8.jar
+log4j/jars/log4j-1.2.9.jar
+log4j/jars/log4j-1.2.15.jar
+log4j/java-sources/log4j-1.2.13-sources.jar
+log4j/java-sources/log4j-1.2.14-sources.jar
+log4j/java-sources/log4j-1.2.15-sources.jar
+log4j/poms/log4j-1.2.12.pom
+log4j/poms/log4j-1.2.13.pom
+log4j/poms/log4j-1.2.14.pom
+log4j/poms/log4j-1.2.15.pom
+logkit/distributions/LogKit-1.2-bin.zip
+logkit/jars/logkit-1.0.1.jar
+logkit/jars/logkit-1.2.2.jar.asc.txt
+logkit/jars/logkit-1.2.2.jar
+logkit/jars/logkit-1.2.jar
+logkit/jars/logkit-20020529.jar
+lucene/jars/lucene-1.2.jar
+lucene/jars/lucene-1.3-rc1.jar
+lucene/jars/lucene-1.4.1.jar
+lucene/jars/lucene-1.4.2.jar
+lucene/jars/lucene-1.4.3.jar
+magicGball/jars/magicGball-0.01234-alpha0.jar
+magicGball/poms/magicGball-0.01234-alpha0.pom
+maven/jars/commons-jelly-1.0.1-20060717.jar
+maven/jars/maven-1.0.1.jar
+maven/jars/maven-1.0-rc3.jar
+maven/jars/maven-1.0-rc4.jar
+maven/jars/maven-1.1-beta-1.jar
+maven/jars/maven-1.0.2.jar
+maven/jars/maven-1.0.jar
+maven/jars/maven-1.1-beta-2.jar
+maven/jars/maven-1.1-beta-3.jar
+maven/jars/maven-1.1-RC1.jar
+maven/jars/maven-jar-plugin-1.5.jar
+maven/jars/maven-java-plugin-1.5.jar
+maven/jars/maven-jelly-tags-1.0.1.jar
+maven/jars/velocity-1.5-20060721.044818.jar
+maven/jars/maven-jelly-tags-1.0.jar
+maven/jars/maven-model-3.0.0.jar
+maven/jars/maven-1.1.jar
+maven/jars/maven-model-3.0.1.jar
+maven/jars/maven-model-3.0.2.jar
+maven/jars/wagon-file-1.0-alpha-3.jar
+maven/jars/wagon-http-1.0-alpha-3.jar
+maven/jars/wagon-provider-api-1.0-alpha-3.jar
+maven/java-sources/maven-1.1-beta-3-sources.jar
+maven/java-sources/maven-ant-plugin-1.10-sources.jar
+maven/java-sources/maven-ear-plugin-1.9-sources.jar
+maven/java-sources/maven-linkcheck-plugin-1.4-sources.jar
+maven/java-sources/maven-modello-plugin-1.0-sources.jar
+maven/java-sources/maven-pdf-plugin-2.5-sources.jar
+maven/java-sources/maven-pmd-plugin-1.9-sources.jar
+maven/java-sources/maven-site-plugin-1.7.2-sources.jar
+maven/java-sources/maven-announcement-plugin-1.4.1-sources.jar
+maven/java-sources/maven-developer-activity-plugin-1.6.1-sources.jar
+maven/java-sources/maven-file-activity-plugin-1.6.1-sources.jar
+maven/java-sources/maven-model-3.0.2-sources.jar
+maven/java-sources/maven-plugin-plugin-1.7.1-sources.jar
+maven/java-sources/maven-1.1-RC1-sources.jar
+maven/java-sources/maven-idea-plugin-1.7-sources.jar
+maven/java-sources/maven-jalopy-plugin-1.5.1-sources.jar
+maven/java-sources/maven-jar-plugin-1.8.1-sources.jar
+maven/java-sources/maven-javadoc-plugin-1.9-sources.jar
+maven/java-sources/maven-multichanges-plugin-1.3-sources.jar
+maven/java-sources/maven-1.1-sources.jar
+maven/javadoc.jars/maven-1.1-beta-3.javadoc.jar
+maven/javadoc.jars/maven-modello-plugin-1.0.javadoc.jar
+maven/javadoc.jars/maven-announcement-plugin-1.4.1.javadoc.jar
+maven/javadoc.jars/maven-model-3.0.2.javadoc.jar
+maven/javadoc.jars/maven-plugin-plugin-1.7.1.javadoc.jar
+maven/javadoc.jars/maven-jalopy-plugin-1.5.1.javadoc.jar
+maven/javadoc.jars/maven-jar-plugin-1.8.1.javadoc.jar
+maven/javadoc.jars/maven-javadoc-plugin-1.9.javadoc.jar
+maven/javadoc.jars/maven-multichanges-plugin-1.3.javadoc.jar
+maven/javadoc.jars/maven-1.1-RC1.javadoc.jar
+maven/javadoc.jars/maven-1.1.javadoc.jar
+maven/plugins/maven-abbot-plugin-1.0.jar
+maven/plugins/maven-abbot-plugin-1.1.jar
+maven/plugins/maven-announcement-plugin-1.1.jar
+maven/plugins/maven-announcement-plugin-1.2.jar
+maven/plugins/maven-announcement-plugin-1.3.jar
+maven/plugins/maven-changelog-plugin-1.9.1.jar
+maven/plugins/maven-announcement-plugin-1.4.jar
+maven/plugins/maven-ant-plugin-1.10.jar
+maven/plugins/maven-ant-plugin-1.7.jar
+maven/plugins/maven-ant-plugin-1.8.1.jar
+maven/plugins/maven-ant-plugin-1.8.jar
+maven/plugins/maven-ant-plugin-1.9.jar
+maven/plugins/maven-antlr-plugin-1.2.1.jar
+maven/plugins/maven-antlr-plugin-1.2.2.jar
+maven/plugins/maven-antlr-plugin-1.2.jar
+maven/plugins/maven-appserver-plugin-2.0.jar
+maven/plugins/maven-artifact-plugin-1.2.jar
+maven/plugins/maven-artifact-plugin-1.3.jar
+maven/plugins/maven-artifact-plugin-1.4.1.jar
+maven/plugins/maven-artifact-plugin-1.4.jar
+maven/plugins/maven-artifact-plugin-1.5.1.jar
+maven/plugins/maven-artifact-plugin-1.5.2.jar
+maven/plugins/maven-caller-plugin-1.1.jar
+maven/plugins/maven-artifact-plugin-1.5.jar
+maven/plugins/maven-artifact-plugin-1.6.jar
+maven/plugins/maven-artifact-plugin-1.7.jar
+maven/plugins/maven-castor-plugin-1.2.jar
+maven/plugins/maven-artifact-plugin-1.8.jar
+maven/plugins/maven-ashkelon-plugin-1.2.jar
+maven/plugins/maven-aspectj-plugin-3.0.jar
+maven/plugins/maven-aspectj-plugin-3.1.1.jar
+maven/plugins/maven-aspectj-plugin-3.1.jar
+maven/plugins/maven-aspectj-plugin-3.2.jar
+maven/plugins/maven-aspectj-plugin-4.0.jar
+maven/plugins/maven-aspectwerkz-plugin-1.2.jar
+maven/plugins/maven-clean-plugin-1.2.jar
+maven/plugins/maven-changelog-plugin-1.5.jar
+maven/plugins/maven-changelog-plugin-1.6.jar
+maven/plugins/maven-changelog-plugin-1.7.1.jar
+maven/plugins/maven-changelog-plugin-1.7.2.jar
+maven/plugins/maven-changelog-plugin-1.7.jar
+maven/plugins/maven-changelog-plugin-1.8.1.jar
+maven/plugins/maven-changelog-plugin-1.8.2.jar
+maven/plugins/maven-changelog-plugin-1.8.jar
+maven/plugins/maven-changelog-plugin-1.9.jar
+maven/plugins/maven-changes-plugin-1.4.jar
+maven/plugins/maven-changes-plugin-1.5.1.jar
+maven/plugins/maven-changes-plugin-1.5.jar
+maven/plugins/maven-clean-plugin-1.3.jar
+maven/plugins/maven-changes-plugin-1.6.jar
+maven/plugins/maven-checkstyle-plugin-2.4.1.jar
+maven/plugins/maven-checkstyle-plugin-2.4.jar
+maven/plugins/maven-checkstyle-plugin-2.5.jar
+maven/plugins/maven-checkstyle-plugin-3.0.1.jar
+maven/plugins/maven-checkstyle-plugin-3.0.jar
+maven/plugins/maven-clean-plugin-1.4.jar
+maven/plugins/maven-clover-plugin-1.10.jar
+maven/plugins/maven-clover-plugin-1.11.jar
+maven/plugins/maven-clover-plugin-1.5.jar
+maven/plugins/maven-clover-plugin-1.6.jar
+maven/plugins/maven-clover-plugin-1.7.jar
+maven/plugins/maven-clover-plugin-1.8.jar
+maven/plugins/maven-clover-plugin-1.9.1.jar
+maven/plugins/maven-clover-plugin-1.9.jar
+maven/plugins/maven-console-plugin-1.1.jar
+maven/plugins/maven-console-plugin-1.2.jar
+maven/plugins/maven-cruisecontrol-plugin-1.2.jar
+maven/plugins/maven-cruisecontrol-plugin-1.3.jar
+maven/plugins/maven-cruisecontrol-plugin-1.4.jar
+maven/plugins/maven-cruisecontrol-plugin-1.5.jar
+maven/plugins/maven-cruisecontrol-plugin-1.6.jar
+maven/plugins/maven-cruisecontrol-plugin-1.7.jar
+maven/plugins/maven-cruisecontrol-plugin-1.8.jar
+maven/plugins/maven-dashboard-plugin-1.3.jar
+maven/plugins/maven-developer-activity-plugin-1.5.1.jar
+maven/plugins/maven-dashboard-plugin-1.4.jar
+maven/plugins/maven-dashboard-plugin-1.5.jar
+maven/plugins/maven-dashboard-plugin-1.6.jar
+maven/plugins/maven-dashboard-plugin-1.7.jar
+maven/plugins/maven-dashboard-plugin-1.8.jar
+maven/plugins/maven-dashboard-plugin-1.9.jar
+maven/plugins/maven-deploy-plugin-1.3.jar
+maven/plugins/maven-developer-activity-plugin-1.5.2.jar
+maven/plugins/maven-dist-plugin-1.5.jar
+maven/plugins/maven-developer-activity-plugin-1.5.jar
+maven/plugins/maven-developer-activity-plugin-1.6.jar
+maven/plugins/maven-dist-plugin-1.6.1.jar
+maven/plugins/maven-dist-plugin-1.6.jar
+maven/plugins/maven-dist-plugin-1.7.jar
+maven/plugins/maven-docbook-plugin-1.2.jar
+maven/plugins/maven-ear-plugin-1.5.jar
+maven/plugins/maven-ear-plugin-1.6.1.jar
+maven/plugins/maven-ear-plugin-1.6.jar
+maven/plugins/maven-ear-plugin-1.7.jar
+maven/plugins/maven-ear-plugin-1.8.jar
+maven/plugins/maven-ear-plugin-1.9.jar
+maven/plugins/maven-eclipse-plugin-1.10.jar
+maven/plugins/maven-eclipse-plugin-1.11.jar
+maven/plugins/maven-eclipse-plugin-1.7.jar
+maven/plugins/maven-eclipse-plugin-1.8.jar
+maven/plugins/maven-eclipse-plugin-1.9.jar
+maven/plugins/maven-ejb-plugin-1.4.jar
+maven/plugins/maven-ejb-plugin-1.5.jar
+maven/plugins/maven-ejb-plugin-1.6.jar
+maven/plugins/maven-ejb-plugin-1.7.1.jar
+maven/plugins/maven-ejb-plugin-1.7.2.jar
+maven/plugins/maven-ejb-plugin-1.7.jar
+maven/plugins/maven-faq-plugin-1.3.jar
+maven/plugins/maven-faq-plugin-1.4.jar
+maven/plugins/maven-faq-plugin-1.5.jar
+maven/plugins/maven-faq-plugin-1.6.1.jar
+maven/plugins/maven-file-activity-plugin-1.5.1.jar
+maven/plugins/maven-faq-plugin-1.6.jar
+maven/plugins/maven-file-activity-plugin-1.5.2.jar
+maven/plugins/maven-genapp-plugin-2.3.jar
+maven/plugins/maven-gump-plugin-1.3.jar
+maven/plugins/maven-file-activity-plugin-1.5.jar
+maven/plugins/maven-file-activity-plugin-1.6.jar
+maven/plugins/maven-genapp-plugin-2.2.jar
+maven/plugins/maven-gump-plugin-1.4.jar
+maven/plugins/maven-gump-plugin-2.0.1.jar
+maven/plugins/maven-gump-plugin-2.0.jar
+maven/plugins/maven-hibernate-plugin-1.1.jar
+maven/plugins/maven-hibernate-plugin-1.2.jar
+maven/plugins/maven-hibernate-plugin-1.3.jar
+maven/plugins/maven-html2xdoc-plugin-1.3.1.jar
+maven/plugins/maven-idea-plugin-1.4.jar
+maven/plugins/maven-html2xdoc-plugin-1.3.jar
+maven/plugins/maven-html2xdoc-plugin-1.4.jar
+maven/plugins/maven-idea-plugin-1.5.jar
+maven/plugins/maven-idea-plugin-1.6.jar
+maven/plugins/maven-jar-plugin-1.7.jar
+maven/plugins/maven-j2ee-plugin-1.5.1.jar
+maven/plugins/maven-j2ee-plugin-1.5.jar
+maven/plugins/maven-jalopy-plugin-1.2.jar
+maven/plugins/maven-jalopy-plugin-1.3.1.jar
+maven/plugins/maven-jalopy-plugin-1.3.jar
+maven/plugins/maven-jalopy-plugin-1.4.jar
+maven/plugins/maven-jalopy-plugin-1.5.jar
+maven/plugins/maven-jar-plugin-1.5.jar
+maven/plugins/maven-jar-plugin-1.6.1.jar
+maven/plugins/maven-jar-plugin-1.6.jar
+maven/plugins/maven-jar-plugin-1.8.jar
+maven/plugins/maven-java-plugin-1.4.jar
+maven/plugins/maven-java-plugin-1.5.jar
+maven/plugins/maven-java-plugin-1.6.jar
+maven/plugins/maven-javacc-plugin-1.1.jar
+maven/plugins/maven-jbuilder-plugin-1.5.jar
+maven/plugins/maven-javacc-plugin-1.2.jar
+maven/plugins/maven-javadoc-plugin-1.5.jar
+maven/plugins/maven-javadoc-plugin-1.6.1.jar
+maven/plugins/maven-javadoc-plugin-1.6.jar
+maven/plugins/maven-javadoc-plugin-1.7.jar
+maven/plugins/maven-javadoc-plugin-1.8.jar
+maven/plugins/maven-jboss-plugin-1.5.jar
+maven/plugins/maven-jcoverage-plugin-1.0.4.jar
+maven/plugins/maven-jcoverage-plugin-1.0.5.jar
+maven/plugins/maven-jcoverage-plugin-1.0.6.jar
+maven/plugins/maven-jcoverage-plugin-1.0.7.jar
+maven/plugins/maven-jcoverage-plugin-1.0.8.jar
+maven/plugins/maven-jcoverage-plugin-1.0.9.jar
+maven/plugins/maven-jdee-plugin-1.1.jar
+maven/plugins/maven-jdepend-plugin-1.5.1.jar
+maven/plugins/maven-jdepend-plugin-1.5.jar
+maven/plugins/maven-jdepend-plugin-1.6.1.jar
+maven/plugins/maven-jdepend-plugin-1.6.jar
+maven/plugins/maven-jdeveloper-plugin-1.4.jar
+maven/plugins/maven-jdiff-plugin-1.3.jar
+maven/plugins/maven-jdiff-plugin-1.4.jar
+maven/plugins/maven-jdiff-plugin-1.5.jar
+maven/plugins/maven-jellydoc-plugin-1.3.1.jar
+maven/plugins/maven-jellydoc-plugin-1.3.jar
+maven/plugins/maven-jetty-plugin-1.1.jar
+maven/plugins/maven-jira-plugin-1.1.1.jar
+maven/plugins/maven-jira-plugin-1.1.2.jar
+maven/plugins/maven-jira-plugin-1.1.jar
+maven/plugins/maven-jira-plugin-1.2.jar
+maven/plugins/maven-jira-plugin-1.3.jar
+maven/plugins/maven-jnlp-plugin-1.3.jar
+maven/plugins/maven-jnlp-plugin-1.4.1.jar
+maven/plugins/maven-jnlp-plugin-1.4.jar
+maven/plugins/maven-junit-doclet-plugin-1.2.jar
+maven/plugins/maven-junit-report-plugin-1.5.1.jar
+maven/plugins/maven-junit-report-plugin-1.5.jar
+maven/plugins/maven-jxr-plugin-1.4.1.jar
+maven/plugins/maven-jxr-plugin-1.4.2.jar
+maven/plugins/maven-jxr-plugin-1.4.3.jar
+maven/plugins/maven-jxr-plugin-1.4.jar
+maven/plugins/maven-jxr-plugin-1.5.jar
+maven/plugins/maven-latex-plugin-1.2.jar
+maven/plugins/maven-latka-plugin-1.4.jar
+maven/plugins/maven-latex-plugin-1.4.1.jar
+maven/plugins/maven-latka-plugin-1.4.1.jar
+maven/plugins/maven-license-plugin-1.2.jar
+maven/plugins/maven-linkcheck-plugin-1.3.1.jar
+maven/plugins/maven-linkcheck-plugin-1.4.jar
+maven/plugins/maven-linkcheck-plugin-1.3.2.jar
+maven/plugins/maven-linkcheck-plugin-1.3.3.jar
+maven/plugins/maven-linkcheck-plugin-1.3.4.jar
+maven/plugins/maven-linkcheck-plugin-1.3.jar
+maven/plugins/maven-multichanges-plugin-1.1.jar
+maven/plugins/maven-multichanges-plugin-1.2.jar
+maven/plugins/maven-multiproject-plugin-1.3.1.jar
+maven/plugins/maven-multiproject-plugin-1.3.jar
+maven/plugins/maven-multiproject-plugin-1.4.1.jar
+maven/plugins/maven-multiproject-plugin-1.4.jar
+maven/plugins/maven-multiproject-plugin-1.5.jar
+maven/plugins/maven-native-plugin-1.1.jar
+maven/plugins/maven-native-plugin-1.2.jar
+maven/plugins/maven-nsis-plugin-1.1.jar
+maven/plugins/maven-nsis-plugin-2.0.jar
+maven/plugins/maven-pdf-plugin-2.1.jar
+maven/plugins/maven-pdf-plugin-2.2.1.jar
+maven/plugins/maven-pdf-plugin-2.2.jar
+maven/plugins/maven-pdf-plugin-2.3.jar
+maven/plugins/maven-pdf-plugin-2.4.jar
+maven/plugins/maven-pdf-plugin-2.5.jar
+maven/plugins/maven-plugin-plugin-1.4.jar
+maven/plugins/maven-plugin-plugin-1.5.1.jar
+maven/plugins/maven-plugin-plugin-1.5.2.jar
+maven/plugins/maven-plugin-plugin-1.5.jar
+maven/plugins/maven-plugin-plugin-1.6.jar
+maven/plugins/maven-plugin-plugin-1.7.jar
+maven/plugins/maven-pmd-plugin-1.4.jar
+maven/plugins/maven-pmd-plugin-1.5.jar
+maven/plugins/maven-pmd-plugin-1.6.jar
+maven/plugins/maven-pmd-plugin-1.7.jar
+maven/plugins/maven-pmd-plugin-1.8.jar
+maven/plugins/maven-pmd-plugin-1.9.jar
+maven/plugins/maven-pom-plugin-1.4.1.jar
+maven/plugins/maven-pom-plugin-1.4.jar
+maven/plugins/maven-pom-plugin-1.5.jar
+maven/plugins/maven-rar-plugin-1.0.jar
+maven/plugins/maven-rar-plugin-1.1.jar
+maven/plugins/maven-release-plugin-1.3.jar
+maven/plugins/maven-release-plugin-1.4.1.jar
+maven/plugins/maven-release-plugin-1.4.jar
+maven/plugins/maven-repository-plugin-1.2.jar
+maven/plugins/maven-scm-plugin-1.3.jar
+maven/plugins/maven-scm-plugin-1.4.1.jar
+maven/plugins/maven-scm-plugin-1.4.jar
+maven/plugins/maven-scm-plugin-1.5-beta-2.jar
+maven/plugins/maven-site-plugin-1.6.jar
+maven/plugins/maven-site-plugin-1.7.jar
+maven/plugins/maven-scm-plugin-1.5-beta-3.jar
+maven/plugins/maven-scm-plugin-1.5.jar
+maven/plugins/maven-scm-plugin-1.6.jar
+maven/plugins/maven-shell-plugin-1.1.jar
+maven/plugins/maven-simian-plugin-1.4.jar
+maven/plugins/maven-simian-plugin-1.5.jar
+maven/plugins/maven-simian-plugin-1.6.jar
+maven/plugins/maven-site-plugin-1.5.1.jar
+maven/plugins/maven-site-plugin-1.5.2.jar
+maven/plugins/maven-site-plugin-1.5.jar
+maven/plugins/maven-site-plugin-1.6.1.jar
+maven/plugins/maven-source-plugin-1.0.jar
+maven/plugins/maven-struts-plugin-1.3.jar
+maven/plugins/maven-tasklist-plugin-2.3.jar
+maven/plugins/maven-tasklist-plugin-2.4.jar
+maven/plugins/maven-xdoc-plugin-1.9.2.jar
+maven/plugins/maven-test-plugin-1.6.1.jar
+maven/plugins/maven-test-plugin-1.6.2.jar
+maven/plugins/maven-test-plugin-1.6.jar
+maven/plugins/maven-test-plugin-1.7.jar
+maven/plugins/maven-test-plugin-1.8.jar
+maven/plugins/maven-tjdo-plugin-1.0.0.jar
+maven/plugins/maven-uberjar-plugin-1.2.jar
+maven/plugins/maven-vdoclet-plugin-1.2.jar
+maven/plugins/maven-war-plugin-1.6.1.jar
+maven/plugins/maven-war-plugin-1.6.2.jar
+maven/plugins/maven-war-plugin-1.6.jar
+maven/plugins/maven-webserver-plugin-2.0.jar
+maven/plugins/maven-wizard-plugin-1.1.jar
+maven/plugins/maven-xdoc-plugin-1.10.jar
+maven/plugins/maven-xdoc-plugin-1.7.1.jar
+maven/plugins/maven-xdoc-plugin-1.7.2.jar
+maven/plugins/maven-xdoc-plugin-1.7.jar
+maven/plugins/maven-xdoc-plugin-1.8.jar
+maven/plugins/maven-xdoc-plugin-1.9.1.jar
+maven/plugins/maven-changes-plugin-1.7.jar
+maven/plugins/maven-xdoc-plugin-1.9.jar
+maven/plugins/maven-genapp-plugin-2.3.1.jar
+maven/plugins/maven-pom-plugin-1.5.1.jar
+maven/plugins/maven-clover-plugin-1.11.1.jar
+maven/plugins/maven-java-plugin-1.6.1.jar
+maven/plugins/maven-jira-plugin-1.3.1.jar
+maven/plugins/maven-simian-plugin-1.6.1.jar
+maven/plugins/maven-clover-plugin-1.11.2.jar
+maven/plugins/maven-jdiff-plugin-1.5.1.jar
+maven/plugins/maven-pdf-plugin-2.5.1.jar
+maven/plugins/maven-pmd-plugin-1.10.jar
+maven/plugins/maven-scm-plugin-1.6.1.jar
+maven/plugins/maven-site-plugin-1.7.1.jar
+maven/plugins/maven-modello-plugin-1.0.jar
+maven/plugins/maven-site-plugin-1.7.2.jar
+maven/plugins/maven-announcement-plugin-1.4.1.jar
+maven/plugins/maven-developer-activity-plugin-1.6.1.jar
+maven/plugins/maven-file-activity-plugin-1.6.1.jar
+maven/plugins/maven-plugin-plugin-1.7.1.jar
+maven/plugins/maven-idea-plugin-1.7.jar
+maven/plugins/maven-jalopy-plugin-1.5.1.jar
+maven/plugins/maven-jar-plugin-1.8.1.jar
+maven/plugins/maven-javadoc-plugin-1.9.jar
+maven/plugins/maven-multichanges-plugin-1.3.jar
+maven/plugins/maven-artifact-plugin-1.9.jar
+maven/plugins/maven-changelog-plugin-1.9.2.jar
+maven/plugins/maven-dist-plugin-1.7.1.jar
+maven/plugins/maven-eclipse-plugin-1.12.jar
+maven/plugins/maven-ejb-plugin-1.7.3.jar
+maven/plugins/maven-linkcheck-plugin-1.4.1.jar
+maven/plugins/maven-multiproject-plugin-1.5.1.jar
+maven/plugins/maven-test-plugin-1.8.1.jar
+maven/plugins/maven-war-plugin-1.6.3.jar
+maven/plugins/maven-xdoc-plugin-1.10.1.jar
+maven/plugins/maven-nsis-plugin-2.1.jar
+maven/plugins/maven-artifact-plugin-1.9.1.jar
+maven/plugins/maven-test-plugin-1.8.2.jar
+maven/poms/commons-jelly-1.0.1-20060717.pom
+maven/poms/maven-1.0.1.pom
+maven/poms/maven-1.0-rc4.pom
+maven/poms/maven-1.0.2.pom
+maven/poms/maven-1.0.pom
+maven/poms/maven-1.1-beta-3.pom
+maven/poms/maven-abbot-plugin-1.0.pom
+maven/poms/maven-abbot-plugin-1.1.pom
+maven/poms/maven-announcement-plugin-1.2.pom
+maven/poms/maven-announcement-plugin-1.3.pom
+maven/poms/maven-1.1-RC1.pom
+maven/poms/maven-announcement-plugin-1.4.pom
+maven/poms/maven-ant-plugin-1.10.pom
+maven/poms/maven-ant-plugin-1.8.1.pom
+maven/poms/maven-ant-plugin-1.8.pom
+maven/poms/maven-ant-plugin-1.9.pom
+maven/poms/maven-antlr-plugin-1.2.1.pom
+maven/poms/maven-model-3.0.0.pom
+maven/poms/maven-antlr-plugin-1.2.2.pom
+maven/poms/maven-artifact-plugin-1.3.pom
+maven/poms/maven-artifact-plugin-1.4.1.pom
+maven/poms/maven-artifact-plugin-1.4.pom
+maven/poms/maven-artifact-plugin-1.5.1.pom
+maven/poms/maven-artifact-plugin-1.5.2.pom
+maven/poms/maven-artifact-plugin-1.5.pom
+maven/poms/maven-artifact-plugin-1.6.pom
+maven/poms/maven-model-3.0.1.pom
+maven/poms/maven-artifact-plugin-1.7.pom
+maven/poms/maven-artifact-plugin-1.8.pom
+maven/poms/maven-aspectj-plugin-3.1.1.pom
+maven/poms/maven-aspectj-plugin-3.2.pom
+maven/poms/maven-aspectj-plugin-4.0.pom
+maven/poms/maven-changelog-plugin-1.6.pom
+maven/poms/maven-changelog-plugin-1.7.1.pom
+maven/poms/maven-clean-plugin-1.4.pom
+maven/poms/maven-changelog-plugin-1.7.2.pom
+maven/poms/maven-changelog-plugin-1.7.pom
+maven/poms/maven-changelog-plugin-1.8.1.pom
+maven/poms/maven-changelog-plugin-1.9.pom
+maven/poms/maven-changelog-plugin-1.8.2.pom
+maven/poms/maven-changelog-plugin-1.8.pom
+maven/poms/maven-changelog-plugin-1.9.1.pom
+maven/poms/maven-changes-plugin-1.5.1.pom
+maven/poms/maven-changes-plugin-1.5.pom
+maven/poms/maven-changes-plugin-1.6.pom
+maven/poms/maven-checkstyle-plugin-2.5.pom
+maven/poms/maven-checkstyle-plugin-3.0.1.pom
+maven/poms/maven-checkstyle-plugin-3.0.pom
+maven/poms/maven-dashboard-plugin-1.5.pom
+maven/poms/maven-clover-plugin-1.10.pom
+maven/poms/maven-clover-plugin-1.11.pom
+maven/poms/maven-clover-plugin-1.6.pom
+maven/poms/maven-clover-plugin-1.7.pom
+maven/poms/maven-clover-plugin-1.8.pom
+maven/poms/maven-clover-plugin-1.9.1.pom
+maven/poms/maven-clover-plugin-1.9.pom
+maven/poms/maven-dist-plugin-1.6.1.pom
+maven/poms/maven-console-plugin-1.2.pom
+maven/poms/maven-cruisecontrol-plugin-1.4.pom
+maven/poms/maven-cruisecontrol-plugin-1.5.pom
+maven/poms/maven-cruisecontrol-plugin-1.6.pom
+maven/poms/maven-cruisecontrol-plugin-1.7.pom
+maven/poms/maven-cruisecontrol-plugin-1.8.pom
+maven/poms/maven-dashboard-plugin-1.4.pom
+maven/poms/maven-developer-activity-plugin-1.5.1.pom
+maven/poms/maven-dashboard-plugin-1.6.pom
+maven/poms/maven-dashboard-plugin-1.7.pom
+maven/poms/maven-dashboard-plugin-1.8.pom
+maven/poms/maven-dashboard-plugin-1.9.pom
+maven/poms/maven-developer-activity-plugin-1.5.2.pom
+maven/poms/maven-developer-activity-plugin-1.6.pom
+maven/poms/maven-dist-plugin-1.6.pom
+maven/poms/maven-dist-plugin-1.7.pom
+maven/poms/maven-ear-plugin-1.6.1.pom
+maven/poms/maven-ear-plugin-1.6.pom
+maven/poms/maven-ear-plugin-1.7.pom
+maven/poms/maven-ear-plugin-1.8.pom
+maven/poms/maven-ear-plugin-1.9.pom
+maven/poms/maven-ejb-plugin-1.5.pom
+maven/poms/maven-eclipse-plugin-1.10.pom
+maven/poms/maven-eclipse-plugin-1.11.pom
+maven/poms/maven-eclipse-plugin-1.8.pom
+maven/poms/maven-eclipse-plugin-1.9.pom
+maven/poms/maven-ejb-plugin-1.6.pom
+maven/poms/maven-ejb-plugin-1.7.1.pom
+maven/poms/maven-ejb-plugin-1.7.2.pom
+maven/poms/maven-ejb-plugin-1.7.pom
+maven/poms/maven-faq-plugin-1.4.pom
+maven/poms/maven-faq-plugin-1.5.pom
+maven/poms/maven-faq-plugin-1.6.1.pom
+maven/poms/maven-file-activity-plugin-1.5.1.pom
+maven/poms/maven-faq-plugin-1.6.pom
+maven/poms/maven-file-activity-plugin-1.5.2.pom
+maven/poms/maven-file-activity-plugin-1.6.pom
+maven/poms/maven-genapp-plugin-2.3.pom
+maven/poms/maven-gump-plugin-1.4.pom
+maven/poms/maven-gump-plugin-2.0.1.pom
+maven/poms/maven-gump-plugin-2.0.pom
+maven/poms/maven-hibernate-plugin-1.2.pom
+maven/poms/maven-hibernate-plugin-1.3.pom
+maven/poms/maven-html2xdoc-plugin-1.3.1.pom
+maven/poms/maven-html2xdoc-plugin-1.4.pom
+maven/poms/maven-idea-plugin-1.5.pom
+maven/poms/maven-idea-plugin-1.6.pom
+maven/poms/maven-j2ee-plugin-1.5.1.pom
+maven/poms/maven-jalopy-plugin-1.3.1.pom
+maven/poms/maven-jalopy-plugin-1.3.pom
+maven/poms/maven-jalopy-plugin-1.4.pom
+maven/poms/maven-jalopy-plugin-1.5.pom
+maven/poms/maven-jar-plugin-1.6.1.pom
+maven/poms/maven-jar-plugin-1.6.pom
+maven/poms/maven-jar-plugin-1.7.pom
+maven/poms/maven-jar-plugin-1.8.pom
+maven/poms/maven-java-plugin-1.5.pom
+maven/poms/maven-java-plugin-1.6.pom
+maven/poms/maven-javacc-plugin-1.2.pom
+maven/poms/maven-model-3.0.2.pom
+maven/poms/maven-javadoc-plugin-1.6.1.pom
+maven/poms/maven-javadoc-plugin-1.6.pom
+maven/poms/maven-javadoc-plugin-1.7.pom
+maven/poms/maven-javadoc-plugin-1.8.pom
+maven/poms/maven-jcoverage-plugin-1.0.5.pom
+maven/poms/maven-jcoverage-plugin-1.0.6.pom
+maven/poms/maven-jcoverage-plugin-1.0.7.pom
+maven/poms/maven-jelly-tags-1.0.1.pom
+maven/poms/maven-jcoverage-plugin-1.0.8.pom
+maven/poms/maven-jcoverage-plugin-1.0.9.pom
+maven/poms/maven-jdepend-plugin-1.5.1.pom
+maven/poms/maven-jdepend-plugin-1.6.1.pom
+maven/poms/maven-jdepend-plugin-1.6.pom
+maven/poms/maven-jdiff-plugin-1.5.pom
+maven/poms/maven-jira-plugin-1.2-20051203.221911.pom
+maven/poms/maven-jellydoc-plugin-1.3.1.pom
+maven/poms/maven-jira-plugin-1.1.1.pom
+maven/poms/maven-jira-plugin-1.1.2.pom
+maven/poms/maven-jira-plugin-1.2.pom
+maven/poms/maven-jira-plugin-1.3.pom
+maven/poms/maven-jira-plugin-snapshot-version
+maven/poms/maven-jnlp-plugin-1.4.1.pom
+maven/poms/maven-jnlp-plugin-1.4.pom
+maven/poms/maven-junit-report-plugin-1.5.1.pom
+maven/poms/maven-jxr-plugin-1.4.1.pom
+maven/poms/maven-jxr-plugin-1.4.2.pom
+maven/poms/maven-jxr-plugin-1.4.3.pom
+maven/poms/maven-jxr-plugin-1.5.pom
+maven/poms/maven-latex-plugin-1.4.1.pom
+maven/poms/maven-latka-plugin-1.4.1.pom
+maven/poms/maven-linkcheck-plugin-1.3.2.pom
+maven/poms/maven-linkcheck-plugin-1.3.3.pom
+maven/poms/maven-native-plugin-1.2.pom
+maven/poms/maven-linkcheck-plugin-1.3.4.pom
+maven/poms/maven-linkcheck-plugin-1.4.pom
+maven/poms/maven-multichanges-plugin-1.2.pom
+maven/poms/maven-multiproject-plugin-1.3.1.pom
+maven/poms/maven-multiproject-plugin-1.4.1.pom
+maven/poms/maven-multiproject-plugin-1.4.pom
+maven/poms/maven-multiproject-plugin-1.5.pom
+maven/poms/maven-nsis-plugin-2.0.pom
+maven/poms/maven-pdf-plugin-2.2.1.pom
+maven/poms/maven-pdf-plugin-2.5.pom
+maven/poms/maven-pdf-plugin-2.2.pom
+maven/poms/maven-pdf-plugin-2.3.pom
+maven/poms/maven-pdf-plugin-2.4.pom
+maven/poms/maven-plugin-plugin-1.5.1.pom
+maven/poms/maven-plugin-plugin-1.5.2.pom
+maven/poms/maven-plugin-plugin-1.5.pom
+maven/poms/maven-plugin-plugin-1.6.pom
+maven/poms/maven-plugin-plugin-1.7.pom
+maven/poms/maven-pmd-plugin-1.5.pom
+maven/poms/maven-pmd-plugin-1.6.pom
+maven/poms/maven-pmd-plugin-1.7.pom
+maven/poms/maven-pmd-plugin-1.8.pom
+maven/poms/maven-pmd-plugin-1.9.pom
+maven/poms/maven-pom-plugin-1.5.pom
+maven/poms/maven-rar-plugin-1.1.pom
+maven/poms/maven-release-plugin-1.4.1.pom
+maven/poms/maven-scm-plugin-1.4.1.pom
+maven/poms/maven-scm-plugin-1.5-beta-2.pom
+maven/poms/maven-scm-plugin-1.5-beta-3.pom
+maven/poms/maven-scm-plugin-1.5.pom
+maven/poms/maven-scm-plugin-1.6.pom
+maven/poms/maven-simian-plugin-1.5.pom
+maven/poms/maven-simian-plugin-1.6.pom
+maven/poms/maven-site-plugin-1.5.1.pom
+maven/poms/maven-site-plugin-1.5.2.pom
+maven/poms/maven-site-plugin-1.6.1.pom
+maven/poms/maven-site-plugin-1.6.pom
+maven/poms/maven-site-plugin-1.7.pom
+maven/poms/maven-source-plugin-1.0.pom
+maven/poms/maven-tasklist-plugin-2.4.pom
+maven/poms/maven-test-plugin-1.6.2.pom
+maven/poms/maven-test-plugin-1.7.pom
+maven/poms/maven-test-plugin-1.8.pom
+maven/poms/maven-war-plugin-1.6.1.pom
+maven/poms/maven-war-plugin-1.6.2.pom
+maven/poms/maven-xdoc-plugin-1.10.pom
+maven/poms/maven-xdoc-plugin-1.7.2.pom
+maven/poms/maven-xdoc-plugin-1.8.pom
+maven/poms/maven-xdoc-plugin-1.9.1.pom
+maven/poms/maven-xdoc-plugin-1.9.2.pom
+maven/poms/maven-xdoc-plugin-1.9.pom
+maven/poms/velocity-1.5-20060721.044818.pom
+maven/poms/maven-changes-plugin-1.7.pom
+maven/poms/maven-genapp-plugin-2.3.1.pom
+maven/poms/maven-pom-plugin-1.5.1.pom
+maven/poms/maven-clover-plugin-1.11.1.pom
+maven/poms/maven-java-plugin-1.6.1.pom
+maven/poms/maven-jira-plugin-1.3.1.pom
+maven/poms/maven-simian-plugin-1.6.1.pom
+maven/poms/maven-clover-plugin-1.11.2.pom
+maven/poms/maven-jdiff-plugin-1.5.1.pom
+maven/poms/maven-pdf-plugin-2.5.1.pom
+maven/poms/maven-pmd-plugin-1.10.pom
+maven/poms/maven-scm-plugin-1.6.1.pom
+maven/poms/maven-site-plugin-1.7.1.pom
+maven/poms/maven-modello-plugin-1.0.pom
+maven/poms/maven-site-plugin-1.7.2.pom
+maven/poms/maven-announcement-plugin-1.4.1.pom
+maven/poms/maven-developer-activity-plugin-1.6.1.pom
+maven/poms/maven-file-activity-plugin-1.6.1.pom
+maven/poms/maven-plugin-plugin-1.7.1.pom
+maven/poms/maven-idea-plugin-1.7.pom
+maven/poms/maven-jalopy-plugin-1.5.1.pom
+maven/poms/maven-jar-plugin-1.8.1.pom
+maven/poms/maven-javadoc-plugin-1.9.pom
+maven/poms/maven-multichanges-plugin-1.3.pom
+maven/poms/maven-artifact-plugin-1.9.pom
+maven/poms/maven-changelog-plugin-1.9.2.pom
+maven/poms/maven-dist-plugin-1.7.1.pom
+maven/poms/maven-eclipse-plugin-1.12.pom
+maven/poms/maven-ejb-plugin-1.7.3.pom
+maven/poms/maven-linkcheck-plugin-1.4.1.pom
+maven/poms/maven-multiproject-plugin-1.5.1.pom
+maven/poms/maven-test-plugin-1.8.1.pom
+maven/poms/maven-war-plugin-1.6.3.pom
+maven/poms/maven-xdoc-plugin-1.10.1.pom
+maven/poms/maven-nsis-plugin-2.1.pom
+maven/poms/maven-artifact-plugin-1.9.1.pom
+maven/poms/maven-1.1.pom
+maven/poms/maven-test-plugin-1.8.2.pom
+maven-new/jars/maven-fetch-20030525.145948.jar
+maven-new/jars/maven-fetch-snapshot-version
+maven-plugins/jars/maven-aptdoc-plugin-20030413.030249.jar
+maven-plugins/jars/maven-aptdoc-plugin-snapshot-version
+maven-plugins/jars/maven-dbunit-plugin-20030413.024213.jar
+maven-plugins/jars/maven-dbunit-plugin-snapshot-version
+maven-plugins/plugins/maven-dbunit-plugin-1.0.jar
+maven-plugins/plugins/maven-dbunit-plugin-20030814.080708.jar
+merlin/jars/merlin-api-3.3.0.jar
+merlin/jars/merlin-cli-3.3.0.jar
+merlin/jars/merlin-impl-3.3.0.jar
+merlin/jars/merlin-unit-3.3.0.jar
+merlin/plugins/merlin-plugin-3.3.0.jar
+merlin-developer/jars/merlin-developer-core-snapshot-version
+merlin-developer/jars/merlin-developer-core-0.1.jar
+merlin-developer/jars/merlin-developer-core-20040423.083017.jar
+merlin-tutorial/jars/locator-impl-1.0.jar
+merlin-tutorial/jars/locator-api-1.0.jar
+merlin-tutorial/jars/publisher-api-1.0.jar
+merlin-tutorial/jars/publisher-impl-1.0.jar
+muse/jars/2.0.0-M1/KEYS
+muse/jars/2.0.0-M1/muse-core-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-platform-axis2-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-tools-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-util-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-util-xml-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-util-qname-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-util-xstream-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsa-soap-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsdm-muws-adv-api-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsdm-muws-adv-impl-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsdm-muws-api-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsrf-impl-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsdm-muws-impl-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsdm-wef-api-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsdm-wef-impl-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsn-api-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsn-impl-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsrf-api-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsx-api-2.0.0-M1.jar
+muse/jars/2.0.0-M1/muse-wsx-impl-2.0.0-M1.jar
+muse/jars/advertiser-xbeans-src-1.0.jar
+muse/jars/advertiser-xbeans-1.0.jar
+muse/jars/wsdm-xbeans-1.0.jar
+muse/jars/muse-1.0.jar
+muse/jars/wsdm-xbeans-src-1.0.jar
+myfaces/jars/myfaces-1.0.9/myfaces-impl-1.0.9.jar
+myfaces/jars/myfaces-1.0.9/myfaces-1.0.9.jar
+myfaces/jars/myfaces-1.0.9/myfaces-extensions-1.0.9.jar
+myfaces/jars/myfaces-1.0.9/myfaces-jsf-api-1.0.9.jar
+myfaces/jars/myfaces-1.0.9/myfaces-wap-1.0.9.jar
+myfaces/jars/myfaces-1.0.9/myfaces-xdoclet-1.0.9.jar
+myfaces/jars/myfaces-1.1.0/myfaces-impl.jar
+myfaces/jars/myfaces-1.1.0/myfaces-all.jar
+myfaces/jars/myfaces-1.1.0/myfaces-api.jar
+myfaces/jars/myfaces-1.1.0/tomahawk.jar
+myfaces/jars/myfaces-1.0.9.jar
+myfaces/jars/myfaces-extensions-1.0.9.jar
+myfaces/jars/myfaces-all-1.1.0.jar
+myfaces/jars/myfaces-all-1.1.1.jar
+myfaces/jars/myfaces-api-1.1.0.jar
+myfaces/jars/myfaces-api-1.1.1.jar
+myfaces/jars/myfaces-impl-1.0.9.jar
+myfaces/jars/myfaces-impl-1.1.0.jar
+myfaces/jars/myfaces-impl-1.1.1.jar
+myfaces/jars/myfaces-jsf-api-1.0.8-beta.jar
+myfaces/jars/myfaces-jsf-api-1.0.9.jar
+myfaces/jars/myfaces-wap-1.0.9.jar
+myfaces/jars/myfaces-xdoclet-1.0.9.jar
+myfaces/jars/tomahawk-1.1.0.jar
+myfaces/jars/tomahawk-1.1.1.jar
+myfaces/poms/myfaces.pom
+nekohtml/jars/nekohtml-0.6.5.jar
+nekohtml/jars/nekohtml-0.7.1.jar
+nekohtml/jars/nekohtml-0.7.4.jar
+nekohtml/jars/nekohtml-0.7.6.jar
+nekohtml/jars/nekohtml-0.7.7.jar
+nekohtml/jars/nekohtml-0.8.1.jar
+nekohtml/jars/nekohtmlSamples-0.7.1.jar
+nekohtml/jars/nekohtmlSamples-0.7.7.jar
+nekohtml/jars/nekohtmlSamples-0.8.1.jar
+nekohtml/jars/nekohtmlXni-0.7.1.jar
+nekohtml/jars/nekohtmlXni-0.7.6.jar
+nekohtml/jars/nekohtmlXni-0.7.7.jar
+nekohtml/jars/nekohtmlXni-0.8.1.jar
+ojb/jars/db-ojb-1.0.0-tools.jar
+ojb/jars/db-ojb-1.0.0.jar
+ojb/jars/db-ojb-1.0.1.jar
+ojb/jars/db-ojb-1.0.2.jar
+ojb/jars/db-ojb-1.0.3.jar
+ojb/jars/db-ojb-1.0.4.jar.MD5
+ojb/jars/db-ojb-1.0.4.jar
+ojb/jars/db-ojb-1.0.rc5-tools.jar
+ojb/jars/ojb-0.9.jar
+ojb/jars/db-ojb-1.0.rc5.jar
+ojb/jars/db-ojb-1.0.rc7.jar
+ojb/jars/ojb-0.5.200.jar
+ojb/jars/ojb-0.7.343.jar
+ojb/jars/ojb-0.8.375.jar
+ojb/jars/ojb-0.9.1.jar
+ojb/jars/ojb-0.9.2.jar
+ojb/jars/ojb-0.9.4.jar
+ojb/jars/ojb-0.9.5.jar
+ojb/jars/ojb-0.9.6-dev.jar
+ojb/jars/ojb-0.9.6.jar
+ojb/jars/ojb-1.0-dev-james-1.jar
+ojb/jars/ojb-1.0.rc2.jar
+ojb/jars/ojb-1.0.rc3.jar
+ojb/jars/ojb-1.0.rc4.jar
+ojb/jars/xdoclet-ojb-module-1.2.1.jar
+ojb/jars/xdoclet-ojb-module-1.2.3.jar
+ojb/jars/xdoclet-ojb-module-1.2.3.jar.MD5
+ojb/poms/db-ojb-1.0.4.pom.MD5
+ojb/poms/db-ojb-1.0.4.pom
+ojb/poms/ojb-1.0.rc2.pom
+org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.0/geronimo-activation_1.0.2_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.0/geronimo-activation_1.0.2_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-corba_3.0_spec/1.0/geronimo-corba_3.0_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-corba_3.0_spec/1.0/geronimo-corba_3.0_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-corba_3.0_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0/geronimo-ejb_2.1_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0/geronimo-ejb_2.1_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-ejb_2.1_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0/geronimo-j2ee-connector_1.5_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0/geronimo-j2ee-connector_1.5_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-j2ee-deployment_1.1_spec/1.0/geronimo-j2ee-deployment_1.1_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-j2ee-deployment_1.1_spec/1.0/geronimo-j2ee-deployment_1.1_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-j2ee-deployment_1.1_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0/geronimo-j2ee-jacc_1.0_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0/geronimo-j2ee-jacc_1.0_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0/geronimo-j2ee-management_1.0_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0/geronimo-j2ee-management_1.0_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0/geronimo-jaxr_1.0_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0/geronimo-jaxr_1.0_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0/geronimo-jaxrpc_1.1_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0/geronimo-jaxrpc_1.1_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-jms_1.1_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.0/geronimo-jsp_2.0_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-jsp_2.0_spec/1.0/geronimo-jsp_2.0_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-jsp_2.0_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0/geronimo-jta_1.0.1B_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0/geronimo-jta_1.0.1B_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0/geronimo-qname_1.1_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-qname_1.1_spec/1.0/geronimo-qname_1.1_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-qname_1.1_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0/geronimo-saaj_1.1_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0/geronimo-saaj_1.1_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-saaj_1.1_spec/maven-metadata.xml
+org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.0/geronimo-servlet_2.4_spec-1.0.jar
+org/apache/geronimo/specs/geronimo-servlet_2.4_spec/1.0/geronimo-servlet_2.4_spec-1.0.pom
+org/apache/geronimo/specs/geronimo-servlet_2.4_spec/maven-metadata.xml
+org.apache.axis/jars/axis-1.4.jar
+org.apache.axis/jars/axis-1.4.jar.sha
+org.apache.axis/jars/axis-ant-1.4.jar
+org.apache.axis/jars/axis-ant-1.4.jar.sha
+org.apache.axis/jars/axis-jaxrpc-1.4.jar
+org.apache.axis/jars/axis-jaxrpc-1.4.jar.sha
+org.apache.axis/jars/axis-saaj-1.4.jar
+org.apache.axis/jars/axis-saaj-1.4.jar.sha
+org.apache.bcel/jars/bcel-5.2.jar
+org.apache.beehive/jars/beehive-controls-1.0.1.jar
+org.apache.beehive/jars/beehive-ejb-control-1.0.1.jar
+org.apache.beehive/jars/beehive-jdbc-control-1.0.1.jar
+org.apache.beehive/jars/beehive-jms-control-1.0.1.jar
+org.apache.beehive/jars/beehive-netui-compiler-1.0.1.jar
+org.apache.beehive/jars/beehive-netui-core-1.0.1.jar
+org.apache.beehive/jars/beehive-netui-tags-1.0.1.jar
+org.apache.beehive/poms/beehive-control-ejb-1.0.1.pom
+org.apache.beehive/poms/beehive-control-jdbc-1.0.1.pom
+org.apache.beehive/poms/beehive-control-jms-1.0.1.pom
+org.apache.beehive/poms/beehive-controls-1.0.1.pom
+org.apache.beehive/poms/beehive-netui-compiler-1.0.1.pom
+org.apache.beehive/poms/beehive-netui-core-1.0.1.pom
+org.apache.beehive/poms/beehive-netui-tags-1.0.1.pom
+org.apache.derby/jars/derby-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_de_DE-10.1.1.0.jar
+org.apache.derby/jars/derby-10.1.2.1.jar
+org.apache.derby/jars/derby-10.1.3.1.jar
+org.apache.derby/jars/derbyclient-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_de_DE-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_de_DE-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_es-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_es-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_es-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_fr-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_fr-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_fr-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_it-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_it-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_it-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_ja_JP-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_ja_JP-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_ja_JP-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_ko_KR-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_ko_KR-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_ko_KR-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_pt_BR-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_pt_BR-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_pt_BR-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_zh_CN-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_zh_CN-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_zh_CN-10.1.3.1.jar
+org.apache.derby/jars/derbyLocale_zh_TW-10.1.1.0.jar
+org.apache.derby/jars/derbyLocale_zh_TW-10.1.2.1.jar
+org.apache.derby/jars/derbyLocale_zh_TW-10.1.3.1.jar
+org.apache.derby/jars/derbyclient-10.1.2.1.jar
+org.apache.derby/jars/derbyclient-10.1.3.1.jar
+org.apache.derby/jars/derbynet-10.1.1.0.jar
+org.apache.derby/jars/derbynet-10.1.2.1.jar
+org.apache.derby/jars/derbynet-10.1.3.1.jar
+org.apache.derby/jars/derbytools-10.1.1.0.jar
+org.apache.derby/jars/derbytools-10.1.2.1.jar
+org.apache.derby/jars/derbytools-10.1.3.1.jar
+org.apache.derby/jars/derby-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_de_DE-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_es-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_fr-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_it-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_ja_JP-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_ko_KR-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_pt_BR-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_zh_CN-10.2.2.0.jar
+org.apache.derby/jars/derbyLocale_zh_TW-10.2.2.0.jar
+org.apache.derby/jars/derbyclient-10.2.2.0.jar
+org.apache.derby/jars/derbynet-10.2.2.0.jar
+org.apache.derby/jars/derbytools-10.2.2.0.jar
+org.apache.derby/jars/derbyclient-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_cs-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_de_DE-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_es-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_fr-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_hu-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_it-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_ja_JP-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_ko_KR-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_pl-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_pt_BR-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_ru-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_zh_CN-10.3.1.4.jar
+org.apache.derby/jars/derbyLocale_zh_TW-10.3.1.4.jar
+org.apache.derby/jars/derby-10.3.1.4.jar
+org.apache.derby/jars/derbynet-10.3.1.4.jar
+org.apache.derby/jars/derbytools-10.3.1.4.jar
+org.apache.derby/poms/derby-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_de_DE-10.1.1.0.pom
+org.apache.derby/poms/derby-10.1.2.1.pom
+org.apache.derby/poms/derby-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_de_DE-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_de_DE-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_es-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_es-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_es-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_fr-10.1.1.0.pom
+org.apache.derby/poms/derbynet-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_fr-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_fr-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_it-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_it-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_it-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_ja_JP-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_ja_JP-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_ja_JP-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_ko_KR-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_ko_KR-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_ko_KR-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_pt_BR-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_pt_BR-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_pt_BR-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_zh_CN-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_zh_CN-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_zh_CN-10.1.3.1.pom
+org.apache.derby/poms/derbyLocale_zh_TW-10.1.1.0.pom
+org.apache.derby/poms/derbyLocale_zh_TW-10.1.2.1.pom
+org.apache.derby/poms/derbyLocale_zh_TW-10.1.3.1.pom
+org.apache.derby/poms/derbyclient-10.1.1.0.pom
+org.apache.derby/poms/derbytools-10.1.2.1.pom
+org.apache.derby/poms/derbyclient-10.1.2.1.pom
+org.apache.derby/poms/derbyclient-10.1.3.1.pom
+org.apache.derby/poms/derbynet-10.1.2.1.pom
+org.apache.derby/poms/derbynet-10.1.3.1.pom
+org.apache.derby/poms/derbytools-10.1.1.0.pom
+org.apache.derby/poms/derbytools-10.1.3.1.pom
+org.apache.derby/poms/derbywar-10.1.1.0.pom
+org.apache.derby/poms/derbywar-10.1.2.1.pom
+org.apache.derby/poms/derbywar-10.1.3.1.pom
+org.apache.derby/poms/derby-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_de_DE-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_es-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_fr-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_it-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_ja_JP-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_ko_KR-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_pt_BR-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_zh_CN-10.2.2.0.pom
+org.apache.derby/poms/derbyLocale_zh_TW-10.2.2.0.pom
+org.apache.derby/poms/derbyclient-10.2.2.0.pom
+org.apache.derby/poms/derbynet-10.2.2.0.pom
+org.apache.derby/poms/derbytools-10.2.2.0.pom
+org.apache.derby/poms/derbywar-10.2.2.0.pom
+org.apache.derby/poms/derbyclient-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_cs-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_de_DE-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_es-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_fr-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_hu-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_it-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_ja_JP-10.3.1.4.pom
+org.apache.derby/poms/derby-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_ko_KR-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_pl-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_pt_BR-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_ru-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_zh_CN-10.3.1.4.pom
+org.apache.derby/poms/derbyLocale_zh_TW-10.3.1.4.pom
+org.apache.derby/poms/derbynet-10.3.1.4.pom
+org.apache.derby/poms/derbytools-10.3.1.4.pom
+org.apache.derby/poms/derbywar-10.3.1.4.pom
+org.apache.derby/wars/derbywar-10.1.1.0.war
+org.apache.derby/wars/derbywar-10.1.2.1.war
+org.apache.derby/wars/derbywar-10.1.3.1.war
+org.apache.derby/wars/derbywar-10.2.2.0.war
+org.apache.derby/wars/derbywar-10.3.1.4.war
+org.apache.geronimo/jars/daytrader-core-1.0.jar
+org.apache.geronimo/jars/daytrader-streamer-1.0.jar
+org.apache.geronimo/jars/daytrader-wsappclient-1.0.jar
+org.apache.geronimo/jars/geronimo-activation-1.0.jar
+org.apache.geronimo/jars/geronimo-axis-1.0.jar
+org.apache.geronimo/jars/geronimo-axis-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-client-1.0.jar
+org.apache.geronimo/jars/geronimo-client-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-common-1.0.jar
+org.apache.geronimo/jars/geronimo-connector-1.0.jar
+org.apache.geronimo/jars/geronimo-connector-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-console-core-1.0.jar
+org.apache.geronimo/jars/geronimo-console-web-1.0.jar
+org.apache.geronimo/jars/geronimo-converter-1.0.jar
+org.apache.geronimo/jars/geronimo-core-1.0.jar
+org.apache.geronimo/jars/geronimo-daytrader-derby-db-1.0.jar
+org.apache.geronimo/jars/geronimo-deploy-config-1.0.jar
+org.apache.geronimo/jars/geronimo-deploy-jsr88-1.0.jar
+org.apache.geronimo/jars/geronimo-deploy-tool-1.0.jar
+org.apache.geronimo/jars/geronimo-deployment-1.0.jar
+org.apache.geronimo/jars/geronimo-derby-1.0.jar
+org.apache.geronimo/jars/geronimo-directory-1.0.jar
+org.apache.geronimo/jars/geronimo-hot-deploy-1.0.jar
+org.apache.geronimo/jars/geronimo-j2ee-1.0.jar
+org.apache.geronimo/jars/geronimo-j2ee-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-j2ee-schema-1.0.jar
+org.apache.geronimo/jars/geronimo-javamail-transport-1.0.jar
+org.apache.geronimo/jars/geronimo-jetty-1.0.jar
+org.apache.geronimo/jars/geronimo-jetty-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-jmxremoting-1.0.jar
+org.apache.geronimo/jars/geronimo-kernel-1.0.jar
+org.apache.geronimo/jars/geronimo-mail-1.0.jar
+org.apache.geronimo/jars/geronimo-management-1.0.jar
+org.apache.geronimo/jars/geronimo-naming-1.0.jar
+org.apache.geronimo/jars/geronimo-naming-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-remote-deploy-lib-1.0.jar
+org.apache.geronimo/jars/geronimo-scripts-1.0.jar
+org.apache.geronimo/jars/geronimo-security-1.0.jar
+org.apache.geronimo/jars/geronimo-security-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-service-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-system-1.0.jar
+org.apache.geronimo/jars/geronimo-test-ddbean-1.0.jar
+org.apache.geronimo/jars/geronimo-timer-1.0.jar
+org.apache.geronimo/jars/geronimo-tomcat-1.0.jar
+org.apache.geronimo/jars/geronimo-tomcat-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-transaction-1.0.jar
+org.apache.geronimo/jars/geronimo-uddi-db-1.0.jar
+org.apache.geronimo/jars/geronimo-util-1.0.jar
+org.apache.geronimo/jars/geronimo-web-builder-1.0.jar
+org.apache.geronimo/jars/geronimo-webservices-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-activation_1.0.2_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-activation_1.0.2_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-activation_1.0.2_spec-1.1.jar
+org.apache.geronimo.specs/jars/geronimo-commonj_1.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-corba_2.3_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-connector_1.5_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-corba_2.3_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-corba_2.3_spec-1.1.jar
+org.apache.geronimo.specs/jars/geronimo-corba_3.0_spec-1.1.jar
+org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-ejb_2.1_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-j2ee_1.4_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-j2ee-connector_1.5_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-connector_1.5_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-j2ee-deployment_1.1_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee_1.4_spec-1.1.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-deployment_1.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-deployment_1.1_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-jacc_1.0_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-jacc_1.0_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-j2ee-management_1.0_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-management_1.0_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-j2ee-management_1.0_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-j2ee_1.4_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-javamail_1.3.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-javamail_1.3.1_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-javamail_1.3.1_spec-1.1.jar
+org.apache.geronimo.specs/jars/geronimo-jaxr_1.0_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-jaxr_1.0_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-jms_1.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-jaxr_1.0_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-jaxrpc_1.1_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-jaxrpc_1.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-jaxrpc_1.1_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-jms_1.1_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-jms_1.1_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-jsp_2.0_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-jsp_2.0_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-jsp_2.0_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-jta_1.0.1B_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-jta_1.0.1B_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-jta_1.0.1B_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-qname_1.1_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-qname_1.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-qname_1.1_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-saaj_1.1_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-saaj_1.1_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-saaj_1.1_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-servlet_2.4_spec-1.0.1.jar
+org.apache.geronimo.specs/jars/geronimo-servlet_2.4_spec-1.0.jar
+org.apache.geronimo.specs/jars/geronimo-servlet_2.4_spec-1.0.jar.sha
+org.apache.geronimo.specs/jars/geronimo-annotation_1.0_spec-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-core-1.0.1.jar
+org.apache.jackrabbit/jars/jackrabbit-core-1.0.jar
+org.apache.jackrabbit/jars/jackrabbit-index-filters-1.0.1.jar
+org.apache.jackrabbit/jars/jackrabbit-core-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-index-filters-1.0.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.0.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.0.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.0.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.0.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.0.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.0.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.0.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.0.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.0.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.0.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-core-1.1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-index-filters-1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jca-1.1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-commons-1.1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-rmi-1.1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-index-filters-1.1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-webdav-1.1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-client-1.1.1.jar
+org.apache.jackrabbit/jars/jackrabbit-jcr-server-1.1.1.jar
+org.apache.jackrabbit/java-sources/jackrabbit-core-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-core-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jca-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jca-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-commons-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-commons-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-core-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-server-1.0-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-server-1.0.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-server-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-commons-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jca-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-server-1.1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-core-1.1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-rmi-1.1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-index-filters-1.1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jca-1.1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-webdav-1.1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-client-1.1.1-sources.jar
+org.apache.jackrabbit/java-sources/jackrabbit-jcr-server-1.1.1-sources.jar
+org.apache.jackrabbit/poms/jackrabbit-core-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-core-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-index-filters-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-core-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-index-filters-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-server-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jca-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jca-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-server-1.0.1.pom
+org.apache.jackrabbit/poms/jackrabbit-server-1.0.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jca-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-index-filters-1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-core-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-commons-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-rmi-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-index-filters-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jca-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-webdav-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-client-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-jcr-server-1.1.1.pom
+org.apache.jackrabbit/poms/jackrabbit-server-1.1.1.pom
+org.apache.jackrabbit/rars/jackrabbit-jca-1.0.1.rar
+org.apache.jackrabbit/rars/jackrabbit-jca-1.0.rar
+org.apache.jackrabbit/rars/jackrabbit-jca-1.1.rar
+org.apache.jackrabbit/rars/jackrabbit-jca-1.1.1.rar
+org.apache.jackrabbit/wars/jackrabbit-server-1.0.1.war
+org.apache.jackrabbit/wars/jackrabbit-server-1.0.war
+org.apache.jackrabbit/wars/jackrabbit-server-1.1.war
+org.apache.jackrabbit/wars/jackrabbit-server-1.1.1.war
+org.apache.jdo/jars/jdo2-core-2.0-beta.jar
+org.apache.jdo/jars/jdo2-core-2.0-rc1.jar
+org.apache.jdo/jars/jdo2-core-2.0.jar
+org.apache.jdo/jars/jdo2-enhancer-2.0-beta.jar
+org.apache.jdo/jars/jdo2-enhancer-2.0-rc1.jar
+org.apache.jdo/jars/jdo2-enhancer-2.0.jar
+org.apache.jdo/jars/jdo2-tck-2.0-rc1.jar
+org.apache.jdo/poms/jdo2-core-2.0-beta.pom
+org.apache.jdo/poms/jdo2-core-2.0-rc1.pom
+org.apache.jdo/poms/jdo2-core-2.0.pom
+org.apache.jdo/poms/jdo2-enhancer-2.0-beta.pom
+org.apache.jdo/poms/jdo2-enhancer-2.0-rc1.pom
+org.apache.jdo/poms/jdo2-enhancer-2.0.pom
+org.apache.jdo/poms/jdo2-tck-2.0-rc1.pom
+org.apache.maven/jars/maven-artifact-ant-2.0-alpha-1-dep.jar
+org.apache.maven/jars/maven-artifact-ant-2.0-alpha-2-dep.jar
+org.apache.maven/jars/maven-artifact-ant-2.0-alpha-3-dep.jar
+org.apache.maven/jars/maven-artifact-ant-2.0-beta-1-dep.jar
+org.apache.maven/jars/maven-artifact-ant-2.0-beta-2-dep.jar
+org.apache.maven/jars/maven-model-v3-2.0.jar
+org.apache.maven/poms/maven-model-v3-2.0.pom
+org.apache.pluto/jars/pluto-1.0.1-rc4.jar
+org.apache.pluto/jars/pluto-deploy-1.0.1-rc4.jar
+org.apache.pluto/jars/pluto-1.0.1.jar
+org.apache.pluto/jars/pluto-deploy-1.0.1.jar
+org.apache.pluto/jars/pluto-descriptors-1.0.1-rc4.jar
+org.apache.pluto/jars/pluto-descriptors-1.0.1.jar
+org.apache.pluto/jars/pluto-portal-1.0.1-rc4.jar
+org.apache.pluto/jars/pluto-portal-1.0.1.jar
+org.apache.portals.bridges/jars/portals-bridges-common-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-frameworks-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-jsf-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-perl-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-php-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-portletfilter-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-struts-1.2.4-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-struts-1.2.7-1.0.jar
+org.apache.portals.bridges/jars/portals-bridges-velocity-1.0.jar
+org.apache.portals.jetspeed-2/jars/content-server-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/content-server-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-api-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-api-2.0.1.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-api-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-capability-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-capability-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-cm-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-cm-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-commons-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-commons-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-sso-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-statistics-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-components-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-components-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-deploy-tools-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-deploy-tools-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-file-cache-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-file-cache-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-header-resource-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-header-resource-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-id-generator-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-id-generator-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-importer-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-layout-portlets-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-locator-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-locator-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-page-manager-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-page-manager-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-portal-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-portal-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-portal-site-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-portal-site-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-portlet-factory-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-portlet-factory-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-prefs-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-prefs-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-profiler-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-profiler-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-rdbms-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-rdbms-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-registry-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-registry-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-rewriter-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-rewriter-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-rss-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-search-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-search-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-security-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-security-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-security-schema-2.0.jar
+org.apache.portals.jetspeed-2/jars/portlet-api-1.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-security-schema-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-serializer-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-sso-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-statistics-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-web-content-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-web-content-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed-webapp-logging-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/jetspeed2-taglib-treecontrol-2.0.jar
+org.apache.portals.jetspeed-2/jars/jetspeed2-taglib-treecontrol-2.1-dev.jar
+org.apache.portals.jetspeed-2/jars/portals-gems-2.0.jar
+org.apache.portals.jetspeed-2/jars/portals-gems-2.1-dev.jar
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/META-INF/MANIFEST.MF
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/org/apache/jetspeed/dbutil/HSQLServerThread.class
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/org/apache/jetspeed/dbutil/HSQLServer.class
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/org/apache/jetspeed/dbutil/ScriptUtil.class
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/apacheds/apacheds-server.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/apacheds/j2-apacheds.ldif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jboss-login-config.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jetspeed-ds.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jetspeed-mysql-ds.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/jboss/jetspeed-oracle-ds.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/tomcat/jetspeed-tomcat-5.5.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/conf/tomcat/jetspeed-tomcat-5.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/OJB-logging.properties
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/OJB.properties
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository.dtd
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository_database.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/db-ojb/repository_internal.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/phase3ojb-schema.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/phase1-schema.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/phase2-schema.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/prefs-schema.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/registry-schema.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/security-schema.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/velocity.log
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/schema/velocity.log.1
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/phase3ojb-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/phase1-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/phase2-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/prefs-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/registry-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/derby/schema/security-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/portal-drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/registry-drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/prefs-drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/populate-userinfo-for-default-psml.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/hsql/security-drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/schema/phase2-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/schema/security-schema.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mssql/populate-userinfo-for-default-psml.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mysql/drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mysql/populate-entities-for-default-psml.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/mysql/populate-userinfo-for-default-psml.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/oracle/drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/oracle/populate-userinfo-for-default-psml.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/xml/README.txt
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/xml/populate-db-default.xml
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/drop.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/populate-db-default.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/sql/populate-userinfo-for-default-psml.sql
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_definitions.ajax
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_apps.ajax
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_entities.ajax
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/ajax/portlet_entity.ajax
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/customize.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/close.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_error_sml.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/edit.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/help.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_arrowfolderclosed1_sml.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_arrowdoc_sml.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/leftnavbg.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/info.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_arrowfolderopen2_sml.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_info_sml.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_success_sml.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/icon_warning_sml.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/info1.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/maximized.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/minimized.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/nw_maj_rond.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/print.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/restore.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/sw_med_rond.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/images/view.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.3-Messages.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.1-Links.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.2-Fonts.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.4-Sections.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.5-Forms.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.6-Menus-Arrow.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.6-Menus.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/PLT.C.All.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/data-scroller.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/database-browser.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/html-tables.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/portal-standard.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/standard-columns.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/css/tree-component.css
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/images/movePortletDown.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev/plugin-resources/webapp/decorations/layout/images/close.gif
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.1-dev.jar
+org.apache.portals.jetspeed-2/plugins/maven-jetspeed2-plugin-2.0.jar
+org.apache.portals.jetspeed-2/wars/demo-2.1-dev.war
+org.apache.portals.jetspeed-2/wars/demo-2.0.war
+org.apache.portals.jetspeed-2/wars/j2-admin-2.1-dev.war
+org.apache.portals.jetspeed-2/wars/j2-admin-2.0.war
+org.apache.portals.jetspeed-2/wars/jetspeed-2.1-dev.war
+org.apache.portals.jetspeed-2/wars/jetspeed-2.0.war
+org.apache.portals.jetspeed-2/wars/jetspeed-layouts-2.1-dev.war
+org.apache.portals.jetspeed-2/wars/jetspeed-layouts-2.0.war
+org.apache.portals.jetspeed-2/wars/portals-gems-2.1-dev.war
+org.apache.portals.jetspeed-2/wars/portals-gems-2.0.war
+org.apache.portals.jetspeed-2/wars/rss-2.1-dev.war
+org.apache.portals.jetspeed-2/wars/rss-2.0.war
+org.apache.ws.commons/jars/XmlSchema-1.0.1.jar
+org.apache.ws.commons/jars/XmlSchema-1.0.2.jar
+org.apache.ws.commons/jars/XmlSchema-1.0.3.jar
+org.apache.ws.commons/jars/XmlSchema-1.2.jar
+org.apache.ws.commons/jars/XmlSchema-1.0.jar
+org.apache.ws.commons/poms/XmlSchema-1.0.1.pom
+org.apache.ws.commons/poms/XmlSchema-1.0.2.pom
+org.apache.ws.commons/poms/XmlSchema-1.0.3.pom
+org.apache.ws.commons/poms/XmlSchema-SNAPSHOT.pom
+org.apache.ws.commons/poms/maven-metadata.xml
+org.apache.xbean/jars/xbean-classpath-2.3.jar
+org.apache.xbean/jars/xbean-classpath-2.4.jar
+org.apache.xbean/jars/xbean-finder-2.4.jar
+org.apache.xbean/jars/xbean-jaxb-2.4.jar
+org.apache.xbean/jars/xbean-kernel-2.3.jar
+org.apache.xbean/jars/xbean-kernel-2.4.jar
+org.apache.xbean/jars/xbean-osgi-2.3.jar
+org.apache.xbean/jars/xbean-osgi-2.4.jar
+org.apache.xbean/jars/xbean-reflect-2.3.jar
+org.apache.xbean/jars/xbean-reflect-2.4.jar
+org.apache.xbean/jars/xbean-server-2.3.jar
+org.apache.xbean/jars/xbean-server-2.4.jar
+org.apache.xbean/jars/xbean-spring-2.3.jar
+org.apache.xbean/jars/xbean-spring-2.4.jar
+org.apache.xbean/jars/xbean-spring-common-2.4.jar
+org.apache.xbean/jars/xbean-tiger-2.4.jar
+org.apache.xbean/jars/xbean-spring-itests-124-2.4.jar
+org.apache.xbean/jars/xbean-spring-itests-125-2.4.jar
+org.apache.xbean/jars/xbean-spring-itests-126-2.4.jar
+org.apache.xbean/jars/xbean-spring-itests-127-2.4.jar
+org.apache.xbean/jars/xbean-spring-itests-128-2.4.jar
+org.apache.xbean/jars/xbean-spring-itests-20m5-2.4.jar
+org.apache.xbean/jars/xbean-spring-itests-core-2.4.jar
+org.apache.xbean/jars/xbean-spring-v1-2.4.jar
+org.apache.xbean/jars/xbean-spring-v2-2.4.jar
+org.apache.xbean/jars/xbean-telnet-2.3.jar
+org.apache.xbean/jars/xbean-telnet-2.4.jar
+org.apache.xbean/jars/xbean-tiger-2.3.jar
+org.apache.xbean/maven-plugins/maven-xbean-plugin-2.3.jar
+org.apache.xbean/poms/xbean-2.3.pom
+org.apache.xbean/poms/maven-metadata-mavenOneRepository.xml
+org.apache.xbean/poms/maven-metadata.xml
+org.apache.xbean/poms/maven-xbean-plugin-2.3.pom
+org.apache.xbean/poms/xbean-classpath-2.3.pom
+org.apache.xbean/poms/xbean-kernel-2.3.pom
+org.apache.xbean/poms/xbean-osgi-2.3.pom
+org.apache.xbean/poms/xbean-reflect-2.3.pom
+org.apache.xbean/poms/xbean-server-2.3.pom
+org.apache.xbean/poms/xbean-spring-2.3.pom
+org.apache.xbean/poms/xbean-telnet-2.3.pom
+org.apache.xbean/poms/xbean-tiger-2.3.pom
+org.apache.xbean/KEYS
+oro/jars/oro-2.0.6.jar
+oro/jars/oro-2.0.7.jar
+oro/jars/oro-2.0.8.jar
+pluto-container/jars/pluto-0.46.jar
+poi/jars/poi-1.8.0-dev-20020919.jar
+poi/jars/poi-2.0-final-20040126.jar
+poi/jars/poi-2.5-final-20040302.jar
+poi/jars/poi-2.5.1-final-20040804.jar
+poi/jars/poi-3.0-alpha2-sources.jar
+poi/jars/poi-3.0-alpha3-sources.jar
+poi/jars/poi-3.0-alpha2.jar
+poi/jars/poi-contrib-2.0-final-20040126.jar
+poi/jars/poi-contrib-2.5-final-20040302.jar
+poi/jars/poi-contrib-2.5.1-final-20040804.jar
+poi/jars/poi-scratchpad-2.0-final-20040126.jar
+poi/jars/poi-3.0-alpha3.jar
+poi/jars/poi-scratchpad-2.5-final-20040302.jar
+poi/jars/poi-scratchpad-2.5.1-final-20040804.jar
+poi/jars/poi-3.0-FINAL.jar
+poi/jars/poi-3.0-FINAL-sources.jar
+poi/poms/poi-1.8.0-dev-20020919.pom
+poi/poms/poi-2.0-final-20040126.pom
+poi/poms/poi-2.5-final-20040302.pom
+poi/poms/poi-2.5.1-final-20040804.pom
+poi/poms/poi-3.0-alpha2.pom
+poi/poms/poi-3.0-alpha3.pom
+poi/poms/poi-contrib-2.0-final-20040126.pom
+poi/poms/poi-contrib-2.5-final-20040302.pom
+poi/poms/poi-contrib-2.5.1-final-20040804.pom
+poi/poms/poi-scratchpad-2.0-final-20040126.pom
+poi/poms/poi-scratchpad-2.5-final-20040302.pom
+poi/poms/poi-scratchpad-2.5.1-final-20040804.pom
+poi/poms/poi-3.0-FINAL.pom
+poi/poms/poi-3.0-FINAL.pom.bak
+poi/poms/poi-3.0.1-FINAL.pom
+poi/poms/poi-scratchpad-3.0.1-FINAL.pom
+poi/poms/poi-contrib-3.0.1-FINAL.pom
+pubscribe/jars/submgr-xbeans-1.0.jar
+pubscribe/jars/pubscribe-1.0.jar
+pubscribe/jars/pubscribe-1.1.jar
+pubscribe/jars/submgr-xbeans-src-1.0.jar
+pubscribe/jars/wse-xbeans-1.0.jar
+pubscribe/jars/wse-xbeans-src-1.0.jar
+pubscribe/jars/wsn-xbeans-1.0.jar
+pubscribe/jars/wsn-xbeans-src-1.0.jar
+sandesha/Sandesha-1.0-RC1.jar
+servletapi/jars/servlet-api-2.4-20040521.jar
+servletapi/jars/jsp-api-2.4-20040521.jar
+slide/jars/catalinawrapper-2.1M1.jar
+slide/jars/ant-webdav-2.1M1.jar
+slide/jars/catalinawrapper-2.0.jar
+slide/jars/jdk14logger-2.0.jar
+slide/jars/jaas-2.1M1.jar
+slide/jars/jdk14logger-2.1M1.jar
+slide/jars/kernel-2.0.jar
+slide/jars/kernel-2.1M1.jar
+slide/jars/log4jlogger-2.0.jar
+slide/jars/log4jlogger-2.1M1.jar
+slide/jars/roles-2.0.jar
+slide/jars/roles-2.1M1.jar
+slide/jars/slide-kernel-2.1.jar
+slide/jars/stores-2.1M1.jar
+slide/jars/stores-2.0.jar
+slide/jars/slide-stores-2.1.jar
+slide/jars/slide-webdavlib-2.1.jar
+slide/jars/slide-webdavservlet-2.1.jar
+slide/jars/webdavlib-2.0beta1.jar
+slide/jars/webdavlib-2.0.jar
+slide/jars/webdavlib-2.1M1.jar
+slide/jars/webdavlib-2.2-20050624.203112.jar
+slide/jars/webdavservlet-2.0.jar
+slide/jars/webdavservlet-2.1M1.jar
+slide/jars/webdavservlet-2.2-20050624.203112.jar
+stratum/distributions/stratum-1.0-src.tar.gz
+stratum/distributions/stratum-1.0-src.zip
+stratum/distributions/stratum-1.0.tar.gz
+stratum/distributions/stratum-1.0.zip
+stratum/jars/stratum-1.0-b5.jar
+stratum/jars/stratum-1.0.jar
+stratum/poms/stratum-1.0-b5.pom
+stratum/poms/stratum-1.0.pom
+struts/jars/struts-1.0.2.jar
+struts/jars/struts-1.1-b2-20021124.jar
+struts/jars/struts-1.1-b3.jar
+struts/jars/struts-1.1-beta-2.jar
+struts/jars/struts-1.1-rc2.jar
+struts/jars/struts-1.1.jar
+struts/jars/struts-1.2.2.jar
+struts/jars/struts-1.2.4.jar
+struts/jars/struts-1.2.7.jar
+struts/jars/struts-1.2.8.jar
+struts/jars/struts-1.2.9.jar
+struts/jars/struts-el-1.1.jar
+struts/jars/struts-el-1.2.4.jar
+struts/jars/struts-el-1.2.7.jar
+struts/jars/struts-el-1.2.8.jar
+struts/jars/struts-el-1.2.9.jar
+struts/jars/struts-legacy-1.1.jar
+struts/jars/struts-scripting-1.0.1.jar
+struts/poms/struts-1.2.4.pom
+struts/poms/struts-1.2.7.pom
+struts/poms/struts-1.2.8-el.pom
+struts/poms/struts-1.2.8.pom
+struts/poms/struts-1.2.9.pom
+struts/poms/struts-el-1.2.6.pom
+struts/poms/struts-scripting-1.0.1.pom
+struts/poms/struts-el-1.2.9.pom
+struts/tlds/struts-bean-1.1-rc1.tld
+struts/tlds/struts-bean-1.1-rc2.tld
+struts/tlds/struts-bean-1.2.2.tld
+struts/tlds/struts-bean-1.2.4.tld
+struts/tlds/struts-bean-1.2.7.tld
+struts/tlds/struts-bean-1.2.8.tld
+struts/tlds/struts-bean-el-1.2.2.tld
+struts/tlds/struts-bean-el-1.2.4.tld
+struts/tlds/struts-bean-el-1.2.7.tld
+struts/tlds/struts-bean-el-1.2.8.tld
+struts/tlds/struts-html-1.1-rc1.tld
+struts/tlds/struts-html-1.1-rc2.tld
+struts/tlds/struts-html-1.2.2.tld
+struts/tlds/struts-html-1.2.4.tld
+struts/tlds/struts-html-1.2.7.tld
+struts/tlds/struts-html-1.2.8.tld
+struts/tlds/struts-html-el-1.2.2.tld
+struts/tlds/struts-html-el-1.2.4.tld
+struts/tlds/struts-html-el-1.2.7.tld
+struts/tlds/struts-html-el-1.2.8.tld
+struts/tlds/struts-logic-1.1-rc1.tld
+struts/tlds/struts-logic-1.1-rc2.tld
+struts/tlds/struts-logic-1.2.2.tld
+struts/tlds/struts-logic-1.2.4.tld
+struts/tlds/struts-logic-1.2.7.tld
+struts/tlds/struts-logic-1.2.8.tld
+struts/tlds/struts-logic-el-1.2.2.tld
+struts/tlds/struts-logic-el-1.2.4.tld
+struts/tlds/struts-logic-el-1.2.7.tld
+struts/tlds/struts-logic-el-1.2.8.tld
+struts/tlds/struts-nested-1.1-rc1.tld
+struts/tlds/struts-nested-1.1-rc2.tld
+struts/tlds/struts-nested-1.2.2.tld
+struts/tlds/struts-nested-1.2.4.tld
+struts/tlds/struts-nested-1.2.7.tld
+struts/tlds/struts-nested-1.2.8.tld
+struts/tlds/struts-template-1.1-rc1.tld
+struts/tlds/struts-tiles-1.1-rc1.tld
+struts/tlds/struts-tiles-1.1-rc2.tld
+struts/tlds/struts-tiles-1.2.2.tld
+struts/tlds/struts-tiles-1.2.4.tld
+struts/tlds/struts-tiles-1.2.7.tld
+struts/tlds/struts-tiles-1.2.8.tld
+struts/tlds/struts-tiles-el-1.2.2.tld
+struts/tlds/struts-tiles-el-1.2.4.tld
+struts/tlds/struts-tiles-el-1.2.7.tld
+struts/tlds/struts-tiles-el-1.2.8.tld
+taglibs/jars/application-1.0.1.jar
+taglibs/jars/benchmark-1.0.jar
+taglibs/jars/datetime-1.0.1.jar
+taglibs/jars/dbtags-1.0.0.jar
+taglibs/jars/log-1.0.jar
+taglibs/jars/mailer-1.1.jar
+taglibs/jars/page-1.0.1.jar
+taglibs/jars/random-1.0.1.jar
+taglibs/jars/random-1.0.2.jar
+taglibs/jars/regexp-1.0.1.jar
+taglibs/jars/request-1.0.1.jar
+taglibs/jars/response-1.0.1.jar
+taglibs/jars/session-1.0.1.jar
+taglibs/jars/standard-1.0.1.jar
+taglibs/jars/standard-1.0.2.jar
+taglibs/jars/standard-1.0.3.jar
+taglibs/jars/standard-1.0.4.jar
+taglibs/jars/standard-1.0.5.jar
+taglibs/jars/standard-1.0.6.jar
+taglibs/jars/standard-1.0.jar
+taglibs/jars/standard-1.1.0.jar
+taglibs/jars/standard-1.1.1.jar
+taglibs/jars/string-1.0.jar
+taglibs/jars/standard-1.1.2.jar
+taglibs/jars/string-1.0.1.jar
+taglibs/jars/string-1.1.0.jar
+taglibs/jars/xsl-1.0.1.jar
+taglibs/tlds/permittedTaglibs-1.1.0.tld
+taglibs/tlds/application-1.0.1.tld
+taglibs/tlds/benchmark-1.0.tld
+taglibs/tlds/c-1.0.1.tld
+taglibs/tlds/c-1.0.2.tld
+taglibs/tlds/c-1.0.3.tld
+taglibs/tlds/c-1.0.4.tld
+taglibs/tlds/c-1.0.5.tld
+taglibs/tlds/c-1.0.6.tld
+taglibs/tlds/c-1.0.tld
+taglibs/tlds/c-1.1.0.tld
+taglibs/tlds/c-1.1.1.tld
+taglibs/tlds/c-1.1.2.tld
+taglibs/tlds/c-rt-1.0.1.tld
+taglibs/tlds/c-rt-1.0.2.tld
+taglibs/tlds/c-rt-1.0.3.tld
+taglibs/tlds/c-rt-1.0.4.tld
+taglibs/tlds/c-rt-1.0.5.tld
+taglibs/tlds/c-rt-1.0.6.tld
+taglibs/tlds/c-rt-1.0.tld
+taglibs/tlds/fmt-1.0.tld
+taglibs/tlds/datetime-1.0.1.tld
+taglibs/tlds/dbtags-1.0.0.tld
+taglibs/tlds/fmt-1.0.1.tld
+taglibs/tlds/fmt-1.0.2.tld
+taglibs/tlds/fmt-1.0.3.tld
+taglibs/tlds/fmt-1.0.4.tld
+taglibs/tlds/fmt-1.0.5.tld
+taglibs/tlds/fmt-1.0.6.tld
+taglibs/tlds/fmt-1.1.0.tld
+taglibs/tlds/fmt-1.1.1.tld
+taglibs/tlds/fmt-1.1.2.tld
+taglibs/tlds/fmt-rt-1.0.1.tld
+taglibs/tlds/fmt-rt-1.0.2.tld
+taglibs/tlds/fmt-rt-1.0.3.tld
+taglibs/tlds/fmt-rt-1.0.4.tld
+taglibs/tlds/fmt-rt-1.0.5.tld
+taglibs/tlds/fmt-rt-1.0.6.tld
+taglibs/tlds/fmt-rt-1.0.tld
+taglibs/tlds/fn-1.1.0.tld
+taglibs/tlds/fn-1.1.1.tld
+taglibs/tlds/log-1.0.tld
+taglibs/tlds/mailer-1.1.tld
+taglibs/tlds/page-1.0.1.tld
+taglibs/tlds/sql-rt-1.0.1.tld
+taglibs/tlds/permittedTaglibs-1.1.1.tld
+taglibs/tlds/random-1.0.1.tld
+taglibs/tlds/random-1.0.2.tld
+taglibs/tlds/regexp-1.0.1.tld
+taglibs/tlds/request-1.0.1.tld
+taglibs/tlds/response-1.0.1.tld
+taglibs/tlds/scriptfree-1.1.0.tld
+taglibs/tlds/scriptfree-1.1.1.tld
+taglibs/tlds/session-1.0.1.tld
+taglibs/tlds/sql-1.0.1.tld
+taglibs/tlds/sql-1.0.2.tld
+taglibs/tlds/sql-1.0.3.tld
+taglibs/tlds/sql-1.0.4.tld
+taglibs/tlds/sql-1.0.5.tld
+taglibs/tlds/sql-1.0.6.tld
+taglibs/tlds/sql-1.0.tld
+taglibs/tlds/sql-1.1.0.tld
+taglibs/tlds/sql-1.1.1.tld
+taglibs/tlds/sql-1.1.2.tld
+taglibs/tlds/sql-rt-1.0.2.tld
+taglibs/tlds/sql-rt-1.0.3.tld
+taglibs/tlds/sql-rt-1.0.4.tld
+taglibs/tlds/sql-rt-1.0.5.tld
+taglibs/tlds/sql-rt-1.0.6.tld
+taglibs/tlds/sql-rt-1.0.tld
+taglibs/tlds/string-1.0.1.tld
+taglibs/tlds/string-1.0.tld
+taglibs/tlds/string-1.1.0.tld
+taglibs/tlds/x-1.0.1.tld
+taglibs/tlds/x-1.0.2.tld
+taglibs/tlds/x-1.0.3.tld
+taglibs/tlds/x-1.0.4.tld
+taglibs/tlds/x-1.0.5.tld
+taglibs/tlds/x-1.0.6.tld
+taglibs/tlds/x-1.0.tld
+taglibs/tlds/x-1.1.0.tld
+taglibs/tlds/x-1.1.1.tld
+taglibs/tlds/x-1.1.2.tld
+taglibs/tlds/x-rt-1.0.1.tld
+taglibs/tlds/x-rt-1.0.2.tld
+taglibs/tlds/x-rt-1.0.3.tld
+taglibs/tlds/x-rt-1.0.4.tld
+taglibs/tlds/x-rt-1.0.5.tld
+taglibs/tlds/x-rt-1.0.6.tld
+taglibs/tlds/x-rt-1.0.tld
+taglibs/tlds/xsl-1.0.1.tld
+taglibs/wars/application-examples-1.0.1.war
+taglibs/wars/application-doc-1.0.1.war
+taglibs/wars/benchmark-examples-1.0.war
+taglibs/wars/benchmark-doc-1.0.war
+taglibs/wars/datetime-examples-1.0.1.war
+taglibs/wars/datetime-doc-1.0.1.war
+taglibs/wars/dbtags-examples-1.0.0.war
+taglibs/wars/dbtags-doc-1.0.0.war
+taglibs/wars/log-examples-1.0.war
+taglibs/wars/log-doc-1.0.war
+taglibs/wars/mailer-examples-1.1.war
+taglibs/wars/mailer-doc-1.1.war
+taglibs/wars/page-doc-1.0.1.war
+taglibs/wars/page-examples-1.0.1.war
+taglibs/wars/random-doc-1.0.1.war
+taglibs/wars/random-doc-1.0.2.war
+taglibs/wars/random-examples-1.0.1.war
+taglibs/wars/random-examples-1.0.2.war
+taglibs/wars/regexp-doc-1.0.1.war
+taglibs/wars/regexp-examples-1.0.1.war
+taglibs/wars/request-doc-1.0.1.war
+taglibs/wars/request-examples-1.0.1.war
+taglibs/wars/response-doc-1.0.1.war
+taglibs/wars/response-examples-1.0.1.war
+taglibs/wars/session-doc-1.0.1.war
+taglibs/wars/session-examples-1.0.1.war
+taglibs/wars/standard-doc-1.0.1.war
+taglibs/wars/standard-doc-1.0.3.war
+taglibs/wars/standard-doc-1.0.4.war
+taglibs/wars/standard-doc-1.0.5.war
+taglibs/wars/standard-doc-1.0.6.war
+taglibs/wars/standard-doc-1.0.war
+taglibs/wars/standard-doc-1.1.0.war
+taglibs/wars/standard-doc-1.1.1.war
+taglibs/wars/standard-doc-1.1.2.war
+taglibs/wars/standard-examples-1.0.1.war
+taglibs/wars/standard-examples-1.0.3.war
+taglibs/wars/standard-examples-1.0.4.war
+taglibs/wars/standard-examples-1.0.5.war
+taglibs/wars/standard-examples-1.0.6.war
+taglibs/wars/standard-examples-1.0.war
+taglibs/wars/standard-examples-1.1.0.war
+taglibs/wars/standard-examples-1.1.1.war
+taglibs/wars/standard-examples-1.1.2.war
+taglibs/wars/string-doc-1.0.1.war
+taglibs/wars/string-doc-1.0.war
+taglibs/wars/string-doc-1.1.0.war
+taglibs/wars/string-examples-1.0.1.war
+taglibs/wars/string-examples-1.0.war
+taglibs/wars/string-examples-1.1.0.war
+taglibs/wars/xsl-doc-1.0.1.war
+taglibs/wars/xsl-examples-1.0.1.war
+tapestry/jars/net.sf.tapestry-2.2.jar
+tapestry/jars/net.sf.tapestry.contrib-2.2.jar
+tapestry/jars/tapestry-3.0-beta-1a.jar
+tapestry/jars/tapestry-3.0-beta-2.jar
+tapestry/jars/tapestry-3.0.1.jar
+tapestry/jars/tapestry-3.0.2.jar
+tapestry/jars/tapestry-3.0.3.jar
+tapestry/jars/tapestry-3.0.jar
+tapestry/jars/tapestry-3.1-alpha-1.jar
+tapestry/jars/tapestry-4.0-alpha-2.jar
+tapestry/jars/tapestry-4.0-alpha-3.jar
+tapestry/jars/tapestry-4.0-alpha-4-snapshot.jar
+tapestry/jars/tapestry-4.0-beta-1.jar
+tapestry/jars/tapestry-4.0-beta-5.jar
+tapestry/jars/tapestry-4.0-beta-10.jar
+tapestry/jars/tapestry-4.0-beta-11.jar
+tapestry/jars/tapestry-4.0-beta-12.jar
+tapestry/jars/tapestry-4.0-beta-13.jar
+tapestry/jars/tapestry-4.0-beta-2.jar
+tapestry/jars/tapestry-4.0-beta-3.jar
+tapestry/jars/tapestry-4.0-beta-4.jar
+tapestry/jars/tapestry-4.0-beta-6.jar
+tapestry/jars/tapestry-4.0-beta-7.jar
+tapestry/jars/tapestry-4.0-beta-8.jar
+tapestry/jars/tapestry-4.0-beta-9.jar
+tapestry/jars/tapestry-4.0-rc-1.jar
+tapestry/jars/tapestry-4.0.1.jar
+tapestry/jars/tapestry-4.0-rc-2.jar
+tapestry/jars/tapestry-annotations-4.0.1.jar
+tapestry/jars/tapestry-4.0-rc-3.jar
+tapestry/jars/tapestry-4.0.2.jar
+tapestry/jars/tapestry-4.0.jar
+tapestry/jars/tapestry-annotations-4.0-alpha-4-snapshot.jar
+tapestry/jars/tapestry-annotations-4.0-beta-1.jar
+tapestry/jars/tapestry-annotations-4.0-beta-7.jar
+tapestry/jars/tapestry-annotations-4.0-beta-10.jar
+tapestry/jars/tapestry-annotations-4.0-beta-11.jar
+tapestry/jars/tapestry-annotations-4.0-beta-12.jar
+tapestry/jars/tapestry-annotations-4.0-beta-13.jar
+tapestry/jars/tapestry-annotations-4.0-beta-2.jar
+tapestry/jars/tapestry-annotations-4.0-beta-3.jar
+tapestry/jars/tapestry-annotations-4.0-beta-4.jar
+tapestry/jars/tapestry-annotations-4.0-beta-5.jar
+tapestry/jars/tapestry-annotations-4.0-beta-6.jar
+tapestry/jars/tapestry-annotations-4.0-beta-8.jar
+tapestry/jars/tapestry-annotations-4.0-beta-9.jar
+tapestry/jars/tapestry-annotations-4.0-rc-1.jar
+tapestry/jars/tapestry-annotations-4.0-rc-2.jar
+tapestry/jars/tapestry-annotations-4.0-rc-3.jar
+tapestry/jars/tapestry-annotations-4.0.2.jar
+tapestry/jars/tapestry-annotations-4.0.jar
+tapestry/jars/tapestry-contrib-3.0-beta-2.jar
+tapestry/jars/tapestry-contrib-3.0.1.jar
+tapestry/jars/tapestry-contrib-3.0.2.jar
+tapestry/jars/tapestry-contrib-3.0.3.jar
+tapestry/jars/tapestry-contrib-3.0.jar
+tapestry/jars/tapestry-contrib-3.1-alpha-1.jar
+tapestry/jars/tapestry-contrib-4.0-alpha-2.jar
+tapestry/jars/tapestry-contrib-4.0-alpha-4-snapshot.jar
+tapestry/jars/tapestry-contrib-4.0-alpha-3.jar
+tapestry/jars/tapestry-contrib-4.0-beta-1.jar
+tapestry/jars/tapestry-contrib-4.0-beta-10.jar
+tapestry/jars/tapestry-contrib-4.0-beta-11.jar
+tapestry/jars/tapestry-contrib-4.0-beta-12.jar
+tapestry/jars/tapestry-contrib-4.0-beta-13.jar
+tapestry/jars/tapestry-contrib-4.0-beta-2.jar
+tapestry/jars/tapestry-contrib-4.0-beta-3.jar
+tapestry/jars/tapestry-contrib-4.0-beta-4.jar
+tapestry/jars/tapestry-contrib-4.0-beta-5.jar
+tapestry/jars/tapestry-contrib-4.0-rc-2.jar
+tapestry/jars/tapestry-contrib-4.0-beta-6.jar
+tapestry/jars/tapestry-contrib-4.0-beta-7.jar
+tapestry/jars/tapestry-contrib-4.0-beta-8.jar
+tapestry/jars/tapestry-contrib-4.0-beta-9.jar
+tapestry/jars/tapestry-contrib-4.0-rc-1.jar
+tapestry/jars/tapestry-contrib-4.0-rc-3.jar
+tapestry/jars/tapestry-contrib-4.0.1.jar
+tapestry/jars/tapestry-contrib-4.0.2.jar
+tapestry/jars/tapestry-contrib-4.0.jar
+tapestry/jars/tapestry-portlet-4.0.1.jar
+tapestry/jars/tapestry-portlet-4.0-alpha-2.jar
+tapestry/jars/tapestry-portlet-4.0-alpha-3.jar
+tapestry/jars/tapestry-portlet-4.0-alpha-4-snapshot.jar
+tapestry/jars/tapestry-portlet-4.0-beta-1.jar
+tapestry/jars/tapestry-portlet-4.0-beta-10.jar
+tapestry/jars/tapestry-portlet-4.0-beta-11.jar
+tapestry/jars/tapestry-portlet-4.0-beta-12.jar
+tapestry/jars/tapestry-portlet-4.0-beta-13.jar
+tapestry/jars/tapestry-portlet-4.0-beta-2.jar
+tapestry/jars/tapestry-portlet-4.0-beta-3.jar
+tapestry/jars/tapestry-portlet-4.0-beta-4.jar
+tapestry/jars/tapestry-portlet-4.0-beta-5.jar
+tapestry/jars/tapestry-portlet-4.0-beta-6.jar
+tapestry/jars/tapestry-portlet-4.0-beta-7.jar
+tapestry/jars/tapestry-portlet-4.0-beta-8.jar
+tapestry/jars/tapestry-portlet-4.0-beta-9.jar
+tapestry/jars/tapestry-portlet-4.0-rc-1.jar
+tapestry/jars/tapestry-portlet-4.0-rc-2.jar
+tapestry/jars/tapestry-portlet-4.0-rc-3.jar
+tapestry/jars/tapestry-portlet-4.0.2.jar
+tapestry/jars/tapestry-portlet-4.0.jar
+tapestry/jars/vlibbeans-4.0-beta-4.jar
+tapestry/jars/vlibbeans-4.0-beta-5.jar
+tapestry/poms/tapestry-4.0-beta-8.pom
+tapestry/poms/tapestry-4.0.1.pom
+tapestry/poms/tapestry-annotations-4.0.1.pom
+tapestry/poms/tapestry-4.0.2.pom
+tapestry/poms/tapestry-annotations-4.0.2.pom
+tapestry/poms/tapestry-contrib-4.0.1.pom
+tapestry/poms/tapestry-contrib-4.0.2.pom
+tapestry/poms/tapestry-portlet-4.0.1.pom
+tapestry/poms/tapestry-portlet-4.0.2.pom
+tapestry/tlds/tapestry-3.0.1.tld
+tomcat/jars/bootstrap-4.0.6.jar
+tomcat/jars/bootstrap-5.0.28.jar
+tomcat/jars/bootstrap-5.5.12.jar
+tomcat/jars/catalina-5.5.15.jar
+tomcat/jars/catalina-4.0.4.jar
+tomcat/jars/catalina-4.0.6.jar
+tomcat/jars/catalina-5.0.28.jar
+tomcat/jars/catalina-5.5.12.jar
+tomcat/jars/catalina-admin-5.0.28.jar
+tomcat/jars/catalina-ant-5.0.28.jar
+tomcat/jars/catalina-ant-5.5.12.jar
+tomcat/jars/catalina-ant-5.5.15.jar
+tomcat/jars/catalina-ant-jmx-5.5.12.jar
+tomcat/jars/catalina-balancer-5.0.28.jar
+tomcat/jars/catalina-balancer-5.5.12.jar
+tomcat/jars/catalina-cluster-5.0.28.jar
+tomcat/jars/catalina-cluster-5.5.12.jar
+tomcat/jars/catalina-cluster-5.5.15.jar
+tomcat/jars/catalina-host-manager-5.5.12.jar
+tomcat/jars/warp-4.0.6.jar
+tomcat/jars/catalina-i18n-es-5.0.28.jar
+tomcat/jars/catalina-i18n-fr-5.0.28.jar
+tomcat/jars/catalina-i18n-ja-5.0.28.jar
+tomcat/jars/catalina-manager-5.0.28.jar
+tomcat/jars/catalina-manager-5.5.12.jar
+tomcat/jars/catalina-optional-5.0.28.jar
+tomcat/jars/catalina-optional-5.5.12.jar
+tomcat/jars/catalina-optional-5.5.15.jar
+tomcat/jars/catalina-root-5.0.28.jar
+tomcat/jars/catalina-root-5.5.12.jar
+tomcat/jars/catalina-storeconfig-5.5.12.jar
+tomcat/jars/catalina-storeconfig-5.5.15.jar
+tomcat/jars/commons-logging-4.0.6.jar
+tomcat/jars/container_util-3.3.2.jar
+tomcat/jars/core_util-3.3.2.jar
+tomcat/jars/etomcat-3.3.2.jar
+tomcat/jars/jasper-compiler-4.0.4.jar
+tomcat/jars/facade22-3.3.2.jar
+tomcat/jars/jasper-3.2.4.jar
+tomcat/jars/jasper-3.3.2.jar
+tomcat/jars/jasper-compiler-4.0.6.jar
+tomcat/jars/jasper-compiler-5.0.28.jar
+tomcat/jars/jasper-compiler-5.5.12.jar
+tomcat/jars/jasper-compiler-5.5.15.jar
+tomcat/jars/jasper-compiler-jdt-5.5.12.jar
+tomcat/jars/jasper-compiler-jdt-5.5.15.jar
+tomcat/jars/jasper-runtime-3.3.2.jar
+tomcat/jars/jasper-runtime-4.0.4.jar
+tomcat/jars/jasper-runtime-5.5.15.jar
+tomcat/jars/jkconfig-5.0.28.jar
+tomcat/jars/jasper-runtime-4.0.6.jar
+tomcat/jars/jasper-runtime-5.0.28.jar
+tomcat/jars/jasper-runtime-5.5.12.jar
+tomcat/jars/jkshm-5.0.28.jar
+tomcat/jars/jsp-api-5.5.12.jar
+tomcat/jars/jsp-api-5.5.15.jar
+tomcat/jars/naming-common-4.0.6.jar
+tomcat/jars/naming-common-5.0.28.jar
+tomcat/jars/naming-factory-4.0.6.jar
+tomcat/jars/naming-factory-5.0.28.jar
+tomcat/jars/naming-factory-5.5.12.jar
+tomcat/jars/naming-factory-5.5.15.jar
+tomcat/jars/naming-factory-dbcp-5.5.12.jar
+tomcat/jars/naming-factory-dbcp-5.5.15.jar
+tomcat/jars/naming-java-5.0.28.jar
+tomcat/jars/naming-resources-4.0.6.jar
+tomcat/jars/servlet-4.0.6.jar
+tomcat/jars/naming-resources-5.0.28.jar
+tomcat/jars/naming-resources-5.5.12.jar
+tomcat/jars/naming-resources-5.5.15.jar
+tomcat/jars/servlet-api-5.5.12.jar
+tomcat/jars/servlet-api-5.5.15.jar
+tomcat/jars/servlets-common-4.0.6.jar
+tomcat/jars/servlets-common-5.0.28.jar
+tomcat/jars/servlets-default-4.0.6.jar
+tomcat/jars/servlets-default-5.0.28.jar
+tomcat/jars/servlets-default-5.5.12.jar
+tomcat/jars/servlets-default-5.5.15.jar
+tomcat/jars/servlets-invoker-4.0.6.jar
+tomcat/jars/servlets-invoker-5.0.28.jar
+tomcat/jars/servlets-invoker-5.5.12.jar
+tomcat/jars/servlets-invoker-5.5.15.jar
+tomcat/jars/servlets-manager-4.0.6.jar
+tomcat/jars/servlets-webdav-4.0.6.jar
+tomcat/jars/servlets-webdav-5.0.28.jar
+tomcat/jars/servlets-webdav-5.5.12.jar
+tomcat/jars/servlets-webdav-5.5.15.jar
+tomcat/jars/stop-tomcat-3.3.2.jar
+tomcat/jars/tomcat-3.2.3.jar
+tomcat/jars/tomcat-3.3.2.jar
+tomcat/jars/tomcat-ajp-4.0.6.jar
+tomcat/jars/tomcat-ajp-5.5.12.jar
+tomcat/jars/tomcat-ajp-5.5.15.jar
+tomcat/jars/tomcat-ant-3.3.2.jar
+tomcat/jars/tomcat-apr-5.5.12.jar
+tomcat/jars/tomcat-apr-5.5.15.jar
+tomcat/jars/tomcat-coyote-3.3.2.jar
+tomcat/jars/tomcat-coyote-4.0.4.jar
+tomcat/jars/tomcat-coyote-4.0.6.jar
+tomcat/jars/tomcat-coyote-5.0.28.jar
+tomcat/jars/tomcat-coyote-5.5.12.jar
+tomcat/jars/tomcat-coyote-5.5.15.jar
+tomcat/jars/tomcat-http-5.5.12.jar
+tomcat/jars/tomcat-http-5.5.15.jar
+tomcat/jars/tomcat-http11-3.3.2.jar
+tomcat/jars/tomcat-http11-4.0.6.jar
+tomcat/jars/tomcat-http11-5.0.28.jar
+tomcat/jars/tomcat-i18n-en-5.5.12.jar
+tomcat/jars/tomcat-i18n-es-5.5.12.jar
+tomcat/jars/tomcat-i18n-fr-5.5.12.jar
+tomcat/jars/tomcat-i18n-ja-5.5.12.jar
+tomcat/jars/tomcat-jk-5.0.28.jar
+tomcat/jars/tomcat-jk2-3.3.2.jar
+tomcat/jars/tomcat-jk2-5.0.28.jar
+tomcat/jars/tomcat-jni-5.0.28.jar
+tomcat/jars/tomcat-juli-5.5.12.jar
+tomcat/jars/tomcat-naming-1.0.jar
+tomcat/jars/tomcat-util-3.3.2.jar
+tomcat/jars/tomcat-util-4.0.6.jar
+tomcat/jars/tomcat-util-5.0.28.jar
+tomcat/jars/tomcat-util-5.5.12.jar
+tomcat/jars/tomcat-util-5.5.15.jar
+tomcat/jars/tomcat33-coyote-3.3.2.jar
+tomcat/jars/tomcat33-resource-3.3.2.jar
+tomcat/jars/bootstrap-4.1.36.jar
+tomcat/jars/tomcat_core-3.3.2.jar
+tomcat/jars/tomcat_modules-3.3.2.jar
+tomcat/jars/webserver-3.2.4.jar
+tomcat/jars/catalina-4.1.36.jar
+tomcat/jars/catalina-ant-4.1.36.jar
+tomcat/jars/jasper-compiler-4.1.36.jar
+tomcat/jars/jasper-runtime-4.1.36.jar
+tomcat/jars/naming-common-4.1.36.jar
+tomcat/jars/naming-factory-4.1.36.jar
+tomcat/jars/naming-resources-4.1.36.jar
+tomcat/jars/servlet-4.1.36.jar
+tomcat/jars/servlets-cgi-4.1.36.jar
+tomcat/jars/servlets-common-4.1.36.jar
+tomcat/jars/servlets-default-4.1.36.jar
+tomcat/jars/servlets-invoker-4.1.36.jar
+tomcat/jars/servlets-manager-4.1.36.jar
+tomcat/jars/servlets-ssi-4.1.36.jar
+tomcat/jars/servlets-webdav-4.1.36.jar
+tomcat/jars/tomcat4-coyote-4.1.36.jar
+tomcat/jars/tomcat-coyote-4.1.36.jar
+tomcat/jars/tomcat-http11-4.1.36.jar
+tomcat/jars/tomcat-jk2-4.1.36.jar
+tomcat/jars/tomcat-jk-4.1.36.jar
+tomcat/jars/tomcat-jni-4.1.36.jar
+tomcat/jars/tomcat-util-4.1.36.jar
+tomcat/poms/catalina-5.5.15.pom
+tomcat/poms/catalina-ant-5.5.15.pom
+tomcat/poms/catalina-cluster-5.5.15.pom
+tomcat/poms/catalina-optional-5.5.15.pom
+tomcat/poms/catalina-storeconfig-5.5.15.pom
+tomcat/poms/jasper-compiler-5.5.15.pom
+tomcat/poms/jasper-compiler-jdt-5.5.15.pom
+tomcat/poms/jasper-runtime-5.5.15.pom
+tomcat/poms/jsp-api-5.5.15.pom
+tomcat/poms/naming-factory-5.5.15.pom
+tomcat/poms/naming-factory-dbcp-5.5.15.pom
+tomcat/poms/naming-resources-5.5.15.pom
+tomcat/poms/servlet-api-5.5.15.pom
+tomcat/poms/servlets-default-5.5.15.pom
+tomcat/poms/servlets-invoker-5.5.15.pom
+tomcat/poms/servlets-webdav-5.5.15.pom
+tomcat/poms/tomcat-ajp-5.5.15.pom
+tomcat/poms/tomcat-apr-5.5.15.pom
+tomcat/poms/tomcat-coyote-5.5.15.pom
+tomcat/poms/tomcat-http-5.5.15.pom
+tomcat/poms/tomcat-parent-5.5.15.pom
+tomcat/poms/tomcat-util-5.5.15.pom
+tomcat/zips/apache-tomcat-5.5.23.zip
+tomcat-util/jars/tomcat-util-dev.20021002.102355.jar
+torque/jars/maven-torque-plugin-3.2-rc1.jar
+torque/jars/torque-20030218.172852.jar
+torque/jars/torque-20030310.174947.jar
+torque/jars/torque-20030327.065722.jar
+torque/jars/torque-3.0-b4.jar
+torque/jars/torque-3.0-b3-dev.20020711.025538.jar
+torque/jars/torque-3.0-b4-dev.20020724.014157.jar
+torque/jars/torque-3.0-b4-dev.20020814.103755.jar
+torque/jars/torque-3.0-rc1.jar
+torque/jars/torque-3.0.1.jar
+torque/jars/torque-3.0.2.jar
+torque/jars/torque-3.1.1.jar
+torque/jars/torque-3.0.jar
+torque/jars/torque-3.1-alpha1.jar
+torque/jars/torque-3.1-alpha2.jar
+torque/jars/torque-3.1-beta1.jar
+torque/jars/torque-3.1-dev.jar
+torque/jars/torque-3.1-rc.jar
+torque/jars/torque-3.1.1-rc1.jar
+torque/jars/torque-3.1.1-rc2.jar
+torque/jars/torque-3.1.1-rc3.jar
+torque/jars/torque-3.1.jar
+torque/jars/torque-3.2-rc1.jar
+torque/jars/torque-gen-3.1-alpha1.jar
+torque/jars/torque-3.2-rc2.jar
+torque/jars/torque-3.2-rc3.jar
+torque/jars/torque-3.2.jar
+torque/jars/torque-gen-20030215.100807.jar
+torque/jars/torque-gen-20030310.175447.jar
+torque/jars/torque-gen-20030327.070220.jar
+torque/jars/torque-gen-3.1-alpha2.jar
+torque/jars/torque-gen-3.1-beta1.jar
+torque/jars/torque-gen-3.1-dev.jar
+torque/jars/torque-gen-3.1-rc.jar
+torque/jars/torque-gen-3.1.1-rc1.jar
+torque/jars/torque-gen-3.1.1-rc2.jar
+torque/jars/torque-gen-3.1.1-rc3.jar
+torque/jars/torque-gen-3.1.1.jar
+torque/jars/torque-gen-3.1.jar
+torque/jars/torque-gen-3.2-rc1.jar
+torque/jars/torque-gen-3.2.jar
+torque/jars/torque-gen-3.2-rc2.jar
+torque/jars/torque-gen-3.2-rc3.jar
+torque/jars/torque-gen-snapshot-version
+torque/jars/torque-gen-templates-3.2-rc1.jar
+torque/jars/torque-gen-templates-3.2-rc2.jar
+torque/jars/torque-gen-templates-3.2-rc3.jar
+torque/jars/torque-gen-templates-3.2.jar
+torque/jars/torque-3.3-RC1.jar
+torque/jars/torque-snapshot-version
+torque/jars/torque-gen-templates-3.3-RC1.jar
+torque/jars/torque-gen-3.3-RC1.jar
+torque/jars/torque-3.3-RC2.jar
+torque/jars/torque-gen-templates-3.3-RC2.jar
+torque/jars/torque-gen-3.3-RC2.jar
+torque/plugins/maven-torque-plugin-3.1.1-dev.jar
+torque/plugins/maven-torque-plugin-3.1.1-rc1.jar
+torque/plugins/maven-torque-plugin-3.1.1-rc2.jar
+torque/plugins/maven-torque-plugin-3.1.1-rc3.jar
+torque/plugins/maven-torque-plugin-3.1.1.jar
+torque/plugins/maven-torque-plugin-3.2-rc1.jar
+torque/plugins/maven-torque-plugin-3.2-rc2.jar
+torque/plugins/maven-torque-plugin-3.2-rc3.jar
+torque/plugins/maven-torque-plugin-3.2.jar
+torque/plugins/maven-torque-plugin-3.3-RC1.jar
+torque/plugins/maven-torque-plugin-3.3-RC2.jar
+torque/poms/maven-torque-plugin-3.1.1-dev.pom
+torque/poms/maven-torque-plugin-3.1.1-rc1.pom
+torque/poms/maven-torque-plugin-3.1.1-rc2.pom
+torque/poms/maven-torque-plugin-3.1.1-rc3.pom
+torque/poms/maven-torque-plugin-3.2-rc1.pom
+torque/poms/maven-torque-plugin-3.2-rc2.pom
+torque/poms/maven-torque-plugin-3.2-rc3.pom
+torque/poms/maven-torque-plugin-3.2.pom
+torque/poms/torque-3.1.1-rc1.pom
+torque/poms/torque-3.1.1-rc2.pom
+torque/poms/torque-3.1.1-rc3.pom
+torque/poms/torque-3.2-rc1.pom
+torque/poms/torque-3.2-rc2.pom
+torque/poms/torque-gen-templates-3.2-rc1.pom
+torque/poms/torque-3.2-rc3.pom
+torque/poms/torque-3.2.pom
+torque/poms/torque-gen-3.1.1-rc1.pom
+torque/poms/torque-gen-3.1.1-rc2.pom
+torque/poms/torque-gen-3.1.1-rc3.pom
+torque/poms/torque-gen-3.2-rc1.pom
+torque/poms/torque-gen-3.2-rc2.pom
+torque/poms/torque-gen-3.2-rc3.pom
+torque/poms/torque-gen-3.2.pom
+torque/poms/torque-3.3-RC1.pom
+torque/poms/torque-gen-templates-3.2-rc2.pom
+torque/poms/maven-torque-plugin-3.3-RC1.pom
+torque/poms/torque-gen-templates-3.2-rc3.pom
+torque/poms/torque-gen-templates-3.2.pom
+torque/poms/torque-gen-templates-3.3-RC1.pom
+torque/poms/torque-gen-3.3-RC1.pom
+torque/poms/torque-3.3-RC2.pom
+torque/poms/torque-gen-templates-3.3-RC2.pom
+torque/poms/torque-gen-3.3-RC2.pom
+torque/poms/maven-torque-plugin-3.3-RC2.pom
+turbine/distributions/maven-turbine-plugin-1.3-src.tar.gz
+turbine/distributions/maven-turbine-plugin-1.3-src.zip
+turbine/distributions/maven-turbine-plugin-1.3.tar.gz
+turbine/distributions/maven-turbine-plugin-1.3.zip
+turbine/distributions/turbine-2.3.2-src.tar.gz
+turbine/distributions/turbine-2.3.2-src.zip
+turbine/distributions/turbine-2.3.2.tar.gz
+turbine/distributions/turbine-2.3.2.zip
+turbine/jars/turbine-2.1.jar
+turbine/jars/turbine-2.2-b1.jar
+turbine/jars/turbine-2.2-b2-dev.jar
+turbine/jars/turbine-2.2-rc1.jar
+turbine/jars/turbine-2.2.jar
+turbine/jars/turbine-2.2b1.jar
+turbine/jars/turbine-2.3-rc1.jar
+turbine/jars/turbine-2.3.1-rc1.jar
+turbine/jars/turbine-2.3.1-rc2.jar
+turbine/jars/turbine-2.3.1.jar
+turbine/jars/turbine-2.3.2.jar
+turbine/jars/turbine-2.3.jar
+turbine/jars/turbine-2.4-M1.jar
+turbine/jars/turbine-3.0-alpha-1.20020912.045138.jar
+turbine/jars/turbine-3.0-dev.jar
+turbine/plugins/maven-turbine-plugin-20040825.211642.jar
+turbine/plugins/maven-turbine-plugin-1.2-rc1.jar
+turbine/plugins/maven-turbine-plugin-1.2.jar
+turbine/plugins/maven-turbine-plugin-1.3.jar
+turbine/plugins/maven-turbine-plugin-20040825.214656.jar
+turbine/plugins/maven-turbine-plugin-snapshot-version
+turbine/poms/maven-turbine-plugin-20040825.211642.pom
+turbine/poms/maven-turbine-plugin-1.2-rc1.pom
+turbine/poms/maven-turbine-plugin-1.3.pom
+turbine/poms/maven-turbine-plugin-20040825.214656.pom
+turbine/poms/maven-turbine-plugin-snapshot-version
+turbine/poms/turbine-2.3.1-rc1.pom
+turbine/poms/turbine-2.3.1-rc2.pom
+turbine/poms/turbine-2.3.2.pom
+velocity/jars/velocity-1.3-dev.jar
+velocity/jars/velocity-1.3.1.jar
+velocity/jars/velocity-1.3.jar
+velocity/jars/velocity-1.4-dev.jar
+velocity/jars/velocity-1.4-rc1.jar
+velocity/jars/velocity-1.4.jar
+velocity/jars/velocity-dep-1.5-beta2.jar
+velocity/jars/velocity-1.5.jar
+velocity/jars/velocity-dep-1.3.1.jar
+velocity/jars/velocity-dep-1.4-rc1.jar
+velocity/jars/velocity-dep-1.4.jar
+velocity/jars/velocity-1.5-beta2.jar
+velocity/jars/anakia-1.0.jar
+velocity/jars/texen-1.0.jar
+velocity/poms/velocity-1.5.pom.bak
+velocity/poms/velocity-1.5.pom.carlos
+velocity/poms/velocity-1.5.pom.md5.bak
+velocity-dvsl/jars/velocity-dvsl-0.31.jar
+velocity-dvsl/jars/velocity-dvsl-0.40.jar
+velocity-dvsl/jars/velocity-dvsl-0.43.20020711.010949.jar
+velocity-dvsl/jars/velocity-dvsl-0.43.20020716.041424.jar
+velocity-dvsl/jars/velocity-dvsl-0.43.jar
+velocity-dvsl/jars/velocity-dvsl-0.43.20020719.020022.jar
+velocity-dvsl/jars/velocity-dvsl-0.45.jar
+velocity-dvsl/jars/velocity-dvsl-0.44.20020719.122919.jar
+velocity-dvsl/jars/velocity-dvsl-0.44.20020720.011619.jar
+velocity-dvsl/jars/velocity-dvsl-0.44.20020720.082908.jar
+velocity-tools/jars/velocity-tools-1.0.jar
+velocity-tools/jars/velocity-tools-1.1.jar
+velocity-tools/jars/velocity-tools-1.2.jar
+velocity-tools/jars/velocity-tools-generic-1.0.jar
+velocity-tools/jars/velocity-tools-generic-1.1.jar
+velocity-tools/jars/velocity-tools-generic-1.2.jar
+velocity-tools/jars/velocity-tools-view-1.0.jar
+velocity-tools/jars/velocity-tools-view-1.1.jar
+velocity-tools/jars/velocity-tools-view-1.2.jar
+velocity-tools/jars/velocity-tools-1.3.jar
+velocity-tools/jars/velocity-tools-generic-1.3.jar
+velocity-tools/jars/velocity-tools-view-1.3.jar
+ws-commons/jars/KEYS
+ws-commons/jars/axiom-api-0.95.jar
+ws-commons/jars/tcpmon-1.0.jar
+ws-commons/jars/sign.sh
+ws-commons/jars/axiom-api-1.0.jar
+ws-commons/jars/axiom-dom-1.0.jar
+ws-commons/jars/axiom-impl-0.95.jar
+ws-commons/jars/axiom-impl-1.0.jar
+ws-commons/jars/neethi-1.0.1.jar
+ws-commons/jars/policy-1.0.jar
+ws-commons/poms/axiom-1.0.pom
+ws-commons/poms/axiom-api-1.0.pom
+ws-commons/poms/axiom-impl-1.0.pom
+ws-commons/poms/neethi-1.0.1.pom
+ws-commons-java5/jars/ws-commons-java5-1.0-sources.jar
+ws-commons-java5/jars/ws-commons-java5-1.0.1-sources.jar
+ws-commons-java5/jars/ws-commons-java5-1.0.1.jar
+ws-commons-java5/jars/ws-commons-java5-1.0.jar
+ws-commons-java5/poms/ws-commons-java5-1.0.1.pom
+ws-commons-java5/poms/ws-commons-java5-1.0.pom
+ws-commons-util/jars/ws-commons-util-1.0-sources.jar
+ws-commons-util/jars/ws-commons-util-1.0.1-sources.jar
+ws-commons-util/jars/ws-commons-util-1.0.1.jar
+ws-commons-util/jars/ws-commons-util-1.0.jar
+ws-commons-util/poms/ws-commons-util-1.0.1.pom
+ws-commons-util/poms/ws-commons-util-1.0.pom
+ws-scout/jars/scout-0.5.jar
+ws-scout/jars/scout-0.7rc1.jar
+ws-scout/jars/scout-0.7rc2.pom
+ws-scout/jars/scout-0.7rc2.jar
+ws-scout/jars/scout-0.7rc2-sources.jar
+ws-scout/KEYS
+wsdl4j/jars/wsdl4j-1.0.jar
+wsrf/jars/j2ee-xbeans-src-1.0.jar
+wsrf/jars/j2ee-xbeans-1.0.jar
+wsrf/jars/wsa-xbeans-src-1.0.jar
+wsrf/jars/wsa-xbeans-1.0.jar
+wsrf/jars/wsrf-xbeans-1.0.jar
+wsrf/jars/wsrf-1.0.jar
+wsrf/jars/wsrf-1.1.jar
+wsrf/jars/wsrf-jndi-config-src-1.0.jar
+wsrf/jars/wsrf-jndi-config-1.0.jar
+wsrf/jars/wsrf-xbeans-src-1.0.jar
+wss4j/jars/wss4j-1.5.0.jar
+wss4j/jars/wss4j-1.5.1.jar
+xalan/jars/xalan-2.1.0.jar
+xalan/jars/xalan-2.3.1.jar
+xalan/jars/xalan-2.4.0.jar
+xalan/jars/xalan-2.4.1.jar
+xalan/jars/xalan-2.5.0.jar
+xalan/jars/xalan-2.5.1.jar
+xalan/jars/xalan-2.6.0.jar
+xalan/jars/xalan-2.7.0.jar
+xalan/jars/xalansamples-2.4.1.jar
+xalan/jars/xalansamples-2.5.1.jar
+xalan/jars/xalansamples-2.6.0.jar
+xalan/jars/xalanservlet-2.4.1.jar
+xalan/wars/xalanservlet-2.5.1.war
+xerces/jars/xerces-1.2.3.jar
+xerces/jars/xerces-1.4.0.jar
+xerces/jars/xerces-1.4.4.jar
+xerces/jars/xerces-2.0.0.jar
+xerces/jars/xerces-2.0.1.jar
+xerces/jars/xerces-2.0.2.jar
+xerces/jars/xerces-2.2.1.jar
+xerces/jars/xerces-2.3.0.jar
+xerces/jars/xerces-2.4.0.jar
+xerces/jars/xercesImpl-2.0.0.jar
+xerces/jars/xercesImpl-2.5.0.jar
+xerces/jars/xercesImpl-2.6.0.jar
+xerces/jars/xercesImpl-2.6.2.jar
+xerces/jars/xercesImpl-2.7.1.jar
+xerces/jars/xercesImpl-2.8.0.jar
+xerces/jars/xercesImpl-2.8.0.jar.sig
+xerces/jars/xercesSamples-2.5.0.jar
+xerces/jars/xercesSamples-2.6.0.jar
+xerces/jars/xercesSamples-2.6.2.jar
+xerces/jars/xercesSamples-2.8.0.jar
+xerces/jars/xercesSamples-2.8.0.jar.sig
+xerces/jars/xmlParserAPIs-2.0.0.jar
+xerces/jars/xmlParserAPIs-2.0.2.jar
+xerces/jars/xmlParserAPIs-2.2.1.jar
+xerces/jars/xmlParserAPIs-2.6.0.jar
+xerces/jars/xmlParserAPIs-2.6.2.jar
+xerces/java-sources/xercesImpl-2.8.0-sources.jar
+xerces/poms/xercesImpl-2.8.0.pom
+xercesjarv/jars/xercesjarv-20020712-DG.jar
+xercesjarv/jars/xercesjarv-20020712.jar
+xml-apis/jars/xml-apis-1.0.b2.jar
+xml-apis/jars/.htaccess
+xml-apis/jars/README.html
+xml-apis/jars/xml-apis-1.0.b2.james
+xml-apis/jars/xml-apis-1.3.02.jar
+xml-apis/jars/xml-apis-1.3.03.jar
+xml-apis/jars/xml-apis-1.3.03.jar.sig
+xml-apis/poms/xml-apis-1.3.02.pom
+xml-apis/poms/xml-apis-1.3.03.pom
+xml-resolver/jars/xml-resolver-1.1.jar
+xml-security/jars/xml-security-1.0.4.jar
+xml-security/jars/xmlsec-1.0.5D2.jar
+xml-security/jars/xmlsec-1.1.0.jar
+xml-security/jars/xmlsec-1.1.0.jar.sig
+xml-security/jars/xmlsec-1.2.1.jar
+xml-security/jars/xmlsec-1.2.1.jar.sig
+xml-security/jars/xmlsec-1.3.0.jar
+xml-security/jars/xmlsec-1.3.0.jar.sig
+xmlbeans/jars/jsr173_1.0_api.jar
+xmlbeans/jars/jsr173_1.0_api_bundle.jar
+xmlbeans/jars/xbean-1.0.3.jar
+xmlbeans/jars/xbean-1.0.4-jdk1.3.jar
+xmlbeans/jars/xbean-1.0.4.jar
+xmlbeans/jars/xbean-2.0.0-beta1.jar
+xmlbeans/jars/xbean-2.0.0.jar
+xmlbeans/jars/xbean-2.1.0.jar
+xmlbeans/jars/xbean_xpath-1.0.3.jar
+xmlbeans/jars/xbean-2.2.0.jar
+xmlbeans/jars/xbean_xpath-1.0.4-jdk1.3.jar
+xmlbeans/jars/xbean_xpath-1.0.4.jar
+xmlbeans/jars/xbean_xpath-2.0.0-beta1.jar
+xmlbeans/jars/xbean_xpath-2.0.0.jar
+xmlbeans/jars/xbean_xpath-2.1.0.jar
+xmlbeans/jars/xbean_xpath-2.2.0.jar
+xmlbeans/jars/xmlbeans-1.0.3.jar
+xmlbeans/jars/xmlbeans-1.0.jar
+xmlbeans/jars/xmlpublic-2.0.0-beta1.jar
+xmlbeans/jars/xmlpublic-2.0.0.jar
+xmlbeans/jars/xmlpublic-2.1.0.jar
+xmlbeans/jars/xmlpublic-2.2.0.jar
+xmlbeans/poms/xmlbeans-1.0.3.pom
+xmlbeans/poms/xbean-2.2.0.pom
+xmlrpc/jars/xmlrpc-1.1.jar
+xmlrpc/jars/xmlrpc-1.2-a1.jar
+xmlrpc/jars/xmlrpc-1.2-a2.jar
+xmlrpc/jars/xmlrpc-1.2-a3-dev.20030102.111633.jar
+xmlrpc/jars/xmlrpc-1.2-a3-dev.jar
+xmlrpc/jars/xmlrpc-1.2-b1.jar
+xmlrpc/jars/xmlrpc-2.0-applet.jar
+xmlrpc/jars/xmlrpc-1.2.jar
+xmlrpc/jars/xmlrpc-2.0-beta-applet.jar
+xmlrpc/jars/xmlrpc-2.0-beta.jar
+xmlrpc/jars/xmlrpc-2.0.1-sources.jar
+xmlrpc/jars/xmlrpc-3.0a1-sources.jar
+xmlrpc/jars/xmlrpc-2.0.1.jar
+xmlrpc/jars/xmlrpc-2.0.jar
+xmlrpc/jars/xmlrpc-3.0a1.jar
+xmlrpc/jars/xmlrpc-client-3.0-sources.jar
+xmlrpc/jars/xmlrpc-common-3.0.jar
+xmlrpc/jars/xmlrpc-client-3.0.jar
+xmlrpc/jars/xmlrpc-client-3.0b1-sources.jar
+xmlrpc/jars/xmlrpc-client-3.0b1.jar
+xmlrpc/jars/xmlrpc-common-3.0-sources.jar
+xmlrpc/jars/xmlrpc-common-3.0b1-sources.jar
+xmlrpc/jars/xmlrpc-common-3.0b1.jar
+xmlrpc/jars/xmlrpc-helma-1.0.jar
+xmlrpc/jars/xmlrpc-server-3.0-sources.jar
+xmlrpc/jars/xmlrpc-server-3.0.jar
+xmlrpc/jars/xmlrpc-server-3.0b1-sources.jar
+xmlrpc/jars/xmlrpc-server-3.0b1.jar
+xmlrpc/poms/xmlrpc-3.0.pom
+xmlrpc/poms/xmlrpc-3.0b1.pom
+xmlrpc/poms/xmlrpc-client-3.0.pom
+xmlrpc/poms/xmlrpc-client-3.0b1.pom
+xmlrpc/poms/xmlrpc-common-3.0.pom
+xmlrpc/poms/xmlrpc-common-3.0b1.pom
+xmlrpc/poms/xmlrpc-server-3.0.pom
+xmlrpc/poms/xmlrpc-server-3.0b1.pom
+org.apache.ws.commons.axiom/jars/axiom-api-1.2.jar
+org.apache.ws.commons.axiom/jars/axiom-impl-1.2.jar
+org.apache.ws.commons.axiom/jars/axiom-dom-1.2.jar
+org.apache.ws.commons.axiom/jars/axiom-1.2.1.jar
+org.apache.ws.commons.axiom/jars/axiom-impl-1.2.1.jar
+org.apache.ws.commons.axiom/jars/axiom-dom-1.2.1.jar
+org.apache.ws.commons.axiom/jars/axiom-api-1.2.1.jar
+org.apache.ws.commons.axiom/jars/axiom-1.2.2.jar
+org.apache.ws.commons.axiom/jars/axiom-api-1.2.2.jar
+org.apache.ws.commons.axiom/jars/axiom-dom-1.2.2.jar
+org.apache.ws.commons.axiom/jars/axiom-impl-1.2.2.jar
+org.apache.ws.commons.axiom/jars/axiom-1.2.3.jar
+org.apache.ws.commons.axiom/jars/axiom-api-1.2.3.jar
+org.apache.ws.commons.axiom/jars/axiom-dom-1.2.3.jar
+org.apache.ws.commons.axiom/jars/axiom-impl-1.2.3.jar
+org.apache.ws.commons.axiom/jars/axiom-1.2.4.jar
+org.apache.ws.commons.axiom/jars/axiom-api-1.2.4.jar
+org.apache.ws.commons.axiom/jars/axiom-dom-1.2.4.jar
+org.apache.ws.commons.axiom/jars/axiom-impl-1.2.4.jar
+org.apache.ws.commons.axiom/jars/axiom-impl-1.2.5.jar
+org.apache.ws.commons.axiom/jars/axiom-dom-1.2.5.jar
+org.apache.ws.commons.axiom/jars/axiom-api-1.2.5.jar
+org.apache.ws.commons.axiom/jars/axiom-1.2.5.jar
+org.apache.ws.commons.schema/jars/XmlSchema-1.2.jar
+org.apache.axis2/jars/axis2-adb-1.1.jar
+org.apache.axis2/jars/axis2-adb-codegen-1.1.jar
+org.apache.axis2/jars/axis2-codegen-1.1.jar
+org.apache.axis2/jars/axis2-java2wsdl-1.1.jar
+org.apache.axis2/jars/axis2-jibx-1.1.jar
+org.apache.axis2/jars/axis2-kernel-1.1.jar
+org.apache.axis2/jars/axis2-saaj-1.1.jar
+org.apache.axis2/jars/axis2-soapmonitor-1.1.jar
+org.apache.axis2/jars/axis2-spring-1.1.jar
+org.apache.axis2/jars/axis2-tools-1.1.jar
+org.apache.axis2/jars/axis2-xmlbeans-1.1.jar
+org.apache.axis2/jars/axis2-1.1.jar
+org.apache.axis2/jars/axis2-rahas-1.1.jar
+org.apache.axis2/jars/axis2-secpolicy-1.1.jar
+org.apache.axis2/jars/axis2-security-1.1.jar
+org.apache.axis2/jars/axis2-1.1.1.jar
+org.apache.axis2/jars/axis2-adb-1.1.1.jar
+org.apache.axis2/jars/axis2-adb-codegen-1.1.1.jar
+org.apache.axis2/jars/axis2-codegen-1.1.1.jar
+org.apache.axis2/jars/axis2-java2wsdl-1.1.1.jar
+org.apache.axis2/jars/axis2-jaxbri-1.1.1.jar
+org.apache.axis2/jars/axis2-jibx-1.1.1.jar
+org.apache.axis2/jars/axis2-kernel-1.1.1.jar
+org.apache.axis2/jars/axis2-saaj-1.1.1.jar
+org.apache.axis2/jars/axis2-soapmonitor-1.1.1.jar
+org.apache.axis2/jars/axis2-spring-1.1.1.jar
+org.apache.axis2/jars/axis2-tools-1.1.1.jar
+org.apache.axis2/jars/axis2-xmlbeans-1.1.1.jar
+org.apache.axis2/jars/axis2-1.2.jar
+org.apache.axis2/jars/axis2-adb-1.2.jar
+org.apache.axis2/jars/axis2-adb-codegen-1.2.jar
+org.apache.axis2/jars/axis2-addressing-1.2.jar
+org.apache.axis2/jars/axis2-codegen-1.2.jar
+org.apache.axis2/jars/axis2-fastinfoset-1.2.jar
+org.apache.axis2/jars/axis2-jaxws-1.2.jar
+org.apache.axis2/jars/axis2-java2wsdl-1.2.jar
+org.apache.axis2/jars/axis2-jaxbri-1.2.jar
+org.apache.axis2/jars/axis2-jaxws-api-1.2.jar
+org.apache.axis2/jars/axis2-jibx-1.2.jar
+org.apache.axis2/jars/axis2-json-1.2.jar
+org.apache.axis2/jars/axis2-kernel-1.2.jar
+org.apache.axis2/jars/axis2-metadata-1.2.jar
+org.apache.axis2/jars/axis2-mex-1.2.jar
+org.apache.axis2/jars/axis2-mtompolicy-1.2.jar
+org.apache.axis2/jars/axis2-ping-1.2.jar
+org.apache.axis2/jars/axis2-saaj-1.2.jar
+org.apache.axis2/jars/axis2-saaj-api-1.2.jar
+org.apache.axis2/jars/axis2-soapmonitor-1.2.jar
+org.apache.axis2/jars/axis2-spring-1.2.jar
+org.apache.axis2/jars/axis2-xmlbeans-1.2.jar
+org.apache.axis2/mars/addressing-1.1.mar
+org.apache.axis2/mars/soapmonitor-1.1.mar
+org.apache.axis2/mars/rampart-1.1.mar
+org.apache.axis2/mars/rahas-1.1.mar
+org.apache.axis2/mars/addressing-1.1.1.mar
+org.apache.axis2/mars/soapmonitor-1.1.1.mar
+org.apache.axis2/mars/addressing-1.2.mar
+org.apache.axis2/mars/soapmonitor-1.2.mar
+org.apache.neethi/jars/neethi-2.0.jar
+org.apache.neethi/jars/neethi-2.0.1.jar
+org.apache.neethi/jars/neethi-2.0.2.jar
+org.apache.ws.commons.neethi/jars/neethi-1.0.1.jar
+org.apache.ws.commons.neethi/jars/neethi-2.0.1.jar
+org.apache.sandesha2/jars/sandesha2-1.1.jar
+org.apache.sandesha2/jars/sandesha2-client-1.1.jar
+org.apache.sandesha2/jars/sandesha2-policy-1.1.jar
+org.apache.sandesha2/mars/sandesha2-1.1.mar
+org.apache.ant/jars/ant-1.7.0.jar
+org.apache.ant/jars/ant-antlr-1.7.0.jar
+org.apache.ant/jars/ant-apache-bcel-1.7.0.jar
+org.apache.ant/jars/ant-apache-bsf-1.7.0.jar
+org.apache.ant/jars/ant-apache-log4j-1.7.0.jar
+org.apache.ant/jars/ant-apache-oro-1.7.0.jar
+org.apache.ant/jars/ant-apache-regexp-1.7.0.jar
+org.apache.ant/jars/ant-apache-resolver-1.7.0.jar
+org.apache.ant/jars/ant-commons-logging-1.7.0.jar
+org.apache.ant/jars/ant-commons-net-1.7.0.jar
+org.apache.ant/jars/ant-jai-1.7.0.jar
+org.apache.ant/jars/ant-javamail-1.7.0.jar
+org.apache.ant/jars/ant-jdepend-1.7.0.jar
+org.apache.ant/jars/ant-jmf-1.7.0.jar
+org.apache.ant/jars/ant-jsch-1.7.0.jar
+org.apache.ant/jars/ant-junit-1.7.0.jar
+org.apache.ant/jars/ant-launcher-1.7.0.jar
+org.apache.ant/jars/ant-netrexx-1.7.0.jar
+org.apache.ant/jars/ant-nodeps-1.7.0.jar
+org.apache.ant/jars/ant-starteam-1.7.0.jar
+org.apache.ant/jars/ant-stylebook-1.7.0.jar
+org.apache.ant/jars/ant-swing-1.7.0.jar
+org.apache.ant/jars/ant-testutil-1.7.0.jar
+org.apache.ant/jars/ant-trax-1.7.0.jar
+org.apache.ant/jars/ant-weblogic-1.7.0.jar
+org.apache.ant/poms/ant-1.7.0.pom
+org.apache.ant/poms/ant-antlr-1.7.0.pom
+org.apache.ant/poms/ant-apache-bcel-1.7.0.pom
+org.apache.ant/poms/ant-apache-bsf-1.7.0.pom
+org.apache.ant/poms/ant-apache-log4j-1.7.0.pom
+org.apache.ant/poms/ant-apache-oro-1.7.0.pom
+org.apache.ant/poms/ant-apache-regexp-1.7.0.pom
+org.apache.ant/poms/ant-apache-resolver-1.7.0.pom
+org.apache.ant/poms/ant-commons-logging-1.7.0.pom
+org.apache.ant/poms/ant-commons-net-1.7.0.pom
+org.apache.ant/poms/ant-jai-1.7.0.pom
+org.apache.ant/poms/ant-javamail-1.7.0.pom
+org.apache.ant/poms/ant-jdepend-1.7.0.pom
+org.apache.ant/poms/ant-jmf-1.7.0.pom
+org.apache.ant/poms/ant-jsch-1.7.0.pom
+org.apache.ant/poms/ant-junit-1.7.0.pom
+org.apache.ant/poms/ant-launcher-1.7.0.pom
+org.apache.ant/poms/ant-netrexx-1.7.0.pom
+org.apache.ant/poms/ant-nodeps-1.7.0.pom
+org.apache.ant/poms/ant-parent-1.7.0.pom
+org.apache.ant/poms/ant-starteam-1.7.0.pom
+org.apache.ant/poms/ant-stylebook-1.7.0.pom
+org.apache.ant/poms/ant-swing-1.7.0.pom
+org.apache.ant/poms/ant-trax-1.7.0.pom
+org.apache.ant/poms/ant-testutil-1.7.0.pom
+org.apache.ant/poms/ant-weblogic-1.7.0.pom
+org.apache.activemq/tar.bz2s/apache-activemq-4.1.1.tar.bz2
+org.apache.activemq/jars/activemq-console-4.1.1.jar
+org.apache.activemq/jars/activemq-core-4.1.1-tests.jar
+org.apache.activemq/jars/activemq-core-4.1.1.jar
+org.apache.activemq/jars/activemq-jaas-4.1.1.jar
+org.apache.activemq/jars/activemq-openwire-generator-4.1.1.jar
+org.apache.activemq/jars/activemq-optional-4.1.1.jar
+org.apache.activemq/jars/activemq-ra-4.1.1.jar
+org.apache.activemq/jars/activemq-test-atomikos-4.1.1.jar
+org.apache.activemq/jars/activemq-web-4.1.1.jar
+org.apache.activemq/jars/activemq-xmpp-4.1.1.jar
+org.apache.activemq/jars/apache-activemq-4.1.1.jar
+org.apache.activemq/java-sources/activemq-console-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-openwire-generator-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-core-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-jaas-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-optional-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-ra-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-test-atomikos-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-rar-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-web-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-web-console-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-web-demo-4.1.1-sources.jar
+org.apache.activemq/java-sources/activemq-xmpp-4.1.1-sources.jar
+org.apache.activemq/java-sources/apache-activemq-4.1.1-sources.jar
+org.apache.activemq/poms/activemq-console-4.1.1.pom
+org.apache.activemq/poms/activemq-openwire-generator-4.1.1.pom
+org.apache.activemq/poms/activemq-core-4.1.1.pom
+org.apache.activemq/poms/activemq-jaas-4.1.1.pom
+org.apache.activemq/poms/activemq-ra-4.1.1.pom
+org.apache.activemq/poms/activemq-optional-4.1.1.pom
+org.apache.activemq/poms/activemq-parent-4.1.1.pom
+org.apache.activemq/poms/activemq-xmpp-4.1.1.pom
+org.apache.activemq/poms/activemq-rar-4.1.1.pom
+org.apache.activemq/poms/activemq-test-atomikos-4.1.1.pom
+org.apache.activemq/poms/activemq-web-4.1.1.pom
+org.apache.activemq/poms/activemq-web-console-4.1.1.pom
+org.apache.activemq/poms/activemq-web-demo-4.1.1.pom
+org.apache.activemq/poms/apache-activemq-4.1.1.pom
+org.apache.activemq/poms/maven-metadata.xml
+org.apache.activemq/rars/activemq-rar-4.1.1.rar
+org.apache.activemq/htmls/activemq-core-4.1.1-schema.html
+org.apache.activemq/htmls/activemq-ra-4.1.1-schema.html
+org.apache.activemq/tar.gzs/apache-activemq-4.1.1-src.tar.gz
+org.apache.activemq/tar.gzs/apache-activemq-4.1.1.tar.gz
+org.apache.activemq/wars/activemq-web-console-4.1.1.war
+org.apache.activemq/wars/activemq-web-demo-4.1.1.war
+org.apache.activemq/xsd.htmls/activemq-core-4.1.1.xsd.html
+org.apache.activemq/xsd.htmls/activemq-ra-4.1.1.xsd.html
+org.apache.activemq/xsds/activemq-core-4.1.1.xsd
+org.apache.activemq/xsds/activemq-ra-4.1.1.xsd
+org.apache.activemq/xsds/README.txt
+org.apache.activemq/xsds/ReadMe.html
+org.apache.activemq/xsds/HEADER.html
+org.apache.activemq/zips/apache-activemq-4.1.1-src.zip
+org.apache.activemq/zips/apache-activemq-4.1.1.zip
+org.apache.activemq/snapshot-schema
+org.apache.poi/jars/poi-3.0.1-FINAL.jar
+org.apache.poi/jars/poi-scratchpad-3.0.1-FINAL.jar
+org.apache.poi/jars/poi-contrib-3.0.1-FINAL.jar
+org.apache.poi/poms/poi-3.0-FINAL.pom
+org.apache.poi/poms/poi-3.0.1-FINAL.pom
+org.apache.poi/poms/poi-scratchpad-3.0.1-FINAL.pom
+org.apache.poi/poms/poi-contrib-3.0.1-FINAL.pom
+org.apache.camel/poms/apache-camel-1.0.0.pom
+org.apache.camel/poms/archetypes-1.0.0.pom
+org.apache.camel/poms/camel-activemq-1.0.0.pom
+org.apache.camel/poms/camel-example-jms-file-1.0.0.pom
+org.apache.camel/poms/camel-bam-1.0.0.pom
+org.apache.camel/poms/camel-book-1.0.0.pom
+org.apache.camel/poms/camel-core-1.0.0.pom
+org.apache.camel/poms/camel-cxf-1.0.0.pom
+org.apache.camel/poms/camel-example-spring-1.0.0.pom
+org.apache.camel/poms/camel-ftp-1.0.0.pom
+org.apache.camel/poms/camel-jms-1.0.0.pom
+org.apache.camel/poms/camel-http-1.0.0.pom
+org.apache.camel/poms/camel-irc-1.0.0.pom
+org.apache.camel/poms/camel-jaxb-1.0.0.pom
+org.apache.camel/poms/camel-jbi-1.0.0.pom
+org.apache.camel/poms/camel-josql-1.0.0.pom
+org.apache.camel/poms/camel-jpa-1.0.0.pom
+org.apache.camel/poms/camel-mail-1.0.0.pom
+org.apache.camel/poms/camel-maven-plugin-1.0.0.pom
+org.apache.camel/poms/camel-mina-1.0.0.pom
+org.apache.camel/poms/camel-parent-1.0.0.pom
+org.apache.camel/poms/camel-rmi-1.0.0.pom
+org.apache.camel/poms/camel-quartz-1.0.0.pom
+org.apache.camel/poms/camel-router-1.0.0.pom
+org.apache.camel/poms/camel-saxon-1.0.0.pom
+org.apache.camel/poms/camel-script-1.0.0.pom
+org.apache.camel/poms/camel-spring-1.0.0.pom
+org.apache.camel/poms/camel-xmpp-1.0.0.pom
+org.apache.camel/poms/components-1.0.0.pom
+org.apache.camel/poms/examples-1.0.0.pom
+org.apache.camel/poms/maven-html-to-docbook-1.0.0.pom
+org.apache.camel/poms/maven-metadata.xml
+org.apache.camel/poms/maven-plugins-1.0.0.pom
+org.apache.camel/poms/tooling-1.0.0.pom
+org.apache.camel/poms/apache-camel-1.1.0.pom
+org.apache.camel/poms/archetypes-1.1.0.pom
+org.apache.camel/poms/camel-activemq-1.1.0.pom
+org.apache.camel/poms/camel-bam-1.1.0.pom
+org.apache.camel/poms/camel-book-1.1.0.pom
+org.apache.camel/poms/camel-core-1.1.0.pom
+org.apache.camel/poms/camel-cxf-1.1.0.pom
+org.apache.camel/poms/camel-example-bam-1.1.0.pom
+org.apache.camel/poms/camel-example-etl-1.1.0.pom
+org.apache.camel/poms/camel-example-jms-file-1.1.0.pom
+org.apache.camel/poms/camel-jpa-1.1.0.pom
+org.apache.camel/poms/camel-example-spring-1.1.0.pom
+org.apache.camel/poms/camel-ftp-1.1.0.pom
+org.apache.camel/poms/camel-http-1.1.0.pom
+org.apache.camel/poms/camel-irc-1.1.0.pom
+org.apache.camel/poms/camel-jaxb-1.1.0.pom
+org.apache.camel/poms/camel-jing-1.1.0.pom
+org.apache.camel/poms/camel-jms-1.1.0.pom
+org.apache.camel/poms/camel-maven-plugin-1.1.0.pom
+org.apache.camel/poms/camel-josql-1.1.0.pom
+org.apache.camel/poms/camel-juel-1.1.0.pom
+org.apache.camel/poms/camel-mail-1.1.0.pom
+org.apache.camel/poms/camel-msv-1.1.0.pom
+org.apache.camel/poms/camel-mina-1.1.0.pom
+org.apache.camel/poms/camel-rmi-1.1.0.pom
+org.apache.camel/poms/camel-ognl-1.1.0.pom
+org.apache.camel/poms/camel-parent-1.1.0.pom
+org.apache.camel/poms/camel-quartz-1.1.0.pom
+org.apache.camel/poms/examples-1.1.0.pom
+org.apache.camel/poms/camel-router-1.1.0.pom
+org.apache.camel/poms/camel-saxon-1.1.0.pom
+org.apache.camel/poms/camel-script-1.1.0.pom
+org.apache.camel/poms/camel-spring-1.1.0.pom
+org.apache.camel/poms/camel-xmpp-1.1.0.pom
+org.apache.camel/poms/components-1.1.0.pom
+org.apache.camel/poms/maven-html-to-docbook-1.1.0.pom
+org.apache.camel/poms/maven-plugins-1.1.0.pom
+org.apache.camel/poms/tooling-1.1.0.pom
+org.apache.camel/java-sources/apache-camel-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-activemq-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-bam-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-cxf-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-core-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-example-jms-file-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-ftp-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-example-spring-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-http-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-irc-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-jaxb-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-jbi-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-jms-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-josql-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-jpa-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-mail-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-maven-plugin-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-rmi-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-mina-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-quartz-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-router-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-saxon-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-script-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-spring-1.0.0-sources.jar
+org.apache.camel/java-sources/camel-xmpp-1.0.0-sources.jar
+org.apache.camel/java-sources/maven-html-to-docbook-1.0.0-sources.jar
+org.apache.camel/java-sources/apache-camel-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-activemq-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-bam-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-core-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-cxf-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-example-bam-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-ftp-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-example-etl-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-example-jms-file-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-example-spring-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-http-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-irc-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-maven-plugin-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-jaxb-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-jing-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-jms-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-josql-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-jpa-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-juel-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-mail-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-mina-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-msv-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-ognl-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-rmi-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-quartz-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-router-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-saxon-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-script-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-spring-1.1.0-sources.jar
+org.apache.camel/java-sources/camel-xmpp-1.1.0-sources.jar
+org.apache.camel/java-sources/maven-html-to-docbook-1.1.0-sources.jar
+org.apache.camel/maven-plugins/camel-maven-plugin-1.0.0.jar
+org.apache.camel/maven-plugins/maven-html-to-docbook-1.0.0.jar
+org.apache.camel/maven-plugins/camel-maven-plugin-1.1.0.jar
+org.apache.camel/maven-plugins/maven-html-to-docbook-1.1.0.jar
+org.apache.camel/jars/apache-camel-1.0.0.jar
+org.apache.camel/jars/camel-activemq-1.0.0.jar
+org.apache.camel/jars/camel-example-jms-file-1.0.0.jar
+org.apache.camel/jars/camel-bam-1.0.0.jar
+org.apache.camel/jars/camel-core-1.0.0-tests.jar
+org.apache.camel/jars/camel-core-1.0.0.jar
+org.apache.camel/jars/camel-cxf-1.0.0.jar
+org.apache.camel/jars/camel-example-spring-1.0.0.jar
+org.apache.camel/jars/camel-ftp-1.0.0.jar
+org.apache.camel/jars/camel-http-1.0.0.jar
+org.apache.camel/jars/camel-irc-1.0.0.jar
+org.apache.camel/jars/camel-jaxb-1.0.0.jar
+org.apache.camel/jars/camel-jbi-1.0.0.jar
+org.apache.camel/jars/camel-jms-1.0.0.jar
+org.apache.camel/jars/camel-josql-1.0.0.jar
+org.apache.camel/jars/camel-jpa-1.0.0.jar
+org.apache.camel/jars/camel-mail-1.0.0.jar
+org.apache.camel/jars/camel-mina-1.0.0.jar
+org.apache.camel/jars/camel-quartz-1.0.0.jar
+org.apache.camel/jars/camel-rmi-1.0.0.jar
+org.apache.camel/jars/camel-router-1.0.0.jar
+org.apache.camel/jars/camel-saxon-1.0.0.jar
+org.apache.camel/jars/camel-script-1.0.0.jar
+org.apache.camel/jars/camel-spring-1.0.0-tests.jar
+org.apache.camel/jars/camel-spring-1.0.0.jar
+org.apache.camel/jars/camel-xmpp-1.0.0.jar
+org.apache.camel/jars/apache-camel-1.1.0.jar
+org.apache.camel/jars/camel-activemq-1.1.0.jar
+org.apache.camel/jars/camel-bam-1.1.0.jar
+org.apache.camel/jars/camel-core-1.1.0-tests.jar
+org.apache.camel/jars/camel-core-1.1.0.jar
+org.apache.camel/jars/camel-cxf-1.1.0.jar
+org.apache.camel/jars/camel-example-bam-1.1.0.jar
+org.apache.camel/jars/camel-example-etl-1.1.0.jar
+org.apache.camel/jars/camel-example-jms-file-1.1.0.jar
+org.apache.camel/jars/camel-ftp-1.1.0.jar
+org.apache.camel/jars/camel-example-spring-1.1.0.jar
+org.apache.camel/jars/camel-http-1.1.0.jar
+org.apache.camel/jars/camel-irc-1.1.0.jar
+org.apache.camel/jars/camel-jaxb-1.1.0.jar
+org.apache.camel/jars/camel-jing-1.1.0.jar
+org.apache.camel/jars/camel-jms-1.1.0.jar
+org.apache.camel/jars/camel-josql-1.1.0.jar
+org.apache.camel/jars/camel-jpa-1.1.0.jar
+org.apache.camel/jars/camel-juel-1.1.0.jar
+org.apache.camel/jars/camel-mail-1.1.0.jar
+org.apache.camel/jars/camel-mina-1.1.0.jar
+org.apache.camel/jars/camel-msv-1.1.0.jar
+org.apache.camel/jars/camel-ognl-1.1.0.jar
+org.apache.camel/jars/camel-quartz-1.1.0.jar
+org.apache.camel/jars/camel-rmi-1.1.0.jar
+org.apache.camel/jars/camel-router-1.1.0.jar
+org.apache.camel/jars/camel-saxon-1.1.0.jar
+org.apache.camel/jars/camel-script-1.1.0.jar
+org.apache.camel/jars/camel-spring-1.1.0-tests.jar
+org.apache.camel/jars/camel-spring-1.1.0.jar
+org.apache.camel/jars/camel-xmpp-1.1.0.jar
+org.apache.camel/tar.gzs/apache-camel-1.0.0-src.tar.gz
+org.apache.camel/tar.gzs/apache-camel-1.0.0.tar.gz
+org.apache.camel/tar.gzs/apache-camel-1.1.0-src.tar.gz
+org.apache.camel/tar.gzs/apache-camel-1.1.0.tar.gz
+org.apache.camel/xsds/camel-spring-1.0.0.xsd
+org.apache.camel/xsds/camel-spring-1.1.0.xsd
+org.apache.camel/zips/apache-camel-1.0.0-src.zip
+org.apache.camel/zips/apache-camel-1.0.0.zip
+org.apache.camel/zips/apache-camel-1.1.0-src.zip
+org.apache.camel/zips/apache-camel-1.1.0.zip
+org.apache.xmlbeans/jars/xmlbeans-2.3.0.jar
+org.apache.xmlbeans/jars/xmlbeans-xmlpublic-2.3.0.jar
+org.apache.xmlbeans/jars/xmlbeans-qname-2.3.0.jar
+org.apache.xmlbeans/jars/xmlbeans-2.2.0.jar
+org.apache.xmlbeans/jars/xmlbeans-xmlpublic-2.2.0.jar
+org.apache.xmlbeans/jars/xmlbeans-xpath-2.3.0.jar
+org.apache.xmlbeans/jars/xmlbeans-xpath-2.2.0.jar
+org.apache.xmlbeans/poms/xmlbeans-2.2.0.pom
+org.apache.xmlbeans/poms/xmlbeans-2.3.0.pom
+org.apache.xmlbeans/poms/xmlbeans-xpath-2.3.0.pom
+org.apache.xmlbeans/poms/xmlbeans-xmlpublic-2.2.0.pom
+org.apache.xmlbeans/poms/xmlbeans-xmlpublic-2.3.0.pom
+org.apache.xmlbeans/poms/xmlbeans-xpath-2.2.0.pom
+org.apache.xmlbeans/poms/xmlbeans-qname-2.3.0.pom
+org.apache.poi.DELETE/poms/poi-3.0-FINAL.pom
diff --git a/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/content/RepositoryRequestTest.xml b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/content/RepositoryRequestTest.xml
new file mode 100644
index 000000000..1d099487e
--- /dev/null
+++ b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/content/RepositoryRequestTest.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ ~ 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.
+ -->
+
+<component-set>
+ <components>
+ <component>
+ <role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role>
+ <implementation>org.apache.maven.archiva.configuration.DefaultArchivaConfiguration</implementation>
+ <requirements>
+ <requirement>
+ <role>org.codehaus.plexus.registry.Registry</role>
+ <role-hint>configured</role-hint>
+ </requirement>
+ </requirements>
+ </component>
+ <component>
+ <role>org.codehaus.plexus.registry.Registry</role>
+ <role-hint>configured</role-hint>
+ <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation>
+ <configuration>
+ <properties>
+ <system/>
+ <xml fileName="${basedir}/src/test/resources/scanner-archiva.xml"
+ config-name="org.apache.maven.archiva" config-at="org.apache.maven.archiva"/>
+ </properties>
+ </configuration>
+ </component>
+ </components>
+
+</component-set>
diff --git a/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml
index cbb36db8b..5776d2ac0 100644
--- a/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml
+++ b/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/metadata/MetadataToolsTest.xml
@@ -31,10 +31,6 @@
<description>MetadataTools</description>
<requirements>
<requirement>
- <role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</role>
- <field-name>layoutFactory</field-name>
- </requirement>
- <requirement>
<role>org.apache.maven.archiva.configuration.FileTypes</role>
<field-name>filetypes</field-name>
</requirement>