You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jd...@apache.org on 2008/06/25 05:55:28 UTC
svn commit: r671411 - in /archiva/sandbox/new-repository-api: ./
src/main/java/org/apache/archiva/repository/
src/main/java/org/apache/archiva/repository/filesystem/
Author: jdumay
Date: Tue Jun 24 20:55:27 2008
New Revision: 671411
URL: http://svn.apache.org/viewvc?rev=671411&view=rev
Log:
Adding the ability to list a resource in a repository
Modified:
archiva/sandbox/new-repository-api/pom.xml
archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/Repository.java
archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/ResourceRepository.java
archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/filesystem/FileSystemRepositoryBackend.java
Modified: archiva/sandbox/new-repository-api/pom.xml
URL: http://svn.apache.org/viewvc/archiva/sandbox/new-repository-api/pom.xml?rev=671411&r1=671410&r2=671411&view=diff
==============================================================================
--- archiva/sandbox/new-repository-api/pom.xml (original)
+++ archiva/sandbox/new-repository-api/pom.xml Tue Jun 24 20:55:27 2008
@@ -1,23 +1,35 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.archiva.repository</groupId>
- <artifactId>archiva-repository</artifactId>
- <packaging>jar</packaging>
- <version>1.0-SNAPSHOT</version>
- <name>archiva-repository</name>
- <url>http://maven.apache.org</url>
- <dependencies>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.4</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.archiva.repository</groupId>
+ <artifactId>archiva-repository-future</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>archiva-repository</name>
+ <url>http://maven.apache.org</url>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Modified: archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/Repository.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/Repository.java?rev=671411&r1=671410&r2=671411&view=diff
==============================================================================
--- archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/Repository.java (original)
+++ archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/Repository.java Tue Jun 24 20:55:27 2008
@@ -31,4 +31,7 @@
public void writeStream(ResourceContext context, InputStream is)
throws RepositoryWriteException;
+
+ public String[] listResources(ResourceContext context)
+ throws RepositoryReadException;
}
Modified: archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/ResourceRepository.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/ResourceRepository.java?rev=671411&r1=671410&r2=671411&view=diff
==============================================================================
--- archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/ResourceRepository.java (original)
+++ archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/ResourceRepository.java Tue Jun 24 20:55:27 2008
@@ -47,23 +47,9 @@
sourceRepository.writeStream(context, is);
}
- public RepositoryProxyManager getProxyManager()
+ public String[] listResources(ResourceContext context)
+ throws RepositoryReadException
{
- return proxyManager;
- }
-
- public void setProxyManager(RepositoryProxyManager proxyManager)
- {
- this.proxyManager = proxyManager;
- }
-
- public Repository getSourceRepository()
- {
- return sourceRepository;
- }
-
- public void setRepositorySource(Repository sourceRepository)
- {
- this.sourceRepository = sourceRepository;
+ return sourceRepository.listResources(context);
}
}
Modified: archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/filesystem/FileSystemRepositoryBackend.java
URL: http://svn.apache.org/viewvc/archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/filesystem/FileSystemRepositoryBackend.java?rev=671411&r1=671410&r2=671411&view=diff
==============================================================================
--- archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/filesystem/FileSystemRepositoryBackend.java (original)
+++ archiva/sandbox/new-repository-api/src/main/java/org/apache/archiva/repository/filesystem/FileSystemRepositoryBackend.java Tue Jun 24 20:55:27 2008
@@ -89,6 +89,25 @@
IOUtils.closeQuietly(os);
}
}
+
+ public String[] listResources(ResourceContext context)
+ throws RepositoryReadException
+ {
+ File directory = getFileForContext(context);
+ if (!directory.exists())
+ {
+ throw new RepositoryReadException(directory.getAbsolutePath() + " does not exist");
+ }
+
+ if (!directory.isDirectory() && directory.isFile())
+ {
+ throw new RepositoryReadException("Listing resources at "
+ + directory.getAbsolutePath()
+ + " failed as resource is a file, not a directory.");
+ }
+
+ return directory.list();
+ }
private File getFileForContext(ResourceContext context)
{