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 2009/02/24 05:58:54 UTC
svn commit: r747276 - in /archiva/branches/archiva-with-new-repoapi: ./
archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/
archiva-modules/archiva-base/archiva-repository/src/main/java/org/...
Author: jdumay
Date: Tue Feb 24 04:58:54 2009
New Revision: 747276
URL: http://svn.apache.org/viewvc?rev=747276&view=rev
Log:
Stream metadata merge operations for repo groups
Modified:
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataReader.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/GroupRepositoryManager.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-xml-tools/src/main/java/org/apache/maven/archiva/xml/XMLReader.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/BypassSecuritySystem.java
archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/ (props changed)
archiva/branches/archiva-with-new-repoapi/pom.xml
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java?rev=747276&r1=747275&r2=747276&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/MetadataTools.java Tue Feb 24 04:58:54 2009
@@ -66,6 +66,7 @@
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
+import org.apache.archiva.repository.api.Repository;
import org.apache.commons.io.FileUtils;
/**
@@ -371,7 +372,7 @@
}
}
- public ArchivaRepositoryMetadata readProxyMetadata( ManagedRepositoryContent managedRepository,
+ public ArchivaRepositoryMetadata readProxyMetadata( Repository managedRepository,
String logicalResource, String proxyId )
{
String metadataPath = getRepositorySpecificName( proxyId, logicalResource );
@@ -421,7 +422,7 @@
}
}
- public void updateMetadata( ManagedRepositoryContent managedRepository, String logicalResource) throws RepositoryMetadataException
+ public void updateMetadata( Repository managedRepository, String logicalResource) throws RepositoryMetadataException
{
final File metadataFile = new File(managedRepository.getLocalPath(), logicalResource);
ArchivaRepositoryMetadata metadata = null;
@@ -489,7 +490,7 @@
return result;
}
- private List<ArchivaRepositoryMetadata> getMetadatasForManagedRepository( ManagedRepositoryContent managedRepository, String logicalResource )
+ private List<ArchivaRepositoryMetadata> getMetadatasForManagedRepository( Repository managedRepository, String logicalResource )
{
List<ArchivaRepositoryMetadata> metadatas = new ArrayList<ArchivaRepositoryMetadata>();
File file = new File(managedRepository.getLocalPath(), logicalResource);
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataReader.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataReader.java?rev=747276&r1=747275&r2=747276&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataReader.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/metadata/RepositoryMetadataReader.java Tue Feb 24 04:58:54 2009
@@ -28,6 +28,7 @@
import org.dom4j.Element;
import java.io.File;
+import java.io.InputStream;
import java.util.Date;
/**
@@ -50,48 +51,74 @@
try
{
XMLReader xml = new XMLReader( "metadata", metadataFile );
+ return getArchivaRepositoryMetadata(xml);
+ }
+ catch (XMLException e)
+ {
+ throw new RepositoryMetadataException( e.getMessage(), e );
+ }
+ }
- ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
+ /**
+ * Read and return the {@link ArchivaRepositoryMetadata} object from the provided xml stream.
+ *
+ * @param inputStream InputStream to the maven-metadata.xml file to read.
+ * @return the archiva repository metadata object that represents the provided file contents.
+ * @throws RepositoryMetadataException
+ */
+ public static ArchivaRepositoryMetadata read( InputStream inputStream )
+ throws RepositoryMetadataException
+ {
+ try
+ {
+ XMLReader xml = new XMLReader( "metadata", inputStream );
+ return getArchivaRepositoryMetadata(xml);
+ }
+ catch (XMLException e)
+ {
+ throw new RepositoryMetadataException( e.getMessage(), e );
+ }
+ }
- metadata.setGroupId( xml.getElementText( "//metadata/groupId" ) );
- metadata.setArtifactId( xml.getElementText( "//metadata/artifactId" ) );
- metadata.setVersion( xml.getElementText( "//metadata/version" ) );
- metadata.setFileLastModified( new Date( metadataFile.lastModified() ) );
- metadata.setFileSize( metadataFile.length() );
- metadata.setWhenIndexed( null );
-
- metadata.setLastUpdated( xml.getElementText( "//metadata/versioning/lastUpdated" ) );
- metadata.setLatestVersion( xml.getElementText( "//metadata/versioning/latest" ) );
- metadata.setReleasedVersion( xml.getElementText( "//metadata/versioning/release" ) );
- metadata.setAvailableVersions( xml.getElementListText( "//metadata/versioning/versions/version" ) );
+ private static ArchivaRepositoryMetadata getArchivaRepositoryMetadata(XMLReader xml)
+ throws XMLException
+ {
+ ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
- Element snapshotElem = xml.getElement( "//metadata/versioning/snapshot" );
- if ( snapshotElem != null )
- {
- SnapshotVersion snapshot = new SnapshotVersion();
- snapshot.setTimestamp( snapshotElem.elementTextTrim( "timestamp" ) );
- String tmp = snapshotElem.elementTextTrim( "buildNumber" );
- if( NumberUtils.isNumber( tmp ))
- {
- snapshot.setBuildNumber( NumberUtils.toInt( tmp ) );
- }
- metadata.setSnapshotVersion( snapshot );
- }
+ metadata.setGroupId( xml.getElementText( "//metadata/groupId" ) );
+ metadata.setArtifactId( xml.getElementText( "//metadata/artifactId" ) );
+ metadata.setVersion( xml.getElementText( "//metadata/version" ) );
+// metadata.setFileLastModified( new Date( metadataFile.lastModified() ) );
+// metadata.setFileSize( metadataFile.length() );
+ metadata.setWhenIndexed( null );
+
+ metadata.setLastUpdated( xml.getElementText( "//metadata/versioning/lastUpdated" ) );
+ metadata.setLatestVersion( xml.getElementText( "//metadata/versioning/latest" ) );
+ metadata.setReleasedVersion( xml.getElementText( "//metadata/versioning/release" ) );
+ metadata.setAvailableVersions( xml.getElementListText( "//metadata/versioning/versions/version" ) );
- for ( Element plugin : xml.getElementList( "//metadata/plugins/plugin" ) )
+ Element snapshotElem = xml.getElement( "//metadata/versioning/snapshot" );
+ if ( snapshotElem != null )
+ {
+ SnapshotVersion snapshot = new SnapshotVersion();
+ snapshot.setTimestamp( snapshotElem.elementTextTrim( "timestamp" ) );
+ String tmp = snapshotElem.elementTextTrim( "buildNumber" );
+ if( NumberUtils.isNumber( tmp ))
{
- Plugin p = new Plugin();
- p.setPrefix( plugin.elementTextTrim( "prefix" ) );
- p.setArtifactId( plugin.elementTextTrim( "artifactId" ) );
- p.setName( plugin.elementTextTrim( "name" ) );
- metadata.addPlugin( p );
+ snapshot.setBuildNumber( NumberUtils.toInt( tmp ) );
}
-
- return metadata;
+ metadata.setSnapshotVersion( snapshot );
}
- catch ( XMLException e )
+
+ for ( Element plugin : xml.getElementList( "//metadata/plugins/plugin" ) )
{
- throw new RepositoryMetadataException( e.getMessage(), e );
+ Plugin p = new Plugin();
+ p.setPrefix( plugin.elementTextTrim( "prefix" ) );
+ p.setArtifactId( plugin.elementTextTrim( "artifactId" ) );
+ p.setName( plugin.elementTextTrim( "name" ) );
+ metadata.addPlugin( p );
}
+
+ return metadata;
}
}
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/GroupRepositoryManager.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/GroupRepositoryManager.java?rev=747276&r1=747275&r2=747276&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/GroupRepositoryManager.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/java/org/apache/archiva/repository/GroupRepositoryManager.java Tue Feb 24 04:58:54 2009
@@ -19,8 +19,16 @@
* under the License.
*/
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.CharArrayWriter;
+import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@@ -28,27 +36,50 @@
import org.apache.archiva.repository.api.InvalidOperationException;
import org.apache.archiva.repository.api.MutableResourceContext;
import org.apache.archiva.repository.api.RepositoryManager;
+import org.apache.archiva.repository.api.RepositoryManagerException;
import org.apache.archiva.repository.api.RepositoryManagerWeight;
import org.apache.archiva.repository.api.ResourceContext;
import org.apache.archiva.repository.api.Status;
import org.apache.archiva.repository.api.SystemRepositoryManager;
+import org.apache.commons.codec.digest.DigestUtils;
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import org.apache.maven.archiva.configuration.RepositoryGroupConfiguration;
+import org.apache.maven.archiva.model.ArchivaRepositoryMetadata;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.apache.maven.archiva.repository.content.RepositoryRequest;
+import org.apache.maven.archiva.repository.metadata.MetadataTools;
+import org.apache.maven.archiva.repository.metadata.RepositoryMetadataException;
+import org.apache.maven.archiva.repository.metadata.RepositoryMetadataMerge;
+import org.apache.maven.archiva.repository.metadata.RepositoryMetadataReader;
+import org.apache.maven.archiva.repository.metadata.RepositoryMetadataWriter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@RepositoryManagerWeight(400)
public class GroupRepositoryManager implements RepositoryManager
{
+ private static final Logger log = LoggerFactory.getLogger(GroupRepositoryManager.class);
+
private final ArchivaConfiguration archivaConfiguration;
private final RepositoryManager proxyRepositoryManager;
private final SystemRepositoryManager systemRepositoryManager;
- public GroupRepositoryManager(ArchivaConfiguration archivaConfiguration, RepositoryManager proxyRepositoryManager, SystemRepositoryManager systemRepositoryManager)
+ private final LegacyRepositoryManager legacyRepositoryManager;
+
+ private final RepositoryRequest repositoryRequest;
+
+ private final MetadataTools metadataTools;
+
+ public GroupRepositoryManager(ArchivaConfiguration archivaConfiguration, RepositoryManager proxyRepositoryManager, SystemRepositoryManager systemRepositoryManager, LegacyRepositoryManager legacyRepositoryManager, RepositoryRequest repositoryRequest, MetadataTools metadataTools)
{
this.archivaConfiguration = archivaConfiguration;
this.proxyRepositoryManager = proxyRepositoryManager;
this.systemRepositoryManager = systemRepositoryManager;
+ this.legacyRepositoryManager = legacyRepositoryManager;
+ this.repositoryRequest = repositoryRequest;
+ this.metadataTools = metadataTools;
}
public boolean exists(String repositoryId)
@@ -67,19 +98,90 @@
public boolean read(ResourceContext context, OutputStream os)
{
- final RepositoryGroupConfiguration groupConfiguration = getGroupConfiguration(context.getRepositoryId());
- for (String repositoryId : groupConfiguration.getRepositories() )
+ if (!isMetadataRequest(context))
{
- final MutableResourceContext resourceContext = new MutableResourceContext(context);
- resourceContext.setRepositoryId(repositoryId);
- if (systemRepositoryManager.read(context, os))
+ final RepositoryGroupConfiguration groupConfiguration = getGroupConfiguration(context.getRepositoryId());
+ for (final String repositoryId : groupConfiguration.getRepositories() )
+ {
+ final MutableResourceContext resourceContext = new MutableResourceContext(context);
+ resourceContext.setRepositoryId(repositoryId);
+ if (systemRepositoryManager.read(context, os))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ else if (isProjectReference(context.getLogicalPath()))
+ {
+ final RepositoryGroupConfiguration groupConfiguration = getGroupConfiguration(context.getRepositoryId());
+ ArchivaRepositoryMetadata mainMetadata = null;
+ for (final String repositoryId : groupConfiguration.getRepositories() )
+ {
+ final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ final MutableResourceContext resourceContext = new MutableResourceContext(context);
+ resourceContext.setRepositoryId(repositoryId);
+
+ if (systemRepositoryManager.read(context, baos))
+ {
+ try
+ {
+ ArchivaRepositoryMetadata metadata = RepositoryMetadataReader.read(new ByteArrayInputStream(baos.toByteArray()));
+ if (metadata != null && mainMetadata != null)
+ {
+ mainMetadata = RepositoryMetadataMerge.merge(mainMetadata, metadata);
+ }
+ else if (metadata != null && mainMetadata == null)
+ {
+ mainMetadata = metadata;
+ }
+ }
+ catch (RepositoryMetadataException e)
+ {
+ log.error("Could not merge " + resourceContext.getLogicalPath() + "from repository " + context.getRepositoryId(), e);
+ }
+ }
+ }
+
+ try
{
+ final OutputStreamWriter writer = new OutputStreamWriter(os);
+ if (context.getLogicalPath().endsWith(".md5"))
+ {
+ writer.write(DigestUtils.md5Hex(getMetadataAsByteArray(mainMetadata)));
+ }
+ else if (context.getLogicalPath().endsWith(".sha1"))
+ {
+ writer.write(DigestUtils.shaHex(getMetadataAsByteArray(mainMetadata)));
+ }
+ else
+ {
+ RepositoryMetadataWriter.write(mainMetadata, writer);
+ }
+ writer.flush();
return true;
}
+ catch (IOException e)
+ {
+ throw new RepositoryManagerException("Could complete request in repository " + context.getRepositoryId() + " for " + context.getLogicalPath(), e);
+ }
+ catch (RepositoryMetadataException e)
+ {
+ throw new RepositoryManagerException("Could complete request in repository " + context.getRepositoryId() + " for " + context.getLogicalPath(), e);
+ }
}
return false;
}
+ private byte[] getMetadataAsByteArray(ArchivaRepositoryMetadata metadata)
+ throws RepositoryMetadataException
+ {
+ final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ final OutputStreamWriter writer = new OutputStreamWriter(baos);
+ RepositoryMetadataWriter.write(metadata, writer);
+ return baos.toByteArray();
+ }
+
public boolean write(ResourceContext context, InputStream is)
{
throw new InvalidOperationException("Repository Groups are not writable: " + context.getRepositoryId());
@@ -102,10 +204,18 @@
}
else
{
- rc = systemRepositoryManager.handles(resourceContext);
+ rc = legacyRepositoryManager.handles(resourceContext);
if (rc != null)
{
- addStatResultToMap(statusMap, rc, systemRepositoryManager);
+ addStatResultToMap(statusMap, rc, proxyRepositoryManager);
+ }
+ else
+ {
+ rc = systemRepositoryManager.handles(resourceContext);
+ if (rc != null)
+ {
+ addStatResultToMap(statusMap, rc, systemRepositoryManager);
+ }
}
}
}
@@ -124,4 +234,22 @@
{
return archivaConfiguration.getConfiguration().getRepositoryGroupsAsMap().get( repositoryId );
}
+
+ private boolean isMetadataRequest(ResourceContext context)
+ {
+ return repositoryRequest.isMetadata(context.getLogicalPath()) && context.getLogicalPath().endsWith( "metadata.xml.sha1" ) && context.getLogicalPath().endsWith( "metadata.xml.md5" );
+ }
+
+ private boolean isProjectReference( String requestedResource )
+ {
+ try
+ {
+ metadataTools.toVersionedReference( requestedResource );
+ return false;
+ }
+ catch ( RepositoryMetadataException re )
+ {
+ return true;
+ }
+ }
}
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml?rev=747276&r1=747275&r2=747276&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-repository/src/main/resources/META-INF/spring-context.xml Tue Feb 24 04:58:54 2009
@@ -22,6 +22,9 @@
<constructor-arg ref="archivaConfiguration"/>
<constructor-arg ref="proxyRepositoryManager"/>
<constructor-arg ref="systemRepositoryManager"/>
+ <constructor-arg ref="legacyRepositoryManager"/>
+ <constructor-arg ref="repositoryRequest"/>
+ <constructor-arg ref="metadataTools"/>
</bean>
<bean name="repositoryManagerFactory" class="org.apache.archiva.repository.DefaultRepositoryManagerFactory" lazy-init="true"/>
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-xml-tools/src/main/java/org/apache/maven/archiva/xml/XMLReader.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-xml-tools/src/main/java/org/apache/maven/archiva/xml/XMLReader.java?rev=747276&r1=747275&r2=747276&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-xml-tools/src/main/java/org/apache/maven/archiva/xml/XMLReader.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-base/archiva-xml-tools/src/main/java/org/apache/maven/archiva/xml/XMLReader.java Tue Feb 24 04:58:54 2009
@@ -35,6 +35,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@@ -50,14 +51,25 @@
*/
public class XMLReader
{
- private URL xmlUrl;
-
private String documentType;
private Document document;
private Map<String, String> namespaceMap = new HashMap<String, String>();
+ public XMLReader( String type, InputStream inputStream )
+ throws XMLException
+ {
+ try
+ {
+ init(type, inputStream);
+ }
+ catch (DocumentException e)
+ {
+ throw new XMLException( "Unable to parse " + documentType + "from stream: " + e.getMessage(), e );
+ }
+ }
+
public XMLReader( String type, File file )
throws XMLException
{
@@ -95,26 +107,36 @@
private void init( String type, URL url )
throws XMLException
{
- this.documentType = type;
- this.xmlUrl = url;
+ try
+ {
+ init(type, url.openStream());
+ }
+ catch ( IOException e )
+ {
+ throw new XMLException( "Unable to open stream to " + url + ": " + e.getMessage(), e );
+ }
+ catch ( DocumentException e )
+ {
+ throw new XMLException( "Unable to parse " + documentType + " xml " + url + ": " + e.getMessage(), e );
+ }
+ }
- InputStream in = null;
+ private void init ( String type, InputStream in )
+ throws XMLException, DocumentException
+ {
+ this.documentType = type;
+
SAXReader reader = new SAXReader();
try
{
- in = url.openStream();
InputStreamReader inReader = new InputStreamReader( in, "UTF-8" );
LatinEntityResolutionReader latinReader = new LatinEntityResolutionReader( inReader );
this.document = reader.read( latinReader );
}
- catch ( DocumentException e )
+ catch ( UnsupportedEncodingException e)
{
- throw new XMLException( "Unable to parse " + documentType + " xml " + xmlUrl + ": " + e.getMessage(), e );
- }
- catch ( IOException e )
- {
- throw new XMLException( "Unable to open stream to " + url + ": " + e.getMessage(), e );
+ throw new XMLException(e.getMessage(), e);
}
finally
{
Modified: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/BypassSecuritySystem.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/BypassSecuritySystem.java?rev=747276&r1=747275&r2=747276&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/BypassSecuritySystem.java (original)
+++ archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-repository-servlet/src/test/java/org/apache/archiva/web/servlet/BypassSecuritySystem.java Tue Feb 24 04:58:54 2009
@@ -60,7 +60,8 @@
bypassPolicy = new DefaultUserSecurityPolicy();
bypassUserManager = new MemoryUserManager();
}
-
+
+ @Override
public SecuritySession authenticate( AuthenticationDataSource source )
throws AuthenticationException, UserNotFoundException, AccountLockedException
{
@@ -68,48 +69,57 @@
return new DefaultSecuritySession( result );
}
+ @Override
public AuthorizationResult authorize( SecuritySession session, Object permission )
throws AuthorizationException
{
return new AuthorizationResult( true, session.getUser(), null );
}
+ @Override
public AuthorizationResult authorize( SecuritySession session, Object permission, Object resource )
throws AuthorizationException
{
return new AuthorizationResult( true, session.getUser(), null );
}
+ @Override
public String getAuthenticatorId()
{
return "bypass-authenticator";
}
+ @Override
public String getAuthorizerId()
{
return "bypass-authorizer";
}
+ @Override
public KeyManager getKeyManager()
{
return bypassKeyManager;
}
+ @Override
public UserSecurityPolicy getPolicy()
{
return bypassPolicy;
}
+ @Override
public String getUserManagementId()
{
return "bypass-managementid";
}
+ @Override
public UserManager getUserManager()
{
return bypassUserManager;
}
+ @Override
public boolean isAuthenticated( AuthenticationDataSource source )
throws AuthenticationException, UserNotFoundException, AccountLockedException
{
@@ -117,6 +127,7 @@
return true;
}
+ @Override
public boolean isAuthorized( SecuritySession session, Object permission )
throws AuthorizationException
{
@@ -124,6 +135,7 @@
return true;
}
+ @Override
public boolean isAuthorized( SecuritySession session, Object permission, Object resource )
throws AuthorizationException
{
Propchange: archiva/branches/archiva-with-new-repoapi/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Feb 24 04:58:54 2009
@@ -2,3 +2,4 @@
.classpath
.project
.settings
+nbproject
Modified: archiva/branches/archiva-with-new-repoapi/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-with-new-repoapi/pom.xml?rev=747276&r1=747275&r2=747276&view=diff
==============================================================================
--- archiva/branches/archiva-with-new-repoapi/pom.xml (original)
+++ archiva/branches/archiva-with-new-repoapi/pom.xml Tue Feb 24 04:58:54 2009
@@ -620,6 +620,11 @@
<version>1.0-alpha-22</version>
</dependency>
<dependency>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcprov-jdk15</artifactId>
+ <version>140</version>
+</dependency>
+ <dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-digest</artifactId>
<version>1.1</version>