Package org.apache.archiva.configuration

Examples of org.apache.archiva.configuration.RepositoryGroupConfiguration


        return connector;
    }

    private RepositoryGroupConfiguration createRepoGroup( List<String> repoIds, String repoGroupId )
    {
        RepositoryGroupConfiguration repoGroup = new RepositoryGroupConfiguration();
        repoGroup.setId( repoGroupId );
        repoGroup.setRepositories( repoIds );

        return repoGroup;
    }
View Full Code Here


        value.setRepositories( repositories );
        java.util.List repositoryGroups = new java.util.ArrayList/*<RepositoryGroupConfiguration>*/();
        List repositoryGroupsSubsets = registry.getSubsetList( prefix + "repositoryGroups.repositoryGroup" );
        for ( Iterator i = repositoryGroupsSubsets.iterator(); i.hasNext(); )
        {
            RepositoryGroupConfiguration v = readRepositoryGroupConfiguration( "", (Registry) i.next() );
            repositoryGroups.add( v );
        }
        value.setRepositoryGroups( repositoryGroups );
        java.util.List managedRepositories = new java.util.ArrayList/*<ManagedRepositoryConfiguration>*/();
        List managedRepositoriesSubsets = registry.getSubsetList( prefix + "managedRepositories.managedRepository" );
View Full Code Here

        return value;
    }
   
    private RepositoryGroupConfiguration readRepositoryGroupConfiguration( String prefix, Registry registry )
    {
        RepositoryGroupConfiguration value = new RepositoryGroupConfiguration();

        String id = registry.getString( prefix + "id", value.getId() );
        value.setId( id );
        java.util.List repositories = new java.util.ArrayList/*<String>*/();
        repositories.addAll( registry.getList( prefix + "repositories.repository" ) );
        value.setRepositories( repositories );

        return value;
    }
View Full Code Here

                int count = 0;
                for ( Iterator iter = value.getRepositoryGroups().iterator(); iter.hasNext(); count++ )
                {
                    String name = "repositoryGroups.repositoryGroup(" + count + ")";
                    RepositoryGroupConfiguration o = ( RepositoryGroupConfiguration ) iter.next();
                    writeRepositoryGroupConfiguration( prefix + name + ".", o, registry );
                }
            }
            if ( value.getManagedRepositories() != null && value.getManagedRepositories().size() > 0
)
View Full Code Here

       
        List<String> repos = new ArrayList<String>();
        repos.add( TEST_REPO_ID );
        repos.add( TEST_SNAP_REPO_ID );

        RepositoryGroupConfiguration repoGroup = new RepositoryGroupConfiguration( );
        repoGroup.setId( TEST_REPO_GROUP_ID );
        repoGroup.setRepositories( repos );
        c.addRepositoryGroup( repoGroup );
       
        configuration.save( c );

        assertFalse ( c.getManagedRepositories().get( 0 ).isSnapshots() );
View Full Code Here

    public Boolean addRepositoryGroup( RepositoryGroup repositoryGroup, AuditInformation auditInformation )
        throws RepositoryAdminException
    {
        validateRepositoryGroup( repositoryGroup, false );
        validateManagedRepositoriesExists( repositoryGroup.getRepositories() );
        RepositoryGroupConfiguration repositoryGroupConfiguration = new RepositoryGroupConfiguration();
        repositoryGroupConfiguration.setId( repositoryGroup.getId() );
        repositoryGroupConfiguration.setRepositories( repositoryGroup.getRepositories() );
        Configuration configuration = getArchivaConfiguration().getConfiguration();
        configuration.addRepositoryGroup( repositoryGroupConfiguration );
        saveConfiguration( configuration );
        triggerAuditEvent( repositoryGroup.getId(), null, AuditEvent.ADD_REPO_GROUP, auditInformation );
        return Boolean.TRUE;
View Full Code Here

    public Boolean deleteRepositoryGroup( String repositoryGroupId, AuditInformation auditInformation )
        throws RepositoryAdminException
    {
        Configuration configuration = getArchivaConfiguration().getConfiguration();
        RepositoryGroupConfiguration repositoryGroupConfiguration =
            configuration.getRepositoryGroupsAsMap().get( repositoryGroupId );
        if ( repositoryGroupConfiguration == null )
        {
            throw new RepositoryAdminException(
                "repositoryGroup with id " + repositoryGroupId + " doesn't not exists so cannot remove" );
View Full Code Here

    {
        validateRepositoryGroup( repositoryGroup, true );
        validateManagedRepositoriesExists( repositoryGroup.getRepositories() );
        Configuration configuration = getArchivaConfiguration().getConfiguration();

        RepositoryGroupConfiguration repositoryGroupConfiguration =
            configuration.getRepositoryGroupsAsMap().get( repositoryGroup.getId() );

        configuration.removeRepositoryGroup( repositoryGroupConfiguration );

        repositoryGroupConfiguration.setRepositories( repositoryGroup.getRepositories() );
        configuration.addRepositoryGroup( repositoryGroupConfiguration );

        saveConfiguration( configuration );
        if ( triggerAuditEvent )
        {
View Full Code Here

                                       final DavServletResponse response )
        throws DavException
    {
        ArchivaDavResourceLocator archivaLocator = checkLocatorIsInstanceOfRepositoryLocator( locator );

        RepositoryGroupConfiguration repoGroupConfig =
            archivaConfiguration.getConfiguration().getRepositoryGroupsAsMap().get( archivaLocator.getRepositoryId() );

        String activePrincipal = getActivePrincipal( request );

        List<String> resourcesInAbsolutePath = new ArrayList<String>();

        boolean readMethod = WebdavMethodUtil.isReadMethod( request.getMethod() );
        DavResource resource;
        if ( repoGroupConfig != null )
        {
            if ( !readMethod )
            {
                throw new DavException( HttpServletResponse.SC_METHOD_NOT_ALLOWED,
                                        "Write method not allowed for repository groups." );
            }

            log.debug( "Repository group '{}' accessed by '{}", repoGroupConfig.getId(), activePrincipal );

            // handle browse requests for virtual repos
            if ( RepositoryPathUtil.getLogicalResource( archivaLocator.getOrigResourcePath() ).endsWith( "/" ) )
            {
                return getResource( request, repoGroupConfig.getRepositories(), archivaLocator,
                                    archivaLocator.getRepositoryId() );
            }
            else
            {
                // make a copy to avoid potential concurrent modifications (eg. by configuration)
                // TODO: ultimately, locking might be more efficient than copying in this fashion since updates are
                //  infrequent
                List<String> repositories = new ArrayList<String>( repoGroupConfig.getRepositories() );
                resource = processRepositoryGroup( request, archivaLocator, repositories, activePrincipal,
                                                   resourcesInAbsolutePath, archivaLocator.getRepositoryId() );
            }
        }
        else
        {
            ManagedRepositoryContent managedRepository = null;

            try
            {
                managedRepository = repositoryFactory.getManagedRepositoryContent( archivaLocator.getRepositoryId() );
            }
            catch ( RepositoryNotFoundException e )
            {
                throw new DavException( HttpServletResponse.SC_NOT_FOUND,
                                        "Invalid repository: " + archivaLocator.getRepositoryId() );
            }
            catch ( RepositoryException e )
            {
                throw new DavException( HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e );
            }

            log.debug( "Managed repository '{}' accessed by '{}'", managedRepository.getId(), activePrincipal );

            resource = processRepository( request, archivaLocator, activePrincipal, managedRepository );

            String logicalResource = RepositoryPathUtil.getLogicalResource( locator.getResourcePath() );
            resourcesInAbsolutePath.add(
                new File( managedRepository.getRepoRoot(), logicalResource ).getAbsolutePath() );
        }

        String requestedResource = request.getRequestURI();

        // MRM-872 : merge all available metadata
        // merge metadata only when requested via the repo group
        if ( ( repositoryRequest.isMetadata( requestedResource ) || repositoryRequest.isMetadataSupportFile(
            requestedResource ) ) && repoGroupConfig != null )
        {
            // this should only be at the project level not version level!
            if ( isProjectReference( requestedResource ) )
            {
                String artifactId = StringUtils.substringBeforeLast( requestedResource.replace( '\\', '/' ), "/" );
                artifactId = StringUtils.substringAfterLast( artifactId, "/" );

                ArchivaDavResource res = (ArchivaDavResource) resource;
                String filePath =
                    StringUtils.substringBeforeLast( res.getLocalResource().getAbsolutePath().replace( '\\', '/' ),
                                                     "/" );
                filePath = filePath + "/maven-metadata-" + repoGroupConfig.getId() + ".xml";

                // for MRM-872 handle checksums of the merged metadata files
                if ( repositoryRequest.isSupportFile( requestedResource ) )
                {
                    File metadataChecksum =
View Full Code Here

    }

    private List<String> getRepositoriesFromGroup()
    {
        Configuration config = archivaConfiguration.getConfiguration();
        RepositoryGroupConfiguration repoGroup = config.findRepositoryGroupById( repoGroupId );
        return repoGroup.getRepositories();
    }
View Full Code Here

TOP

Related Classes of org.apache.archiva.configuration.RepositoryGroupConfiguration

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.