diff --git a/scm-webapp/src/main/java/sonia/scm/ScmContextListener.java b/scm-webapp/src/main/java/sonia/scm/ScmContextListener.java index e4ac1939eb..cb272de38f 100644 --- a/scm-webapp/src/main/java/sonia/scm/ScmContextListener.java +++ b/scm-webapp/src/main/java/sonia/scm/ScmContextListener.java @@ -43,7 +43,7 @@ import org.apache.shiro.guice.web.ShiroWebModule; import org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import sonia.scm.api.rest.resources.MapperModule; +import sonia.scm.api.v2.resources.MapperModule; import sonia.scm.cache.CacheManager; import sonia.scm.debug.DebugModule; import sonia.scm.filter.WebElementModule; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractManagerResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractManagerResource.java index 439a884eba..62ee9ea5df 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractManagerResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractManagerResource.java @@ -558,7 +558,7 @@ public abstract class AbstractManagerResource fetchItems(String sortby, boolean desc, int start, + protected Collection fetchItems(String sortby, boolean desc, int start, int limit) { AssertUtil.assertPositive(start); diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/Link.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/Link.java similarity index 84% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/Link.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/Link.java index aa02164a66..7752942676 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/Link.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/Link.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import lombok.Data; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/LinkBuilder.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java similarity index 98% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/LinkBuilder.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java index 721838da08..f37426a5e1 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/LinkBuilder.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/LinkBuilder.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import com.google.common.collect.ImmutableList; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/MapperModule.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/MapperModule.java similarity index 90% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/MapperModule.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/MapperModule.java index 77037f4092..7eddc7be8a 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/MapperModule.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/MapperModule.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import com.google.inject.AbstractModule; import org.mapstruct.factory.Mappers; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/User2UserDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/User2UserDtoMapper.java similarity index 94% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/User2UserDtoMapper.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/User2UserDtoMapper.java index 13d958e3aa..213cf56949 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/User2UserDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/User2UserDtoMapper.java @@ -1,10 +1,11 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import org.apache.shiro.SecurityUtils; import org.mapstruct.AfterMapping; import org.mapstruct.Context; import org.mapstruct.Mapper; import org.mapstruct.MappingTarget; +import sonia.scm.api.rest.resources.UserResource; import sonia.scm.security.Role; import sonia.scm.user.User; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserCollectionResource.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionResource.java similarity index 97% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserCollectionResource.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionResource.java index 254e65b5cb..5ea797e0f2 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserCollectionResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionResource.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -6,6 +6,7 @@ import com.webcohesion.enunciate.metadata.rs.ResponseCode; import com.webcohesion.enunciate.metadata.rs.ResponseHeader; import com.webcohesion.enunciate.metadata.rs.StatusCodes; import com.webcohesion.enunciate.metadata.rs.TypeHint; +import sonia.scm.api.rest.resources.AbstractManagerResource; import sonia.scm.user.User; import sonia.scm.user.UserException; import sonia.scm.user.UserManager; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserDto.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDto.java similarity index 91% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserDto.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDto.java index a1938a86c8..e3970e86af 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserDto.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDto.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import lombok.Data; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserDto2UserMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDto2UserMapper.java similarity index 95% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserDto2UserMapper.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDto2UserMapper.java index 342dfb9c59..391799f00e 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserDto2UserMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserDto2UserMapper.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import com.google.inject.Inject; import org.apache.shiro.authc.credential.PasswordService; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserNewResource.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserNewResource.java similarity index 92% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserNewResource.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserNewResource.java index 4873675746..5b72ed3094 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserNewResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserNewResource.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -6,7 +6,7 @@ import com.google.inject.Singleton; import javax.ws.rs.Path; @Singleton -@Path("usersnew") +@Path("v2/users") public class UserNewResource { private final UserCollectionResource userCollectionResource; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserSubResource.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserSubResource.java similarity index 97% rename from scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserSubResource.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserSubResource.java index 0b07188cbc..1d6bacef3f 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserSubResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserSubResource.java @@ -1,10 +1,11 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import com.google.inject.Inject; import com.webcohesion.enunciate.metadata.rs.ResponseCode; import com.webcohesion.enunciate.metadata.rs.StatusCodes; import com.webcohesion.enunciate.metadata.rs.TypeHint; import org.apache.shiro.SecurityUtils; +import sonia.scm.api.rest.resources.AbstractManagerResource; import sonia.scm.security.Role; import sonia.scm.user.User; import sonia.scm.user.UserException; diff --git a/scm-webapp/src/test/java/sonia/scm/api/rest/resources/LinkBuilderTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/LinkBuilderTest.java similarity index 98% rename from scm-webapp/src/test/java/sonia/scm/api/rest/resources/LinkBuilderTest.java rename to scm-webapp/src/test/java/sonia/scm/api/v2/resources/LinkBuilderTest.java index b6a52ba43d..31c12e8101 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/rest/resources/LinkBuilderTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/LinkBuilderTest.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import org.junit.Before; import org.junit.Test; diff --git a/scm-webapp/src/test/java/sonia/scm/api/rest/resources/User2UserDtoMapperTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/User2UserDtoMapperTest.java similarity index 86% rename from scm-webapp/src/test/java/sonia/scm/api/rest/resources/User2UserDtoMapperTest.java rename to scm-webapp/src/test/java/sonia/scm/api/v2/resources/User2UserDtoMapperTest.java index ea6075059c..a5fb671121 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/rest/resources/User2UserDtoMapperTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/User2UserDtoMapperTest.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.support.SubjectThreadState; @@ -6,6 +6,7 @@ import org.apache.shiro.util.ThreadState; import org.junit.Before; import org.junit.Test; import org.mapstruct.factory.Mappers; +import sonia.scm.api.rest.resources.UserResource; import sonia.scm.user.User; import javax.ws.rs.core.UriInfo; @@ -41,10 +42,10 @@ public class User2UserDtoMapperTest { UserDto userDto = mapper.userToUserDto(user, uriInfo); - assertEquals("expected map with self baseUri", baseUri.resolve("usersnew/abc"), userDto.getLinks().get("self").getHref()); - assertEquals("expected map with delete baseUri", baseUri.resolve("usersnew/abc"), userDto.getLinks().get("delete").getHref()); - assertEquals("expected map with update baseUri", baseUri.resolve("usersnew/abc"), userDto.getLinks().get("update").getHref()); - assertEquals("expected map with create baseUri", baseUri.resolve("usersnew"), userDto.getLinks().get("create").getHref()); + assertEquals("expected map with self baseUri", baseUri.resolve("v2/users/abc"), userDto.getLinks().get("self").getHref()); + assertEquals("expected map with delete baseUri", baseUri.resolve("v2/users/abc"), userDto.getLinks().get("delete").getHref()); + assertEquals("expected map with update baseUri", baseUri.resolve("v2/users/abc"), userDto.getLinks().get("update").getHref()); + assertEquals("expected map with create baseUri", baseUri.resolve("v2/users"), userDto.getLinks().get("create").getHref()); } @Test @@ -55,7 +56,7 @@ public class User2UserDtoMapperTest { UserDto userDto = mapper.userToUserDto(user, uriInfo); - assertEquals("expected map with self baseUri", baseUri.resolve("usersnew/abc"), userDto.getLinks().get("self").getHref()); + assertEquals("expected map with self baseUri", baseUri.resolve("v2/users/abc"), userDto.getLinks().get("self").getHref()); assertNull("expected map without delete baseUri", userDto.getLinks().get("delete")); assertNull("expected map without update baseUri", userDto.getLinks().get("update")); assertNull("expected map without create baseUri", userDto.getLinks().get("create")); diff --git a/scm-webapp/src/test/java/sonia/scm/api/rest/resources/UserDto2UserMapperTest.java b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/UserDto2UserMapperTest.java similarity index 96% rename from scm-webapp/src/test/java/sonia/scm/api/rest/resources/UserDto2UserMapperTest.java rename to scm-webapp/src/test/java/sonia/scm/api/v2/resources/UserDto2UserMapperTest.java index 08bcdb5b4e..788ec0d64e 100644 --- a/scm-webapp/src/test/java/sonia/scm/api/rest/resources/UserDto2UserMapperTest.java +++ b/scm-webapp/src/test/java/sonia/scm/api/v2/resources/UserDto2UserMapperTest.java @@ -1,4 +1,4 @@ -package sonia.scm.api.rest.resources; +package sonia.scm.api.v2.resources; import org.apache.shiro.authc.credential.PasswordService; import org.junit.Before;