added client method to fetch a single changeset

This commit is contained in:
Sebastian Sdorra
2012-01-19 16:05:57 +01:00
parent ce6558f256
commit fbd971fd9a
5 changed files with 113 additions and 0 deletions

View File

@@ -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
*