You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2014/05/21 06:31:19 UTC

[3/8] git commit: more cleanup and fix a TODO :-)

more cleanup and fix a TODO :-)


Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/511858d4
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/511858d4
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/511858d4

Branch: refs/heads/master
Commit: 511858d4ab738b77aaefec9b752f513e3148c1ad
Parents: 2c09abc
Author: Olivier Lamy <ol...@apache.org>
Authored: Tue May 20 17:15:45 2014 +1000
Committer: Olivier Lamy <ol...@apache.org>
Committed: Tue May 20 17:15:45 2014 +1000

----------------------------------------------------------------------
 .../rest/services/AbstractRestService.java      | 27 +++++++++++++--
 .../rest/services/DefaultSearchService.java     | 35 +-------------------
 2 files changed, 25 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva/blob/511858d4/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
index 3b43fbc..b366e44 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java
@@ -22,6 +22,7 @@ package org.apache.archiva.rest.services;
 import org.apache.archiva.admin.model.AuditInformation;
 import org.apache.archiva.admin.model.RepositoryAdminException;
 import org.apache.archiva.admin.model.admin.ArchivaAdministration;
+import org.apache.archiva.admin.model.beans.ProxyConnector;
 import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
 import org.apache.archiva.admin.model.proxyconnector.ProxyConnectorAdmin;
 import org.apache.archiva.audit.AuditEvent;
@@ -244,7 +245,27 @@ public abstract class AbstractRestService
             // we must replace it with a valid managed one available for the user.
             if ( StringUtils.isEmpty( repositoryId ) )
             {
-                sb.append( '/' ).append( artifact.getContext() );
+                List<String> userRepos = userRepositories.getObservableRepositoryIds( getPrincipal() );
+                // is it a good one? if yes nothing to
+                // if not search the repo who is proxy for this remote
+                if ( !userRepos.contains( artifact.getContext() ) )
+                {
+                    for ( Map.Entry<String, List<ProxyConnector>> entry : proxyConnectorAdmin.getProxyConnectorAsMap().entrySet() )
+                    {
+                        for ( ProxyConnector proxyConnector : entry.getValue() )
+                        {
+                            if ( StringUtils.equals( "remote-" + proxyConnector.getTargetRepoId(),
+                                                     artifact.getContext() ) //
+                                && userRepos.contains( entry.getKey() ) )
+                            {
+                                sb.append( '/' ).append( entry.getKey() );
+                            }
+                        }
+                    }
+
+                }
+
+
             }
             else
             {
@@ -279,7 +300,7 @@ public abstract class AbstractRestService
 
             return sb.toString();
         }
-        catch ( RepositoryAdminException e )
+        catch ( Exception e )
         {
             throw new ArchivaRestServiceException( e.getMessage(),
                                                    Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), e );
@@ -301,7 +322,7 @@ public abstract class AbstractRestService
                         new ArtifactBuilder().forArtifactMetadata( artifact ).withManagedRepositoryContent(
                             repositoryContentFactory.getManagedRepositoryContent( repositoryId ) );
                     Artifact art = builder.build();
-                    art.setUrl( getArtifactUrl( art ) );
+                    art.setUrl( getArtifactUrl( art, repositoryId ) );
                     artifacts.add( art );
                 }
                 return artifacts;

http://git-wip-us.apache.org/repos/asf/archiva/blob/511858d4/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
index c8c4621..f030a3b 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java
@@ -19,7 +19,6 @@ package org.apache.archiva.rest.services;
  * under the License.
  */
 
-import org.apache.archiva.admin.model.beans.ProxyConnector;
 import org.apache.archiva.indexer.search.RepositorySearch;
 import org.apache.archiva.indexer.search.RepositorySearchException;
 import org.apache.archiva.indexer.search.SearchFields;
@@ -44,7 +43,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author Olivier Lamy
@@ -369,40 +367,9 @@ public class DefaultSearchService
                 } ).build();
             }
 
-            String artifactUrl = null;
-
             Artifact artifact = artifacts.get( 0 );
 
-            // we need to configure correctly the repositoryId
-            if ( StringUtils.isEmpty( repositoryId ) )
-            {
-                // is it a good one? if yes nothing to
-                // if not search the repo who is proxy for this remote
-                if ( !userRepos.contains( artifact.getContext() ) )
-                {
-                    for ( Map.Entry<String, List<ProxyConnector>> entry : proxyConnectorAdmin.getProxyConnectorAsMap().entrySet() )
-                    {
-                        for ( ProxyConnector proxyConnector : entry.getValue() )
-                        {
-                            if ( StringUtils.equals( "remote-" + proxyConnector.getTargetRepoId(),
-                                                     artifact.getContext() ) //
-                                && userRepos.contains( entry.getKey() ) )
-                            {
-                                return Response.temporaryRedirect(
-                                    new URI( getArtifactUrl( artifact, entry.getKey() ) ) ).build();
-                            }
-                        }
-                    }
-
-                }
-
-            }
-            else
-            {
-                artifactUrl = getArtifactUrl( artifact, repositoryId );
-            }
-
-            return Response.temporaryRedirect( new URI( artifactUrl ) ).build();
+            return Response.temporaryRedirect( new URI( artifact.getUrl() ) ).build();
         }
         catch ( Exception e )
         {