Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Sonatype Nexus (TM) Open Source Version Copyright (c) 2007-2012 Sonatype, Inc. All rights reserved. Includes the third-party code listed at http://links.sonatype.com/products/nexus/oss/attributions. This program and the accompanying materials are made available under the terms of the Eclipse Public License Version 1.0, which accompanies this distribution and is available at http://www.eclipse.org/legal/epl-v10.html. Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the Eclipse Foundation. All other trademarks are the property of their respective owners.
 
 package org.sonatype.nexus.rest.repositories;
 
 
 import  javax.ws.rs.GET;
 import  javax.ws.rs.Path;
 import  javax.ws.rs.Produces;
 import  javax.ws.rs.QueryParam;
 
 import  org.codehaus.enunciate.contract.jaxrs.ResourceMethodSignature;
 import  org.restlet.Context;
 import  org.restlet.data.Form;
 import  org.restlet.data.Request;
 import  org.restlet.data.Response;
 import  org.restlet.data.Status;
 import  org.restlet.resource.ResourceException;
 import  org.restlet.resource.Variant;
 
 @Component( role = PlexusResource.class, hint = "RepositoryTypesComponentListPlexusResource" )
 @Produces( { "application/xml""application/json" } )
 {
     public static final String RESOURCE_URI = "/components/repo_types";
 
     private static final Pattern BRACKETS_PATTERN = Pattern.compile"(.*)( \\(.*\\))" );
 
     @Override
     public String getResourceUri()
     {
         return ;
     }
 
     @Override
     {
         return new PathProtectionDescriptorgetResourceUri(), "authcBasic,perms[nexus:componentsrepotypes]" );
     }
 
     @Override
     public Object getPayloadInstance()
     {
         return null;
     }

    
Retrieve the list of repository types available in Nexus.

Parameters:
repoType The type of repository to retrieve providers for. (valid values are 'hosted', 'proxy', 'shadow' and 'group').
 
     @Override
     @GET
     @ResourceMethodSignature( queryParams = { @QueryParam( "repoType" ) }, output = NexusRepositoryTypeListResourceResponse.class )
     public Object get( Context context, Request request, Response response, Variant variant )
         throws ResourceException
     {
         Form form = request.getResourceRef().getQueryAsForm();
 
         // such horrible terminology for this class, its actually repo providers that are being returned
         String repoType = form.getFirstValue( "repoType" );
 
         TemplateSet templateSet = getNexus().getRepositoryTemplates();
 
         if ( "hosted".equalsrepoType ) )
         {
             templateSet = templateSet.getTemplatesHostedRepository.class );
         }
         else if ( "proxy".equalsrepoType ) )
         {
             templateSet = templateSet.getTemplatesProxyRepository.class );
        }
        else if ( "shadow".equalsrepoType ) )
        {
            templateSet = templateSet.getTemplatesShadowRepository.class );
        }
        else if ( "group".equalsrepoType ) )
        {
            templateSet = templateSet.getTemplatesGroupRepository.class );
        }
        if ( templateSet.getTemplatesList().isEmpty() )
        {
            throw new ResourceException( Status.CLIENT_ERROR_NOT_FOUND );
        }
        for ( Template template : templateSet.getTemplatesList() )
        {
            NexusRepositoryTypeListResource resource = new NexusRepositoryTypeListResource();
            String providerRole = ( (RepositoryTemplatetemplate ).getRepositoryProviderRole();
            String providerHint = ( (RepositoryTemplatetemplate ).getRepositoryProviderHint();
            resource.setProviderproviderHint );
            resource.setProviderRoleproviderRole );
            resource.setFormat( ( (AbstractRepositoryTemplatetemplate ).getContentClass().getId() );
            // To not disturb the "New repo UI", it's shitty right now: we select templates here that predefines is
            // something a "release" or "snapshot", but
            // UI allows to select that too.
            resource.setDescriptionremoveBracketstemplate.getDescription() ) );
            // add it to the collection
            result.addDataresource );
        }
        return result;
    }
    protected String removeBracketsString val )
    {
        Matcher m = .matcherval );
        if ( m.matches() && m.groupCount() == 2 )
        {
            return m.group( 1 );
        }
        else
        {
            return val;
        }
    }
New to GrepCode? Check out our FAQ X