Return-Path: X-Original-To: apmail-archiva-commits-archive@www.apache.org Delivered-To: apmail-archiva-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C5ECE1130E for ; Wed, 21 May 2014 04:31:17 +0000 (UTC) Received: (qmail 95468 invoked by uid 500); 21 May 2014 04:31:17 -0000 Delivered-To: apmail-archiva-commits-archive@archiva.apache.org Received: (qmail 95325 invoked by uid 500); 21 May 2014 04:31:17 -0000 Mailing-List: contact commits-help@archiva.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@archiva.apache.org Delivered-To: mailing list commits@archiva.apache.org Received: (qmail 95242 invoked by uid 99); 21 May 2014 04:31:17 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 May 2014 04:31:17 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 6049899B413; Wed, 21 May 2014 04:31:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: olamy@apache.org To: commits@archiva.apache.org Date: Wed, 21 May 2014 04:31:19 -0000 Message-Id: <4f37c935d2fa47878ce0cdb0a51fd761@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [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 Authored: Tue May 20 17:15:45 2014 +1000 Committer: Olivier Lamy 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 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> 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> 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 ) {