Package org.apache.archiva.metadata.repository

Examples of org.apache.archiva.metadata.repository.MetadataRepository


        log.debug( "Retrieved repository configuration for repo '" + repoId + "'" );

        RepositorySession repositorySession = repositorySessionFactory.createSession();
        try
        {
            MetadataRepository metadataRepository = repositorySession.getRepository();
            if ( repoConfig != null )
            {
                stagingConfig = managedRepositoryAdmin.getManagedRepository( stagingId );

                if ( stagingConfig != null )
                {
                    List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts( stagingId );

                    if ( repoConfig.isReleases() && !repoConfig.isSnapshots() )
                    {
                        log.info( "Repository to be merged contains releases only.." );
                        if ( skipConflicts )
                        {
                            List<ArtifactMetadata> conflicts =
                                repositoryMerger.getConflictingArtifacts( metadataRepository, repoId, stagingId );

                            if ( log.isDebugEnabled() )
                            {
                                log.debug( "Artifacts in conflict.." );
                                for ( ArtifactMetadata metadata : conflicts )
                                {
                                    log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":"
                                                   + metadata.getProjectVersion() );
                                }
                            }

                            sourceArtifacts.removeAll( conflicts );

                            log.debug( "Source artifacts size :: " + sourceArtifacts.size() );
                            mergeWithOutSnapshots( sourceArtifacts, stagingId, repoId, metadataRepository );
                        }
                        else
                        {
                            log.debug( "Source artifacts size :: " + sourceArtifacts.size() );
                            mergeWithOutSnapshots( sourceArtifacts, stagingId, repoId, metadataRepository );
                        }
                    }
                    else
                    {
                        log.info( "Repository to be merged has snapshot artifacts.." );
                        if ( skipConflicts )
                        {
                            List<ArtifactMetadata> conflicts =
                                repositoryMerger.getConflictingArtifacts( metadataRepository, repoId, stagingId );

                            if ( log.isDebugEnabled() )
                            {
                                log.debug( "Artifacts in conflict.." );
                                for ( ArtifactMetadata metadata : conflicts )
                                {
                                    log.debug( metadata.getNamespace() + ":" + metadata.getProject() + ":"
                                                   + metadata.getProjectVersion() );
                                }
                            }

                            sourceArtifacts.removeAll( conflicts );

                            log.debug( "Source artifacts size :: " + sourceArtifacts.size() );

                            Filter<ArtifactMetadata> artifactsWithOutConflicts =
                                new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
                            repositoryMerger.merge( metadataRepository, stagingId, repoId, artifactsWithOutConflicts );

                            log.info( "Staging repository '" + stagingId + "' merged successfully with managed repo '"
                                          + repoId + "'." );
                        }
                        else
                        {
                            repositoryMerger.merge( metadataRepository, stagingId, repoId );

                            log.info( "Staging repository '" + stagingId + "' merged successfully with managed repo '"
                                          + repoId + "'." );
                        }
                    }
                }
                else
                {
                    throw new Exception( "Staging Id : " + stagingId + " not found." );
                }
            }
            else
            {
                throw new Exception( "Repository Id : " + repoId + " not found." );
            }

            if ( !repositoryTaskScheduler.isProcessingRepositoryTask( repoId ) )
            {
                RepositoryTask task = new RepositoryTask();
                task.setRepositoryId( repoId );

                repositoryTaskScheduler.queueTask( task );
            }

            AuditEvent event = createAuditEvent( repoConfig );

            // add event for audit log reports
            metadataRepository.addMetadataFacet( event.getRepositoryId(), event );

            // log event in archiva audit log
            auditListener.auditEvent( createAuditEvent( repoConfig ) );
            repositorySession.save();
        }
View Full Code Here


    public String doMerge()
    {
        RepositorySession repositorySession = repositorySessionFactory.createSession();
        try
        {
            MetadataRepository metadataRepository = repositorySession.getRepository();
            List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts( sourceRepoId );

            if ( repository.isReleases() && !repository.isSnapshots() )
            {
                mergeWithOutSnapshots( metadataRepository, sourceArtifacts, sourceRepoId, repoid );
            }
View Full Code Here

    public String mergeBySkippingConflicts()
    {
        RepositorySession repositorySession = repositorySessionFactory.createSession();
        try
        {
            MetadataRepository metadataRepository = repositorySession.getRepository();
            List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts( sourceRepoId );
            sourceArtifacts.removeAll( conflictSourceArtifacts );

            if ( repository.isReleases() && !repository.isSnapshots() )
            {
                mergeWithOutSnapshots( metadataRepository, sourceArtifacts, sourceRepoId, repoid );
View Full Code Here

    {
        super.setUp();
        action = (ShowArtifactAction) getActionProxy( "/showArtifact.action" ).getAction();

        metadataResolver = new TestMetadataResolver();
        MetadataRepository repo = mock( MetadataRepository.class );
        RepositorySession repositorySession = mock( RepositorySession.class );
        when( repositorySession.getResolver() ).thenReturn( metadataResolver );
        when( repositorySession.getRepository() ).thenReturn( repo );
        TestRepositorySessionFactory repositorySessionFactory =
            applicationContext.getBean( "repositorySessionFactory#test", TestRepositorySessionFactory.class );
View Full Code Here

        RepositorySession repositorySession = repositorySessionFactory.createSession();

        List<Artifact> results = new ArrayList<Artifact>();
        try
        {
            MetadataRepository metadataRepository = repositorySession.getRepository();

            for ( String repoId : observableRepos )
            {
                for ( ArtifactMetadata artifact : metadataRepository.getArtifactsByChecksum( repoId, checksum ) )
                {
                    // TODO: customise XMLRPC to handle non-Maven artifacts
                    MavenArtifactFacet facet = (MavenArtifactFacet) artifact.getFacet( MavenArtifactFacet.FACET_ID );

                    results.add( new Artifact( artifact.getRepositoryId(), artifact.getNamespace(),
View Full Code Here

    {
        RepositorySession repositorySession = repositorySessionFactory.createSession();
        ProjectVersionMetadata projectMetadata;
        try
        {
            MetadataRepository metadataRepository = repositorySession.getRepository();
            projectMetadata = getProjectVersionMetadata( repositorySession );
            if ( projectMetadata == null )
            {
                addActionError( "Artifact not found" );
                return ERROR;
View Full Code Here

    public String deleteMetadataEntry()
    {
        RepositorySession repositorySession = repositorySessionFactory.createSession();
        try
        {
            MetadataRepository metadataRepository = repositorySession.getRepository();
            ProjectVersionMetadata projectMetadata = getProjectVersionMetadata( repositorySession );

            if ( projectMetadata == null )
            {
                addActionError( "Artifact not found" );
View Full Code Here

        String projectVersion = VersionUtil.getBaseVersion( artifact.getVersion() );

        RepositorySession repositorySession = repositorySessionFactory.createSession();
        try
        {
            MetadataRepository metadataRepository = repositorySession.getRepository();

            boolean createVersionMetadata = false;

            // FIXME: maybe not too efficient since it may have already been read and stored for this artifact
            ProjectVersionMetadata versionMetadata = null;
            try
            {
                versionMetadata = repositoryStorage.readProjectVersionMetadata( repoId, artifact.getNamespace(),
                                                                                artifact.getProject(), projectVersion );
                createVersionMetadata = true;
            }
            catch ( RepositoryStorageMetadataNotFoundException e )
            {
                log.warn( "Missing or invalid POM for artifact: " + path + "; creating empty metadata" );

                versionMetadata = new ProjectVersionMetadata();
                versionMetadata.setId( projectVersion );
                versionMetadata.setIncomplete( true );
                createVersionMetadata = true;
            }
            catch ( RepositoryStorageMetadataInvalidException e )
            {
                log.warn( "Error occurred resolving POM for artifact: " + path + "; message: " + e.getMessage() );
            }

            // read the metadata and update it if it is newer or doesn't exist
            artifact.setWhenGathered( whenGathered );
            metadataRepository.updateArtifact( repoId, project.getNamespace(), project.getId(), projectVersion,
                                               artifact );
            if ( createVersionMetadata )
            {
                metadataRepository.updateProjectVersion( repoId, project.getNamespace(), project.getId(),
                                                         versionMetadata );
            }
            metadataRepository.updateProject( repoId, project );
            repositorySession.save();
        }
        catch ( MetadataRepositoryException e )
        {
            log.warn( "Error occurred persisting metadata for artifact: " + path + "; message: " + e.getMessage(), e );
View Full Code Here

            }

            @Override
            public MetadataRepository getRepository( )
            {
                return new MetadataRepository( )
                {
                    public void updateProject( String repositoryId, ProjectMetadata project )
                        throws MetadataRepositoryException
                    {
                        //To change body of implemented methods use File | Settings | File Templates.
View Full Code Here

        if ( !stagedOne )
        {
            RepositorySession repositorySession = getRepositorySessionFactory().createSession();
            try
            {
                MetadataRepository metadataRepository = repositorySession.getRepository();
                metadataRepository.removeRepository( repository.getId() );
                log.debug( "call repositoryStatisticsManager.deleteStatistics" );
                getRepositoryStatisticsManager().deleteStatistics( metadataRepository, repository.getId() );
                repositorySession.save();
            }
            catch ( MetadataRepositoryException e )
View Full Code Here

TOP

Related Classes of org.apache.archiva.metadata.repository.MetadataRepository

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.