added blame support to client api

This commit is contained in:
Sebastian Sdorra
2011-09-22 20:00:31 +02:00
parent 1126a1be1a
commit 979167a497
4 changed files with 124 additions and 15 deletions

View File

@@ -35,6 +35,8 @@ package sonia.scm.client;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.repository.BlameLine;
import sonia.scm.repository.BlameResult;
import sonia.scm.repository.BrowserResult;
import sonia.scm.repository.FileObject;
import sonia.scm.repository.Repository;
@@ -75,6 +77,47 @@ public class JerseyClientRepositoryBrowser implements ClientRepositoryBrowser
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
*
* @param revision
* @param path
*
* @return
*/
@Override
public List<BlameLine> getBlameLines(String revision, String path)
{
List<BlameLine> blameLines = null;
String url =
session.getUrlProvider().getBlameUrl(repository.getId(), path,
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);
BlameResult result = response.getEntity(BlameResult.class);
AssertUtil.assertIsNotNull(result);
blameLines = result.getBlameLines();
}
}
finally
{
ClientUtil.close(response);
}
return blameLines;
}
/**
* Method description
*
@@ -91,8 +134,8 @@ public class JerseyClientRepositoryBrowser implements ClientRepositoryBrowser
{
InputStream input = null;
String url =
session.getUrlProvider().getRepositoryContentUrl(repository.getId(), path,
revision);
session.getUrlProvider().getRepositoryContentUrl(repository.getId(),
path, revision);
WebResource resource = session.getClient().resource(url);
ClientResponse response = null;