From 8e4e00014ad5e6a6b05dc69052525570129d83ea Mon Sep 17 00:00:00 2001 From: Sean Flanigan Date: Mon, 9 Sep 2013 14:03:59 +1000 Subject: [PATCH] Get JAX-RS @Path values from constants in zanata-common-api This lets us put @Path into the API interfaces, so that Enunciate can generate REST docs. --- pom.xml | 2 +- .../main/java/org/zanata/model/validator/SlugValidator.java | 5 +++-- .../main/java/org/zanata/rest/service/AccountService.java | 2 +- .../rest/service/AsynchronousProcessResourceService.java | 5 +++-- .../org/zanata/rest/service/CopyTransResourceService.java | 2 +- .../org/zanata/rest/service/ProjectIterationService.java | 4 ---- .../main/java/org/zanata/rest/service/ProjectService.java | 4 ---- .../main/java/org/zanata/rest/service/ProjectsService.java | 2 +- .../org/zanata/rest/service/SourceDocResourceService.java | 1 - .../zanata/rest/service/TranslatedDocResourceService.java | 2 -- .../rest/service/TranslationMemoryResourceService.java | 2 +- .../main/java/org/zanata/rest/service/VersionService.java | 3 +-- .../src/main/java/org/zanata/rest/service/ZPathService.java | 2 +- 13 files changed, 13 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 5d2928740b..ee52a40d1c 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ 1.2.1 0.22 - 3.0.2 + 3.1-SNAPSHOT 3.0.1 3.0.1 diff --git a/zanata-model/src/main/java/org/zanata/model/validator/SlugValidator.java b/zanata-model/src/main/java/org/zanata/model/validator/SlugValidator.java index 716da4a470..72b1446ec7 100644 --- a/zanata-model/src/main/java/org/zanata/model/validator/SlugValidator.java +++ b/zanata-model/src/main/java/org/zanata/model/validator/SlugValidator.java @@ -25,11 +25,12 @@ import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; +import org.zanata.rest.service.RestConstants; + public class SlugValidator implements ConstraintValidator, Serializable { private static final long serialVersionUID = 1L; - public static final String PATTERN = "[a-zA-Z0-9]+([a-zA-Z0-9_\\-{.}]*[a-zA-Z0-9]+)?"; @Override public void initialize(Slug parameters) @@ -43,7 +44,7 @@ public boolean isValid(String string, ConstraintValidatorContext context) { return true; } - return string.isEmpty() || string.matches(PATTERN); + return string.isEmpty() || string.matches(RestConstants.SLUG_PATTERN); } } diff --git a/zanata-war/src/main/java/org/zanata/rest/service/AccountService.java b/zanata-war/src/main/java/org/zanata/rest/service/AccountService.java index d2f1db64bf..5a2885ab7a 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/AccountService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/AccountService.java @@ -36,7 +36,7 @@ import org.zanata.rest.MediaTypes; import org.zanata.rest.dto.Account; -@Name("accountService") +@Name(AccountResource.SERVICE_PATH) @Path("/accounts/u/{username:[a-z\\d_]{3,20}}") @Transactional public class AccountService implements AccountResource diff --git a/zanata-war/src/main/java/org/zanata/rest/service/AsynchronousProcessResourceService.java b/zanata-war/src/main/java/org/zanata/rest/service/AsynchronousProcessResourceService.java index 168d5a4f25..feaa9355e9 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/AsynchronousProcessResourceService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/AsynchronousProcessResourceService.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Set; import java.util.concurrent.ExecutionException; + import javax.ws.rs.DefaultValue; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @@ -57,10 +58,10 @@ import org.zanata.service.TranslationService; import org.zanata.service.impl.DocumentServiceImpl; import org.zanata.service.impl.TranslationServiceImpl; + import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; - import static org.zanata.rest.dto.ProcessStatus.ProcessStatusCode; /** @@ -69,7 +70,7 @@ * @author Carlos Munoz camunoz@redhat.com */ @Name("asynchronousProcessResourceService") -@Path("/async") +@Path(AsynchronousProcessResource.SERVICE_PATH) @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) @Transactional @Slf4j diff --git a/zanata-war/src/main/java/org/zanata/rest/service/CopyTransResourceService.java b/zanata-war/src/main/java/org/zanata/rest/service/CopyTransResourceService.java index 8c9adc91cd..cfb73b99c4 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/CopyTransResourceService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/CopyTransResourceService.java @@ -38,7 +38,7 @@ * @author Carlos Munoz camunoz@redhat.com */ @Name("copyTransResourceService") -@Path("/copytrans") +@Path(CopyTransResource.SERVICE_PATH) public class CopyTransResourceService implements CopyTransResource { @In diff --git a/zanata-war/src/main/java/org/zanata/rest/service/ProjectIterationService.java b/zanata-war/src/main/java/org/zanata/rest/service/ProjectIterationService.java index 5b6122ca7a..7a6d1cf56a 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/ProjectIterationService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/ProjectIterationService.java @@ -66,10 +66,6 @@ @Transactional public class ProjectIterationService implements ProjectIterationResource { - - public static final String ITERATION_SLUG_TEMPLATE = "{iterationSlug:" + SlugValidator.PATTERN + "}"; - public static final String SERVICE_PATH = ProjectService.SERVICE_PATH + "/iterations/i/" + ITERATION_SLUG_TEMPLATE; - /** Project Identifier. */ @PathParam("projectSlug") private String projectSlug; diff --git a/zanata-war/src/main/java/org/zanata/rest/service/ProjectService.java b/zanata-war/src/main/java/org/zanata/rest/service/ProjectService.java index 81a7b52ced..7bba1af953 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/ProjectService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/ProjectService.java @@ -53,10 +53,6 @@ @Transactional public class ProjectService implements ProjectResource { - - public static final String PROJECT_SLUG_TEMPLATE = "{projectSlug:" + SlugValidator.PATTERN + "}"; - public static final String SERVICE_PATH = "/projects/p/" + PROJECT_SLUG_TEMPLATE; - /** Project Identifier. */ @PathParam("projectSlug") String projectSlug; diff --git a/zanata-war/src/main/java/org/zanata/rest/service/ProjectsService.java b/zanata-war/src/main/java/org/zanata/rest/service/ProjectsService.java index 7b1ffbc408..e7a6178176 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/ProjectsService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/ProjectsService.java @@ -56,7 +56,7 @@ import com.google.common.base.Objects; @Name("projectsService") -@Path("/projects") +@Path(ProjectsResource.SERVICE_PATH) @Transactional public class ProjectsService implements ProjectsResource { diff --git a/zanata-war/src/main/java/org/zanata/rest/service/SourceDocResourceService.java b/zanata-war/src/main/java/org/zanata/rest/service/SourceDocResourceService.java index 990f3bca46..128313d3d8 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/SourceDocResourceService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/SourceDocResourceService.java @@ -85,7 +85,6 @@ @Transactional public class SourceDocResourceService implements SourceDocResource { - public static final String SERVICE_PATH = ProjectIterationService.SERVICE_PATH + "/r"; @Logger private Log log; diff --git a/zanata-war/src/main/java/org/zanata/rest/service/TranslatedDocResourceService.java b/zanata-war/src/main/java/org/zanata/rest/service/TranslatedDocResourceService.java index 380eb68eaf..5e170ddebe 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/TranslatedDocResourceService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/TranslatedDocResourceService.java @@ -86,8 +86,6 @@ public class TranslatedDocResourceService implements TranslatedDocResource // private static final String ACTION_IMPORT_TEMPLATE = "import-template"; // private static final String ACTION_IMPORT_TRANSLATION = "import-translation"; - public static final String SERVICE_PATH = ProjectIterationService.SERVICE_PATH + "/r"; - public static final String EVENT_COPY_TRANS = "org.zanata.rest.service.copyTrans"; /** Project Identifier. */ diff --git a/zanata-war/src/main/java/org/zanata/rest/service/TranslationMemoryResourceService.java b/zanata-war/src/main/java/org/zanata/rest/service/TranslationMemoryResourceService.java index 201e85f861..1675087091 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/TranslationMemoryResourceService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/TranslationMemoryResourceService.java @@ -56,7 +56,7 @@ import com.google.common.base.Optional; @Name("translationMemoryResource") -@Path("/tm") +@Path(TranslationMemoryResource.SERVICE_PATH) @Transactional(TransactionPropagationType.SUPPORTS) @Slf4j @ParametersAreNonnullByDefault diff --git a/zanata-war/src/main/java/org/zanata/rest/service/VersionService.java b/zanata-war/src/main/java/org/zanata/rest/service/VersionService.java index a2527a34af..95c4a52b1a 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/VersionService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/VersionService.java @@ -14,10 +14,9 @@ @Name("versionService") -@Path(VersionService.SERVICE_PATH) +@Path(VersionResource.SERVICE_PATH) public class VersionService implements VersionResource { - public static final String SERVICE_PATH = "/version"; private final VersionInfo version; diff --git a/zanata-war/src/main/java/org/zanata/rest/service/ZPathService.java b/zanata-war/src/main/java/org/zanata/rest/service/ZPathService.java index 40b69622d2..5a356acb96 100644 --- a/zanata-war/src/main/java/org/zanata/rest/service/ZPathService.java +++ b/zanata-war/src/main/java/org/zanata/rest/service/ZPathService.java @@ -54,7 +54,7 @@ public class ZPathService * Public ZPaths. * Used for rest resource path declaration. */ - public static final String PROJECT_ZPATH = "/proj/" + SlugValidator.PATTERN; + public static final String PROJECT_ZPATH = "/proj/" + RestConstants.SLUG_PATTERN; /* * Private ZPaths.