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>