Skip to content
This repository has been archived by the owner on Aug 11, 2020. It is now read-only.

Commit

Permalink
IN PROGRESS - issue NEXUS-2373: Migrate plugin to nexus 1.4.0
Browse files Browse the repository at this point in the history
https://issues.sonatype.org/browse/NEXUS-2373

git-svn-id: file:///opt/svn/repositories/sonatype.org/nexus-plugins/trunk/nexus-migration-plugin@327 c41184c3-3edd-4803-b646-023156917d6f
  • Loading branch information
velo committed Jul 31, 2009
1 parent 6d2a4ae commit 41a79f0
Show file tree
Hide file tree
Showing 23 changed files with 302 additions and 214 deletions.
76 changes: 51 additions & 25 deletions nexus-migration-plugin-artifactory/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
</parent>

<artifactId>nexus-migration-plugin-artifactory</artifactId>
<packaging>nexus-plugin</packaging>

<name>Nexus Migration Plugin - Artifactory</name>

Expand All @@ -20,28 +21,10 @@
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-rest-api</artifactId>
</dependency>
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-rest-api</artifactId>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-app</artifactId>
<scope>test</scope>
<classifier>tests</classifier>
<version>${nexus.version}</version>
</dependency>

<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>1.0-alpha-10</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
Expand All @@ -54,19 +37,62 @@
<artifactId>nexus-repository-conversion-tool</artifactId>
<version>${nexus.version}</version>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-task-scheduler</artifactId>
</dependency>
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-configuration</artifactId>
</dependency>

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>

<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
</dependency>

<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-rest-api</artifactId>
<version>${nexus.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>test</scope>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-metadata</artifactId>
</plugin>
</plugins>
<plugin>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-metadata</artifactId>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@
import org.restlet.data.Response;
import org.restlet.data.Status;
import org.restlet.resource.ResourceException;
import org.sonatype.jsecurity.realms.tools.dao.SecurityUser;
import org.sonatype.nexus.jsecurity.NexusSecurity;
import org.sonatype.nexus.plugin.migration.artifactory.config.ArtifactoryConfig;
import org.sonatype.nexus.plugin.migration.artifactory.config.ArtifactoryRepository;
import org.sonatype.nexus.plugin.migration.artifactory.config.ArtifactoryVirtualRepository;
Expand All @@ -51,29 +49,30 @@
import org.sonatype.nexus.plugin.migration.artifactory.security.builder.ArtifactorySecurityConfigBuilder;
import org.sonatype.nexus.plugin.migration.artifactory.util.VirtualRepositoryUtil;
import org.sonatype.nexus.proxy.NoSuchRepositoryException;
import org.sonatype.nexus.proxy.registry.RepositoryRegistry;
import org.sonatype.nexus.proxy.repository.ProxyRepository;
import org.sonatype.nexus.proxy.repository.Repository;
import org.sonatype.plexus.rest.resource.PathProtectionDescriptor;
import org.sonatype.plexus.rest.resource.PlexusResource;
import org.sonatype.security.SecuritySystem;
import org.sonatype.security.usermanagement.User;

@Component( role = PlexusResource.class, hint = "artifactoryFileLocation" )
public class ArtifactoryFileLocationPlexusResource
extends AbstractArtifactoryMigrationPlexusResource
{

@Requirement
private NexusSecurity nexusSecurity;
private SecuritySystem securitySystem;

@Requirement
private RepositoryRegistry repositoryRegistry;

public ArtifactoryFileLocationPlexusResource()
{
this.setModifiable( true );
}

protected NexusSecurity getNexusSecurity()
{
return nexusSecurity;
}

@Override
public Object getPayloadInstance()
{
Expand Down Expand Up @@ -287,7 +286,7 @@ private Repository getRepository( String repoId )
{
try
{
return getNexus().getRepository( repoId );
return repositoryRegistry.getRepository( repoId );
}
catch ( NoSuchRepositoryException e )
{
Expand Down Expand Up @@ -325,9 +324,9 @@ private List<UserResolutionDTO> resolve( List<ArtifactoryUser> users )
*/
private void validateUser( ArtifactoryUser artiUser )
{
for ( SecurityUser user : getNexusSecurity().listUsers() )
for ( User user : securitySystem.listUsers() )
{
if ( user.getId().equals( artiUser.getUsername() ) )
if ( user.getUserId().equals( artiUser.getUsername() ) )
{
artiUser.setUsername( artiUser.getUsername() + "-artifactory" );
}
Expand All @@ -341,7 +340,7 @@ private String findSimilarRepository( String url )
return null;
}

Collection<Repository> repositories = getNexus().getRepositories();
Collection<Repository> repositories = repositoryRegistry.getRepositories();
for ( Repository repository : repositories )
{
if ( repository.getRepositoryKind().isFacetAvailable( ProxyRepository.class ) )
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package org.sonatype.nexus.plugin.migration.artifactory;

import java.util.Map;

import org.codehaus.plexus.component.annotations.Component;
import org.sonatype.nexus.plugins.rest.AbstractNexusIndexHtmlCustomizer;
import org.sonatype.nexus.plugins.rest.NexusIndexHtmlCustomizer;

@Component( role = NexusIndexHtmlCustomizer.class, hint = "ArtifactoryMigrationNexusIndexHtmlCustomizer" )
public class ArtifactoryMigrationNexusIndexHtmlCustomizer
extends AbstractNexusIndexHtmlCustomizer
implements NexusIndexHtmlCustomizer
{

@Override
public String getPostHeadContribution( Map<String, Object> ctx )
{
String version =
getVersionFromJarFile( "/META-INF/maven/org.sonatype.nexus.plugins/nexus-migration-plugin-artifactory/pom.properties" );

return "<script src=\"js/repoServer/repoServer.ArtifactoryMigrationPanel.js"
+ ( version == null ? "" : "?" + version ) + "\" type=\"text/javascript\" charset=\"utf-8\"></script>"
+ "<link rel=\"stylesheet\" href=\"style/ArtifactoryMigration.css"
+ ( version == null ? "" : "?" + version )
+ "\" type=\"text/css\" media=\"screen\" title=\"no title\" charset=\"utf-8\">";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,25 @@
package org.sonatype.nexus.plugin.migration.artifactory;

import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.restlet.Context;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.resource.ResourceException;
import org.sonatype.nexus.plugin.migration.artifactory.dto.MigrationSummaryDTO;
import org.sonatype.nexus.plugin.migration.artifactory.dto.MigrationSummaryRequestDTO;
import org.sonatype.nexus.plugin.migration.artifactory.task.ArtifactoryMigrationTask;
import org.sonatype.nexus.scheduling.NexusScheduler;
import org.sonatype.plexus.rest.resource.PathProtectionDescriptor;
import org.sonatype.plexus.rest.resource.PlexusResource;

@Component( role = PlexusResource.class, hint = "artifactoryMigration" )
public class ArtifactoryMigrationPlexusResource
extends AbstractArtifactoryMigrationPlexusResource
{
@Requirement
private NexusScheduler nexusScheduler;

public ArtifactoryMigrationPlexusResource()
{
this.setReadable( false );
Expand Down Expand Up @@ -64,9 +69,9 @@ public Object post( Context context, Request request, Response response, Object
migrationSummary.setNexusContext( nexusContext );

// lookup task and run it
ArtifactoryMigrationTask migrationTask = this.getNexus().createTaskInstance( ArtifactoryMigrationTask.class );
ArtifactoryMigrationTask migrationTask = nexusScheduler.createTaskInstance( ArtifactoryMigrationTask.class );
migrationTask.setMigrationSummary( migrationSummary );
this.getNexus().submit( "Importing Artifactory Backup.", migrationTask );
nexusScheduler.submit( "Importing Artifactory Backup.", migrationTask );

return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.codehaus.plexus.component.annotations.Component;
import org.sonatype.nexus.plugins.rest.AbstractNexusResourceBundle;
Expand Down Expand Up @@ -43,16 +42,4 @@ public List<StaticResource> getContributedResouces()
return result;
}

@Override
public String getPostHeadContribution( Map<String, Object> ctx )
{
String version = getVersionFromJarFile( "/META-INF/maven/org.sonatype.nexus.plugins/nexus-migration-plugin-artifactory/pom.properties" );

return "<script src=\"js/repoServer/repoServer.ArtifactoryMigrationPanel.js"
+ ( version == null ? "" : "?" + version )
+ "\" type=\"text/javascript\" charset=\"utf-8\"></script>"
+ "<link rel=\"stylesheet\" href=\"style/ArtifactoryMigration.css"
+ ( version == null ? "" : "?" + version )
+ "\" type=\"text/css\" media=\"screen\" title=\"no title\" charset=\"utf-8\">";
}
}
Loading

0 comments on commit 41a79f0

Please sign in to comment.