mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 15:35:49 +01:00
added getTags method to client api
This commit is contained in:
@@ -38,6 +38,7 @@ package sonia.scm.client;
|
|||||||
import sonia.scm.NotSupportedFeatuerException;
|
import sonia.scm.NotSupportedFeatuerException;
|
||||||
import sonia.scm.Type;
|
import sonia.scm.Type;
|
||||||
import sonia.scm.repository.Repository;
|
import sonia.scm.repository.Repository;
|
||||||
|
import sonia.scm.repository.Tags;
|
||||||
|
|
||||||
//~--- JDK imports ------------------------------------------------------------
|
//~--- JDK imports ------------------------------------------------------------
|
||||||
|
|
||||||
@@ -74,7 +75,7 @@ public interface RepositoryClientHandler extends ClientHandler<Repository>
|
|||||||
* @throws NotSupportedFeatuerException
|
* @throws NotSupportedFeatuerException
|
||||||
*/
|
*/
|
||||||
public ClientChangesetHandler getChangesetHandler(Repository repository)
|
public ClientChangesetHandler getChangesetHandler(Repository repository)
|
||||||
throws NotSupportedFeatuerException;
|
throws NotSupportedFeatuerException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
@@ -88,7 +89,7 @@ public interface RepositoryClientHandler extends ClientHandler<Repository>
|
|||||||
* @throws NotSupportedFeatuerException
|
* @throws NotSupportedFeatuerException
|
||||||
*/
|
*/
|
||||||
public ClientRepositoryBrowser getRepositoryBrowser(Repository repository)
|
public ClientRepositoryBrowser getRepositoryBrowser(Repository repository)
|
||||||
throws NotSupportedFeatuerException;
|
throws NotSupportedFeatuerException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
@@ -97,4 +98,15 @@ public interface RepositoryClientHandler extends ClientHandler<Repository>
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Collection<Type> getRepositoryTypes();
|
public Collection<Type> getRepositoryTypes();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all tags of the given repository.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param repository repository
|
||||||
|
*
|
||||||
|
* @return all tags of the given repository
|
||||||
|
* @since 1.18
|
||||||
|
*/
|
||||||
|
public Tags getTags(Repository repository);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,15 @@ package sonia.scm.client;
|
|||||||
|
|
||||||
import sonia.scm.NotSupportedFeatuerException;
|
import sonia.scm.NotSupportedFeatuerException;
|
||||||
import sonia.scm.Type;
|
import sonia.scm.Type;
|
||||||
|
import sonia.scm.repository.Changeset;
|
||||||
import sonia.scm.repository.Repository;
|
import sonia.scm.repository.Repository;
|
||||||
|
import sonia.scm.repository.Tags;
|
||||||
|
|
||||||
//~--- JDK imports ------------------------------------------------------------
|
//~--- JDK imports ------------------------------------------------------------
|
||||||
|
|
||||||
import com.sun.jersey.api.client.ClientResponse;
|
import com.sun.jersey.api.client.ClientResponse;
|
||||||
import com.sun.jersey.api.client.GenericType;
|
import com.sun.jersey.api.client.GenericType;
|
||||||
|
import com.sun.jersey.api.client.WebResource;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -52,8 +55,7 @@ import java.util.List;
|
|||||||
* @author Sebastian Sdorra
|
* @author Sebastian Sdorra
|
||||||
*/
|
*/
|
||||||
public class JerseyRepositoryClientHandler
|
public class JerseyRepositoryClientHandler
|
||||||
extends AbstractClientHandler<Repository>
|
extends AbstractClientHandler<Repository> implements RepositoryClientHandler
|
||||||
implements RepositoryClientHandler
|
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,7 +101,7 @@ public class JerseyRepositoryClientHandler
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ClientChangesetHandler getChangesetHandler(Repository repository)
|
public ClientChangesetHandler getChangesetHandler(Repository repository)
|
||||||
throws NotSupportedFeatuerException
|
throws NotSupportedFeatuerException
|
||||||
{
|
{
|
||||||
return new JerseyClientChangesetHandler(session, repository);
|
return new JerseyClientChangesetHandler(session, repository);
|
||||||
}
|
}
|
||||||
@@ -115,7 +117,7 @@ public class JerseyRepositoryClientHandler
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JerseyClientRepositoryBrowser getRepositoryBrowser(
|
public JerseyClientRepositoryBrowser getRepositoryBrowser(
|
||||||
Repository repository)
|
Repository repository)
|
||||||
{
|
{
|
||||||
return new JerseyClientRepositoryBrowser(session, repository);
|
return new JerseyClientRepositoryBrowser(session, repository);
|
||||||
}
|
}
|
||||||
@@ -132,6 +134,41 @@ public class JerseyRepositoryClientHandler
|
|||||||
return session.getState().getRepositoryTypes();
|
return session.getState().getRepositoryTypes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param repository
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Tags getTags(Repository repository)
|
||||||
|
{
|
||||||
|
Tags tags = null;
|
||||||
|
String url = session.getUrlProvider().getRepositoryUrlProvider().getTagsUrl(
|
||||||
|
repository.getId());
|
||||||
|
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);
|
||||||
|
tags = response.getEntity(Tags.class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
ClientUtil.close(response);
|
||||||
|
}
|
||||||
|
|
||||||
|
return tags;
|
||||||
|
}
|
||||||
|
|
||||||
//~--- methods --------------------------------------------------------------
|
//~--- methods --------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -157,7 +194,7 @@ public class JerseyRepositoryClientHandler
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void postCreate(ClientResponse response, Repository repository,
|
protected void postCreate(ClientResponse response, Repository repository,
|
||||||
Repository newRepository)
|
Repository newRepository)
|
||||||
{
|
{
|
||||||
newRepository.copyProperties(repository);
|
newRepository.copyProperties(repository);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user