mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 16:35:45 +01:00
added client method to fetch a single changeset
This commit is contained in:
@@ -35,6 +35,7 @@ package sonia.scm.client;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import sonia.scm.repository.Changeset;
|
||||
import sonia.scm.repository.ChangesetPagingResult;
|
||||
import sonia.scm.repository.Repository;
|
||||
|
||||
@@ -66,6 +67,42 @@ public class JerseyClientChangesetHandler implements ClientChangesetHandler
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param revision
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Changeset getChangeset(String revision)
|
||||
{
|
||||
Changeset changeset = null;
|
||||
String url =
|
||||
session.getUrlProvider().getRepositoryUrlProvider().getChangesetUrl(
|
||||
repository.getId(), revision);
|
||||
WebResource resource = session.getClient().resource(url);
|
||||
ClientResponse response = null;
|
||||
|
||||
try
|
||||
{
|
||||
response = resource.get(ClientResponse.class);
|
||||
|
||||
if (response.getStatus() != ScmClientException.SC_NOTFOUND)
|
||||
{
|
||||
ClientUtil.checkResponse(response, 200);
|
||||
changeset = response.getEntity(Changeset.class);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
ClientUtil.close(response);
|
||||
}
|
||||
|
||||
return changeset;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user