From b0e0f76c0983924dd7740256be1ec20d51edf514 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Thu, 5 Jul 2012 19:43:12 +0200 Subject: [PATCH] added tags resource to url provider --- .../sonia/scm/url/RepositoryUrlProvider.java | 17 ++++- .../scm/url/RestRepositoryUrlProvider.java | 63 ++++++++++++------- .../scm/url/WUIRepositoryUrlProvider.java | 42 ++++++++----- 3 files changed, 83 insertions(+), 39 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/url/RepositoryUrlProvider.java b/scm-core/src/main/java/sonia/scm/url/RepositoryUrlProvider.java index 4e1ee93c14..ebc3f5b907 100644 --- a/scm-core/src/main/java/sonia/scm/url/RepositoryUrlProvider.java +++ b/scm-core/src/main/java/sonia/scm/url/RepositoryUrlProvider.java @@ -77,7 +77,7 @@ public interface RepositoryUrlProvider extends ModelUrlProvider * @return */ public String getChangesetUrl(String repositoryId, String path, - String revision, int start, int limit); + String revision, int start, int limit); /** * Method description @@ -87,7 +87,7 @@ public interface RepositoryUrlProvider extends ModelUrlProvider * @param revision * * @return - * + * * @since 1.12 */ public String getChangesetUrl(String repositoryId, String revision); @@ -115,7 +115,7 @@ public interface RepositoryUrlProvider extends ModelUrlProvider * @return */ public String getContentUrl(String repositoryId, String path, - String revision); + String revision); /** * Method description @@ -139,4 +139,15 @@ public interface RepositoryUrlProvider extends ModelUrlProvider * @return */ public String getDiffUrl(String repositoryId, String revision); + + /** + * Method description + * + * + * @param repositoryId + * + * @return + * @since 1.18 + */ + public String getTagsUrl(String repositoryId); } diff --git a/scm-core/src/main/java/sonia/scm/url/RestRepositoryUrlProvider.java b/scm-core/src/main/java/sonia/scm/url/RestRepositoryUrlProvider.java index db908aa02c..6c4f0f3235 100644 --- a/scm-core/src/main/java/sonia/scm/url/RestRepositoryUrlProvider.java +++ b/scm-core/src/main/java/sonia/scm/url/RestRepositoryUrlProvider.java @@ -42,7 +42,7 @@ import sonia.scm.util.UrlBuilder; * @author Sebastian Sdorra */ public class RestRepositoryUrlProvider extends RestModelUrlProvider - implements RepositoryUrlProvider + implements RepositoryUrlProvider { /** Field description */ @@ -77,6 +77,9 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider /** Field description */ public static final String PART_DIFF = "diff"; + /** Field description */ + public static final String PART_TAGS = "tags"; + //~--- constructors --------------------------------------------------------- /** @@ -88,7 +91,7 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider * @param extension */ public RestRepositoryUrlProvider(String baseUrl, String modelSuffix, - String extension) + String extension) { super(baseUrl, modelSuffix, extension); } @@ -111,9 +114,9 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider revision = UrlUtil.fixRevision(revision); return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( - PART_BLAME).append(extension).appendParameter( - PARAMETER_PATH, path).appendParameter( - PARAMETER_REVISION, revision).toString(); + PART_BLAME).append(extension).appendParameter( + PARAMETER_PATH, path).appendParameter( + PARAMETER_REVISION, revision).toString(); } /** @@ -132,9 +135,9 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider revision = UrlUtil.fixRevision(revision); return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( - PART_BROWSE).append(extension).appendParameter( - PARAMETER_PATH, path).appendParameter( - PARAMETER_REVISION, revision).toString(); + PART_BROWSE).append(extension).appendParameter( + PARAMETER_PATH, path).appendParameter( + PARAMETER_REVISION, revision).toString(); } /** @@ -151,16 +154,16 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider */ @Override public String getChangesetUrl(String repositoryId, String path, - String revision, int start, int limit) + String revision, int start, int limit) { revision = UrlUtil.fixRevision(revision); return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( - PART_CHANGESETS).append(extension).appendParameter( - PARAMETER_PATH, path).appendParameter( - PARAMETER_REVISION, revision).appendParameter( - PARAMETER_START, start).appendParameter( - PARAMETER_LIMIT, limit).toString(); + PART_CHANGESETS).append(extension).appendParameter( + PARAMETER_PATH, path).appendParameter( + PARAMETER_REVISION, revision).appendParameter( + PARAMETER_START, start).appendParameter( + PARAMETER_LIMIT, limit).toString(); } /** @@ -177,9 +180,9 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider public String getChangesetUrl(String repositoryId, int start, int limit) { return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( - PART_CHANGESETS).append(extension).appendParameter( - PARAMETER_START, start).appendParameter( - PARAMETER_LIMIT, limit).toString(); + PART_CHANGESETS).append(extension).appendParameter( + PARAMETER_START, start).appendParameter( + PARAMETER_LIMIT, limit).toString(); } /** @@ -199,7 +202,7 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider revision = UrlUtil.fixRevision(revision); return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( - PART_CHANGESET).appendUrlPart(revision).append(extension).toString(); + PART_CHANGESET).appendUrlPart(revision).append(extension).toString(); } /** @@ -218,8 +221,8 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider revision = UrlUtil.fixRevision(revision); return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( - PART_CONTENT).appendParameter(PARAMETER_PATH, path).appendParameter( - PARAMETER_REVISION, revision).toString(); + PART_CONTENT).appendParameter(PARAMETER_PATH, path).appendParameter( + PARAMETER_REVISION, revision).toString(); } /** @@ -236,7 +239,7 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider public String getDetailUrl(String type, String name) { return new UrlBuilder(base).appendUrlPart(type).appendUrlPart(name).append( - extension).toString(); + extension).toString(); } /** @@ -254,6 +257,22 @@ public class RestRepositoryUrlProvider extends RestModelUrlProvider revision = UrlUtil.fixRevision(revision); return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( - PART_DIFF).appendParameter(PARAMETER_REVISION, revision).toString(); + PART_DIFF).appendParameter(PARAMETER_REVISION, revision).toString(); + } + + /** + * Method description + * + * + * @param repositoryId + * + * @return + * @since 1.18 + */ + @Override + public String getTagsUrl(String repositoryId) + { + return new UrlBuilder(base).appendUrlPart(repositoryId).appendUrlPart( + PART_TAGS).append(extension).toString(); } } diff --git a/scm-core/src/main/java/sonia/scm/url/WUIRepositoryUrlProvider.java b/scm-core/src/main/java/sonia/scm/url/WUIRepositoryUrlProvider.java index ffbee5d3bd..7809adbcc3 100644 --- a/scm-core/src/main/java/sonia/scm/url/WUIRepositoryUrlProvider.java +++ b/scm-core/src/main/java/sonia/scm/url/WUIRepositoryUrlProvider.java @@ -42,7 +42,7 @@ import sonia.scm.util.HttpUtil; * @author Sebastian Sdorra */ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider - implements RepositoryUrlProvider + implements RepositoryUrlProvider { /** Field description */ @@ -113,8 +113,7 @@ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider revision = UrlUtil.fixRevision(revision); return new WUIUrlBuilder(baseUrl, COMPONENT_CONTENT).append( - repositoryId).append(revision).append(path).append( - VIEW_BLAME).toString(); + repositoryId).append(revision).append(path).append(VIEW_BLAME).toString(); } /** @@ -133,7 +132,7 @@ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider revision = UrlUtil.fixRevision(revision); return new WUIUrlBuilder(baseUrl, COMPONENT_BROWSER).append( - repositoryId).append(revision).append(path).toString(); + repositoryId).append(revision).append(path).toString(); } /** @@ -150,14 +149,14 @@ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider */ @Override public String getChangesetUrl(String repositoryId, String path, - String revision, int start, int limit) + String revision, int start, int limit) { revision = UrlUtil.fixRevision(revision); // TODO handle start and limit return new WUIUrlBuilder(baseUrl, COMPONENT_CONTENT).append( - repositoryId).append(revision).append(path).append( - VIEW_HISTORY).toString(); + repositoryId).append(revision).append(path).append( + VIEW_HISTORY).toString(); } /** @@ -174,7 +173,7 @@ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider public String getChangesetUrl(String repositoryId, int start, int limit) { return new WUIUrlBuilder(baseUrl, COMPONENT_CHANGESETS).append( - repositoryId).append(start).append(limit).toString(); + repositoryId).append(start).append(limit).toString(); } /** @@ -193,8 +192,8 @@ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider { revision = UrlUtil.fixRevision(revision); - return new WUIUrlBuilder(baseUrl, COMPONENT_CHANGESET).append( - repositoryId).append(revision).toString(); + return new WUIUrlBuilder(baseUrl, + COMPONENT_CHANGESET).append(repositoryId).append(revision).toString(); } /** @@ -213,8 +212,8 @@ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider revision = UrlUtil.fixRevision(revision); return new WUIUrlBuilder(baseUrl, COMPONENT_CONTENT).append( - repositoryId).append(revision).append(path).append( - VIEW_HISTORY).toString(); + repositoryId).append(revision).append(path).append( + VIEW_HISTORY).toString(); } /** @@ -249,8 +248,23 @@ public class WUIRepositoryUrlProvider extends WUIModelUrlProvider { revision = UrlUtil.fixRevision(revision); - return new WUIUrlBuilder(baseUrl, COMPONENT_DIFF).append( - repositoryId).append(revision).toString(); + return new WUIUrlBuilder(baseUrl, + COMPONENT_DIFF).append(repositoryId).append(revision).toString(); + } + + /** + * Method description + * + * + * @param repositoryId + * + * @return + * @since 1.18 + */ + @Override + public String getTagsUrl(String repositoryId) + { + return getBrowseUrl(repositoryId, null, null); } //~--- fields ---------------------------------------------------------------