You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2009/03/19 14:48:55 UTC

svn commit: r755995 - /archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java

Author: brett
Date: Thu Mar 19 13:48:54 2009
New Revision: 755995

URL: http://svn.apache.org/viewvc?rev=755995&view=rev
Log:
clean up method calling

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=755995&r1=755994&r2=755995&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java Thu Mar 19 13:48:54 2009
@@ -199,8 +199,8 @@
             else
             {
                 resource =
-                    processRepositoryGroup( locator, request, archivaLocator, repoGroupConfig.getRepositories(),
-                                            activePrincipal, readMethod, resourcesInAbsolutePath );
+                    processRepositoryGroup( request, archivaLocator, repoGroupConfig.getRepositories(),
+                                            activePrincipal, resourcesInAbsolutePath );
             }
         }
         else
@@ -221,12 +221,10 @@
                 throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
             }
 
-            resource =
-                processRepository( locator, request, archivaLocator, readMethod, activePrincipal,
-                                   archivaLocator.getRepositoryId(), managedRepository );
+            resource = processRepository( request, archivaLocator, activePrincipal, managedRepository );
 
             String logicalResource = RepositoryPathUtil.getLogicalResource( locator.getResourcePath() );
-            resourcesInAbsolutePath.add( managedRepository.getRepoRoot() + logicalResource );
+            resourcesInAbsolutePath.add( new File( managedRepository.getRepoRoot(), logicalResource ).getAbsolutePath() );
         }
 
         String requestedResource = request.getRequestURI();
@@ -329,10 +327,9 @@
         return resource;
     }
 
-    private DavResource processRepositoryGroup( final DavResourceLocator locator, final DavServletRequest request,
+    private DavResource processRepositoryGroup( final DavServletRequest request,
                                                 ArchivaDavResourceLocator archivaLocator, List<String> repositories,
-                                                String activePrincipal, boolean readMethod,
-                                                List<String> resourcesInAbsolutePath )
+                                                String activePrincipal, List<String> resourcesInAbsolutePath )
         throws DavException
     {
         DavResource resource = null;
@@ -357,16 +354,15 @@
 
             try
             {
-                DavResource resource1 =
-                    processRepository( locator, request, archivaLocator, readMethod, activePrincipal, repositoryId,
-                                       managedRepository );
+                DavResource updatedResource =
+                    processRepository( request, archivaLocator, activePrincipal, managedRepository );
                 if ( resource == null )
                 {
-                    resource = resource1;
+                    resource = updatedResource;
                 }
 
-                String logicalResource = RepositoryPathUtil.getLogicalResource( locator.getResourcePath() );
-                resourcesInAbsolutePath.add( managedRepository.getRepoRoot() + logicalResource );
+                String logicalResource = RepositoryPathUtil.getLogicalResource( archivaLocator.getResourcePath() );
+                resourcesInAbsolutePath.add( new File( managedRepository.getRepoRoot(), logicalResource ).getAbsolutePath() );
             }
             catch ( DavException e )
             {
@@ -388,17 +384,15 @@
         return resource;
     }
 
-    private DavResource processRepository( final DavResourceLocator locator, final DavServletRequest request,
-                                           ArchivaDavResourceLocator archivaLocator, boolean readMethod,
-                                           String activePrincipal, String repositoryId,
-                                           ManagedRepositoryContent managedRepository )
+    private DavResource processRepository( final DavServletRequest request, ArchivaDavResourceLocator archivaLocator,
+                                           String activePrincipal, ManagedRepositoryContent managedRepository )
         throws DavException
     {
         DavResource resource = null;
-        if ( isAuthorized( request, repositoryId ) )
+        if ( isAuthorized( request, managedRepository.getId() ) )
         {
             LogicalResource logicalResource =
-                new LogicalResource( RepositoryPathUtil.getLogicalResource( locator.getResourcePath() ) );
+                new LogicalResource( RepositoryPathUtil.getLogicalResource( archivaLocator.getResourcePath() ) );
 
             File resourceFile = new File( managedRepository.getRepoRoot(), logicalResource.getPath() );
             resource =
@@ -407,7 +401,7 @@
                                         request.getDavSession(), archivaLocator, this, mimeTypes, auditListeners,
                                         consumers );
 
-            if ( readMethod )
+            if ( WebdavMethodUtil.isReadMethod( request.getMethod() ) )
             {
                 if ( archivaLocator.getHref( false ).endsWith( "/" ) && !resourceFile.isDirectory() )
                 {
@@ -438,22 +432,21 @@
                                                         activePrincipal, request.getDavSession(), archivaLocator, this,
                                                         mimeTypes, auditListeners, consumers );
                         }
-                        catch ( LayoutException e1 )
+                        catch ( LayoutException e )
                         {
                             if ( !resourceFile.exists() )
                             {
-                                throw new DavException( HttpServletResponse.SC_NOT_FOUND, e1 );
+                                throw new DavException( HttpServletResponse.SC_NOT_FOUND, e );
                             }
                         }
 
                         if ( fromProxy )
                         {
-                            String repositoryId1 = archivaLocator.getRepositoryId();
                             String event =
                                 ( previouslyExisted ? AuditEvent.MODIFY_FILE : AuditEvent.CREATE_FILE )
                                     + PROXIED_SUFFIX;
-                            triggerAuditEvent( request.getRemoteAddr(), repositoryId1, logicalResource.getPath(),
-                                               event, activePrincipal );
+                            triggerAuditEvent( request.getRemoteAddr(), archivaLocator.getRepositoryId(),
+                                               logicalResource.getPath(), event, activePrincipal );
                         }
 
                         if ( !resourceFile.exists() )
@@ -522,24 +515,25 @@
                                              LogicalResource resource )
         throws DavException
     {
-        if ( repositoryRequest.isSupportFile( resource.getPath() ) )
+        String path = resource.getPath();
+        if ( repositoryRequest.isSupportFile( path ) )
         {
-            File proxiedFile = connectors.fetchFromProxies( managedRepository, resource.getPath() );
+            File proxiedFile = connectors.fetchFromProxies( managedRepository, path );
 
             return ( proxiedFile != null );
         }
 
         // Is it a Metadata resource?
-        if ( repositoryRequest.isDefault( resource.getPath() ) && repositoryRequest.isMetadata( resource.getPath() ) )
+        if ( repositoryRequest.isDefault( path ) && repositoryRequest.isMetadata( path ) )
         {
-            return connectors.fetchMetatadaFromProxies( managedRepository, resource.getPath() ) != null;
+            return connectors.fetchMetatadaFromProxies( managedRepository, path ) != null;
         }
 
         // Not any of the above? Then it's gotta be an artifact reference.
         try
         {
             // Get the artifact reference in a layout neutral way.
-            ArtifactReference artifact = repositoryRequest.toArtifactReference( resource.getPath() );
+            ArtifactReference artifact = repositoryRequest.toArtifactReference( path );
 
             if ( artifact != null )
             {