Merge branch 'POC_stateless_sessions' of github.com:atmire/DSpace into POC_stateless_sessions

This commit is contained in:
frederic
2017-11-07 12:03:10 +01:00
27 changed files with 41 additions and 73 deletions

View File

@@ -18,8 +18,6 @@ import org.dspace.app.rest.model.BitstreamRest;
import org.dspace.app.rest.repository.BitstreamRestRepository; import org.dspace.app.rest.repository.BitstreamRestRepository;
import org.dspace.core.Utils; import org.dspace.core.Utils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.hateoas.Link;
import org.springframework.hateoas.ResourceSupport;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;

View File

@@ -7,6 +7,8 @@
*/ */
package org.dspace.app.rest; package org.dspace.app.rest;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.hateoas.Link; import org.springframework.hateoas.Link;
import org.springframework.hateoas.ResourceSupport; import org.springframework.hateoas.ResourceSupport;
@@ -14,8 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/** /**
* This is the main entry point of the new REST API. Its responsibility is to * This is the main entry point of the new REST API. Its responsibility is to
* provide a consistent behaviors for all the exposed resources in terms of * provide a consistent behaviors for all the exposed resources in terms of

View File

@@ -10,7 +10,6 @@ package org.dspace.app.rest.converter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.dspace.app.rest.model.BitstreamRest;
import org.dspace.app.rest.model.CollectionRest; import org.dspace.app.rest.model.CollectionRest;
import org.dspace.app.rest.model.CommunityRest; import org.dspace.app.rest.model.CommunityRest;
import org.dspace.content.Bitstream; import org.dspace.content.Bitstream;

View File

@@ -13,7 +13,6 @@ import java.util.List;
import org.dspace.app.rest.model.MetadataEntryRest; import org.dspace.app.rest.model.MetadataEntryRest;
import org.dspace.content.DSpaceObject; import org.dspace.content.DSpaceObject;
import org.dspace.content.MetadataValue; import org.dspace.content.MetadataValue;
import org.springframework.core.convert.converter.Converter;
/** /**
* *

View File

@@ -11,8 +11,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.app.rest.model.GroupRest;
import org.dspace.app.rest.model.EPersonRest; import org.dspace.app.rest.model.EPersonRest;
import org.dspace.app.rest.model.GroupRest;
import org.dspace.eperson.EPerson; import org.dspace.eperson.EPerson;
import org.dspace.eperson.Group; import org.dspace.eperson.Group;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -9,9 +9,8 @@ package org.dspace.app.rest.model;
import java.io.Serializable; import java.io.Serializable;
import org.springframework.hateoas.Identifiable;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import org.springframework.hateoas.Identifiable;
/** /**
* Base class for any REST resource that need to be addressable * Base class for any REST resource that need to be addressable

View File

@@ -9,9 +9,8 @@ package org.dspace.app.rest.model;
import java.util.List; import java.util.List;
import org.dspace.app.rest.RestResourceController;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import org.dspace.app.rest.RestResourceController;
/** /**
* The BitstreamFormat REST Resource * The BitstreamFormat REST Resource

View File

@@ -9,10 +9,9 @@ package org.dspace.app.rest.model;
import java.util.List; import java.util.List;
import org.dspace.app.rest.RestResourceController;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.dspace.app.rest.RestResourceController;
/** /**
* The Browse Index REST Resource * The Browse Index REST Resource

View File

@@ -9,9 +9,8 @@ package org.dspace.app.rest.model;
import java.util.List; import java.util.List;
import org.dspace.app.rest.RestResourceController;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import org.dspace.app.rest.RestResourceController;
/** /**
* The Group REST Resource * The Group REST Resource

View File

@@ -11,8 +11,6 @@ import java.util.Date;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
/** /**
* The Item REST Resource * The Item REST Resource

View File

@@ -7,9 +7,8 @@
*/ */
package org.dspace.app.rest.model; package org.dspace.app.rest.model;
import org.dspace.app.rest.RestResourceController;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import org.dspace.app.rest.RestResourceController;
/** /**
* The MetadataField REST Resource * The MetadataField REST Resource

View File

@@ -7,12 +7,8 @@
*/ */
package org.dspace.app.rest.model; package org.dspace.app.rest.model;
import java.util.List;
import org.dspace.app.rest.RestResourceController; import org.dspace.app.rest.RestResourceController;
import com.fasterxml.jackson.annotation.JsonIgnore;
/** /**
* The MetadataSchema REST Resource * The MetadataSchema REST Resource
* *

View File

@@ -10,6 +10,7 @@ package org.dspace.app.rest.model.hateoas;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo; import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn; import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import org.atteo.evo.inflector.English; import org.atteo.evo.inflector.English;
import org.dspace.app.rest.RestResourceController; import org.dspace.app.rest.RestResourceController;
import org.dspace.app.rest.model.BrowseEntryRest; import org.dspace.app.rest.model.BrowseEntryRest;
@@ -18,8 +19,6 @@ import org.springframework.hateoas.Link;
import org.springframework.hateoas.ResourceSupport; import org.springframework.hateoas.ResourceSupport;
import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.UriComponentsBuilder;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
/** /**
* Browse Entry Rest HAL Resource. The HAL Resource wraps the REST Resource * Browse Entry Rest HAL Resource. The HAL Resource wraps the REST Resource
* adding support for the links and embedded resources * adding support for the links and embedded resources

View File

@@ -7,23 +7,22 @@
*/ */
package org.dspace.app.rest.model.hateoas; package org.dspace.app.rest.model.hateoas;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import java.beans.IntrospectionException; import java.beans.IntrospectionException;
import java.beans.Introspector; import java.beans.Introspector;
import java.beans.PropertyDescriptor; import java.beans.PropertyDescriptor;
import java.io.Serializable; import java.io.Serializable;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.atteo.evo.inflector.English;
import org.dspace.app.rest.model.BaseObjectRest; import org.dspace.app.rest.model.BaseObjectRest;
import org.dspace.app.rest.model.LinkRest; import org.dspace.app.rest.model.LinkRest;
import org.dspace.app.rest.model.LinksRest; import org.dspace.app.rest.model.LinksRest;
@@ -33,17 +32,8 @@ import org.dspace.app.rest.repository.LinkRestRepository;
import org.dspace.app.rest.utils.Utils; import org.dspace.app.rest.utils.Utils;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.rest.webmvc.EmbeddedResourcesAssembler;
import org.springframework.hateoas.Link; import org.springframework.hateoas.Link;
import org.springframework.hateoas.PagedResources;
import org.springframework.hateoas.ResourceSupport; import org.springframework.hateoas.ResourceSupport;
import org.springframework.hateoas.core.EmbeddedWrappers;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
/** /**
* A base class for DSpace Rest HAL Resource. The HAL Resource wraps the REST * A base class for DSpace Rest HAL Resource. The HAL Resource wraps the REST

View File

@@ -11,11 +11,10 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.springframework.data.domain.Page;
import org.springframework.web.util.UriComponentsBuilder;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import org.springframework.data.domain.Page;
import org.springframework.web.util.UriComponentsBuilder;
public class EmbeddedPage { public class EmbeddedPage {

View File

@@ -7,6 +7,8 @@
*/ */
package org.dspace.app.rest.repository; package org.dspace.app.rest.repository;
import java.sql.SQLException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.app.rest.utils.ContextUtil; import org.dspace.app.rest.utils.ContextUtil;
import org.dspace.app.rest.utils.Utils; import org.dspace.app.rest.utils.Utils;
@@ -16,8 +18,6 @@ import org.dspace.services.model.Request;
import org.dspace.utils.DSpace; import org.dspace.utils.DSpace;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.sql.SQLException;
/** /**
* This is the base class for any Rest Repository. It provides utility method to * This is the base class for any Rest Repository. It provides utility method to
* access the DSpaceContext * access the DSpaceContext

View File

@@ -12,6 +12,7 @@ import java.util.Arrays;
import java.util.Iterator; import java.util.Iterator;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;

View File

@@ -7,16 +7,12 @@
*/ */
package org.dspace.app.rest.repository; package org.dspace.app.rest.repository;
import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.dspace.app.rest.converter.BrowseIndexConverter; import org.dspace.app.rest.converter.BrowseIndexConverter;
import org.dspace.app.rest.converter.CollectionConverter;
import org.dspace.app.rest.model.BrowseIndexRest; import org.dspace.app.rest.model.BrowseIndexRest;
import org.dspace.app.rest.model.CollectionRest;
import org.dspace.app.rest.model.hateoas.BrowseIndexResource; import org.dspace.app.rest.model.hateoas.BrowseIndexResource;
import org.dspace.app.rest.model.hateoas.CollectionResource;
import org.dspace.browse.BrowseException; import org.dspace.browse.BrowseException;
import org.dspace.browse.BrowseIndex; import org.dspace.browse.BrowseIndex;
import org.dspace.core.Context; import org.dspace.core.Context;
@@ -24,7 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.rest.webmvc.ResourceNotFoundException;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**

View File

@@ -10,6 +10,7 @@ package org.dspace.app.rest.repository;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Iterator; import java.util.Iterator;
import java.util.UUID; import java.util.UUID;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;

View File

@@ -11,13 +11,7 @@ import java.io.Serializable;
import org.dspace.app.rest.model.RestModel; import org.dspace.app.rest.model.RestModel;
import org.dspace.app.rest.model.hateoas.DSpaceResource; import org.dspace.app.rest.model.hateoas.DSpaceResource;
import org.dspace.app.rest.utils.ContextUtil;
import org.dspace.app.rest.utils.Utils;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.services.RequestService;
import org.dspace.services.model.Request;
import org.dspace.utils.DSpace;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;

View File

@@ -8,8 +8,10 @@
package org.dspace.app.rest.utils; package org.dspace.app.rest.utils;
import java.sql.SQLException; import java.sql.SQLException;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.ServletRequest; import javax.servlet.ServletRequest;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.core.Context; import org.dspace.core.Context;

View File

@@ -7,6 +7,10 @@
*/ */
package org.dspace.app.rest.builder; package org.dspace.app.rest.builder;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.AuthorizeException;
import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.ResourcePolicy;
@@ -16,7 +20,14 @@ import org.dspace.authorize.service.ResourcePolicyService;
import org.dspace.content.DSpaceObject; import org.dspace.content.DSpaceObject;
import org.dspace.content.Item; import org.dspace.content.Item;
import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.*; import org.dspace.content.service.BitstreamService;
import org.dspace.content.service.BundleService;
import org.dspace.content.service.CollectionService;
import org.dspace.content.service.CommunityService;
import org.dspace.content.service.DSpaceObjectService;
import org.dspace.content.service.InstallItemService;
import org.dspace.content.service.ItemService;
import org.dspace.content.service.WorkspaceItemService;
import org.dspace.core.Constants; import org.dspace.core.Constants;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.discovery.IndexingService; import org.dspace.discovery.IndexingService;
@@ -30,10 +41,6 @@ import org.joda.time.DateTimeZone;
import org.joda.time.MutablePeriod; import org.joda.time.MutablePeriod;
import org.joda.time.format.PeriodFormat; import org.joda.time.format.PeriodFormat;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
/** /**
* Abstract builder to construct DSpace Objects * Abstract builder to construct DSpace Objects
*/ */

View File

@@ -7,15 +7,11 @@
*/ */
package org.dspace.app.rest.builder; package org.dspace.app.rest.builder;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection; import org.dspace.content.Collection;
import org.dspace.content.Community; import org.dspace.content.Community;
import org.dspace.content.MetadataSchema; import org.dspace.content.MetadataSchema;
import org.dspace.content.service.DSpaceObjectService; import org.dspace.content.service.DSpaceObjectService;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.discovery.SearchServiceException;
import java.sql.SQLException;
/** /**
* Builder to construct Collection objects * Builder to construct Collection objects

View File

@@ -11,7 +11,6 @@ import org.dspace.content.Community;
import org.dspace.content.MetadataSchema; import org.dspace.content.MetadataSchema;
import org.dspace.content.service.DSpaceObjectService; import org.dspace.content.service.DSpaceObjectService;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.discovery.SearchServiceException;
/** /**
* Builder to construct Community objects * Builder to construct Community objects

View File

@@ -7,7 +7,11 @@
*/ */
package org.dspace.app.rest.builder; package org.dspace.app.rest.builder;
import org.dspace.content.*; import org.dspace.content.Collection;
import org.dspace.content.DCDate;
import org.dspace.content.Item;
import org.dspace.content.MetadataSchema;
import org.dspace.content.WorkspaceItem;
import org.dspace.content.service.DSpaceObjectService; import org.dspace.content.service.DSpaceObjectService;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.eperson.Group; import org.dspace.eperson.Group;

View File

@@ -7,12 +7,12 @@
*/ */
package org.dspace.app.rest.matcher; package org.dspace.app.rest.matcher;
import org.hamcrest.Matcher;
import static com.jayway.jsonpath.matchers.JsonPathMatchers.hasJsonPath; import static com.jayway.jsonpath.matchers.JsonPathMatchers.hasJsonPath;
import static org.dspace.app.rest.test.AbstractControllerIntegrationTest.REST_SERVER_URL; import static org.dspace.app.rest.test.AbstractControllerIntegrationTest.REST_SERVER_URL;
import static org.hamcrest.Matchers.*; import static org.hamcrest.Matchers.*;
import org.hamcrest.Matcher;
public class BrowseEntryResourceMatcher { public class BrowseEntryResourceMatcher {
public static Matcher<? super Object> matchBrowseEntry(String value, int expectedCount) { public static Matcher<? super Object> matchBrowseEntry(String value, int expectedCount) {
return allOf( return allOf(

View File

@@ -9,11 +9,7 @@ package org.dspace.app.rest.matcher;
import static com.jayway.jsonpath.matchers.JsonPathMatchers.hasJsonPath; import static com.jayway.jsonpath.matchers.JsonPathMatchers.hasJsonPath;
import static org.dspace.app.rest.test.AbstractControllerIntegrationTest.REST_SERVER_URL; import static org.dspace.app.rest.test.AbstractControllerIntegrationTest.REST_SERVER_URL;
import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.*;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.startsWith;
import org.dspace.content.Item; import org.dspace.content.Item;
import org.hamcrest.Matcher; import org.hamcrest.Matcher;