/** * IMPORTANT: Make sure to release the Response in a finally block when you are done with it. */ public Response sendMessage(Method method, RepositoryGroupResource resource) throws IOException { return groupNRC.sendMessage(method, resource, resource.getId()); }
private PlexusResourceException logAndWrapNoSuchGroupRepositoryException(final RepositoryGroupResource model, final NoSuchRepositoryException e) { getLogger().warn("Group repository does not exist, ID=" + model.getId(), e); return new PlexusResourceException( Status.CLIENT_ERROR_BAD_REQUEST, "Group repository does not exist, GroupId=" + model.getId(), e, getNexusErrorResponse("repositories", "Group repository does not exist")); }
@SuppressWarnings("unchecked") private void validateRepoInNexusConfig( RepositoryGroupResource group ) throws IOException { CRepositoryGroup cGroup = NexusConfigUtil.getGroup( group.getId() ); Assert.assertEquals( group.getId(), cGroup.getGroupId() ); Assert.assertEquals( group.getName(), cGroup.getName() ); List expectedRepos = group.getRepositories(); List actualRepos = cGroup.getRepositories(); this.validateRepoLists( expectedRepos, actualRepos ); }
public void validateResourceResponse( RepositoryGroupResource group, RepositoryGroupResource responseResource ) throws IOException { Assert.assertEquals( group.getId(), responseResource.getId() ); Assert.assertEquals( group.getName(), responseResource.getName() ); Assert.assertEquals( group.getFormat(), responseResource.getFormat() ); LOG.debug( "group repos: " + group.getRepositories() ); LOG.debug( "other repos: " + responseResource.getRepositories() ); validateRepoLists( group.getRepositories(), responseResource.getRepositories() ); // check nexus.xml this.validateRepoInNexusConfig( responseResource ); }
private GroupRepository getGroupRepository(final RepositoryGroupResource model) throws PlexusResourceException { try { return getRepositoryRegistry().getRepositoryWithFacet(model.getId(), GroupRepository.class); } catch (NoSuchRepositoryException e) { throw logAndWrapNoSuchGroupRepositoryException(model, e); } }
public RepositoryGroupResource updateGroup( final RepositoryGroupResource group ) throws IOException { XStreamRepresentation representation = request( group ); String payload = nexusRestClient.doPutForText( SERVICE_PART + "/" + group.getId(), representation, isSuccessful() ); return response( payload ); }
public RepositoryGroupResource updateGroup(final RepositoryGroupResource group) throws IOException { XStreamRepresentation representation = request(group); String payload = nexusRestClient.doPutForText(SERVICE_PART + "/" + group.getId(), representation, isSuccessful()); return response(payload); }
public void validateResourceResponse(RepositoryGroupResource expected, RepositoryGroupResource actual) throws IOException { Assert.assertEquals(actual.getId(), expected.getId()); Assert.assertEquals(actual.getName(), expected.getName()); Assert.assertEquals(actual.getFormat(), expected.getFormat()); LOG.debug("group repos: " + expected.getRepositories()); LOG.debug("other repos: " + actual.getRepositories()); validateRepoLists(expected.getRepositories(), actual.getRepositories()); // check nexus.xml this.validateRepoInNexusConfig(actual); }
private void validateRepoInNexusConfig(RepositoryGroupResource group) throws IOException { CRepository cGroup = getTest().getNexusConfigUtil().getRepo(group.getId()); Assert.assertEquals(cGroup.getId(), group.getId()); Assert.assertEquals(cGroup.getName(), group.getName()); List<RepositoryGroupMemberRepository> expectedRepos = group.getRepositories(); List<String> actualRepos = getTest().getNexusConfigUtil().getGroup(group.getId()).getMemberRepositoryIds(); this.validateRepoLists(expectedRepos, actualRepos); }
protected void updateRepositoryGroup(RepositoryGroupResource model) throws ResourceException, NoSuchRepositoryException GroupRepository group = getRepositoryRegistry().getRepositoryWithFacet(model.getId(), GroupRepository.class); try { group.setName(model.getName()); getLogger().warn("Repository referenced by Repository Group Access Denied, ID=" + model.getId(), e); + model.getId(), e, getNexusErrorResponse("repositories", getLogger().warn("Repository referenced by Repository Group Not Found, ID=" + model.getId(), e); + model.getId(), e, getNexusErrorResponse("repositories", getLogger().warn("Invalid grouping detected!, GroupId=" + model.getId(), e); "Invalid grouping requested, GroupId=" + model.getId(), e, getNexusErrorResponse("repositories",
public Response sendMessage( Method method, RepositoryGroupResource resource, String id ) throws IOException { XStreamRepresentation representation = new XStreamRepresentation( xstream, "", mediaType ); String idPart = ( method == Method.POST ) ? "" : "/" + id; String serviceURI = SERVICE_PART + idPart; RepositoryGroupResourceResponse repoResponseRequest = new RepositoryGroupResourceResponse(); repoResponseRequest.setData( resource ); // now set the payload representation.setPayload( repoResponseRequest ); LOG.debug( "sendMessage: " + representation.getText() ); return RequestFacade.sendMessage( serviceURI, method, representation ); }
public RepositoryGroupResource updateGroup( RepositoryGroupResource group ) throws IOException { Response response = this.sendMessage( Method.PUT, group ); if ( !response.getStatus().isSuccess() ) { String responseText = response.getEntity().getText(); Assert.fail( "Could not update user: " + response.getStatus() + "\n" + responseText ); } // this doesn't return any objects, it should.... // // get the Resource object // RepositoryGroupResource responseResource = this.getResourceFromResponse( response ); // for now call GET RepositoryGroupResource responseResource = this.getGroup( group.getId() ); this.validateResourceResponse( group, responseResource ); return responseResource; }
getRepositoryRegistry().getRepositoryWithFacet( model.getId(), GroupRepository.class ); getLogger().warn( "Repository referenced by Repository Group Access Eenied, ID=" + model.getId(), e ); + model.getId(), e, getNexusErrorResponse( "repositories", getLogger().warn( "Repository referenced by Repository Group Not Found, ID=" + model.getId(), e ); + model.getId(), e, getNexusErrorResponse( "repositories", getLogger().warn( "Invalid grouping detected!, GroupId=" + model.getId(), e ); "Invalid grouping requested, GroupId=" + model.getId(), e, getNexusErrorResponse( "repositories",
public RepositoryGroupResource createGroup( RepositoryGroupResource group ) throws IOException { Response response = this.sendMessage( Method.POST, group ); if ( !response.getStatus().isSuccess() ) { String responseText = response.getEntity().getText(); Assert.fail( "Could not create Repository: " + response.getStatus() + ":\n" + responseText ); } // // get the Resource object // RepositoryGroupResource responseResource = this.getResourceFromResponse( response ); // currently create doesn't return anything, it should see NEXUS-540 // the work around is to call get at this point RepositoryGroupResource responseResource = this.getGroup( group.getId() ); // GET always uses XML, due to a // problem in the RESTlet client this.validateResourceResponse( group, responseResource ); return responseResource; }
/** * Add a new repository group to nexus. */ @Override @POST @ResourceMethodSignature(input = RepositoryGroupResourceResponse.class, output = RepositoryGroupResourceResponse.class) public Object post(Context context, Request request, Response response, Object payload) throws ResourceException { RepositoryGroupResourceResponse groupRequest = (RepositoryGroupResourceResponse) payload; if (groupRequest != null) { RepositoryGroupResource resource = groupRequest.getData(); createOrUpdateRepositoryGroup(resource, true); try { RepositoryGroupResourceResponse result = new RepositoryGroupResourceResponse(); result.setData(buildGroupResource(request, resource.getId())); return result; } catch (NoSuchRepositoryException e) { throw new PlexusResourceException( Status.CLIENT_ERROR_BAD_REQUEST, "The group was somehow not found!", getNexusErrorResponse("repositories", "Group id not found!")); } } return null; }
result.setData( buildGroupResource( request, resource.getId() ) );
).pick(); template.getConfigurableRepository().setId(model.getId()); getLogger().warn("Repository referenced by group does not exists!, GroupId=" + model.getId(), e); + model.getId(), e, getNexusErrorResponse("repositories", getLogger().warn("Invalid grouping detected!, GroupId=" + model.getId(), e); "Invalid grouping requested, GroupId=" + model.getId(), e, getNexusErrorResponse("repositories", e.getMessage()));
contentClass ).pick(); template.getConfigurableRepository().setId( model.getId() ); getLogger().warn( "Repository referenced by group does not exists!, GroupId=" + model.getId(), e ); + model.getId(), e, getNexusErrorResponse( "repositories", getLogger().warn( "Invalid grouping detected!, GroupId=" + model.getId(), e ); "Invalid grouping requested, GroupId=" + model.getId(), e, getNexusErrorResponse( "repositories",