DATACMNS-867 - Second draft.
This commit is contained in:
@@ -52,7 +52,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("supportedMethod", Pageable.class), 0);
|
||||
UriComponentsContributor resolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080?page=0&size=10");
|
||||
resolver.enhance(builder, parameter, new PageRequest(1, 20));
|
||||
resolver.enhance(builder, parameter, PageRequest.of(1, 20));
|
||||
|
||||
MultiValueMap<String, String> params = builder.build().getQueryParams();
|
||||
|
||||
@@ -67,7 +67,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
|
||||
@Test // DATACMNS-335
|
||||
public void preventsPageSizeFromExceedingMayValueIfConfiguredOnWrite() throws Exception {
|
||||
assertUriStringFor(new PageRequest(0, 200), "page=0&size=100");
|
||||
assertUriStringFor(PageRequest.of(0, 200), "page=0&size=100");
|
||||
}
|
||||
|
||||
@Test // DATACMNS-418
|
||||
@@ -101,7 +101,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests
|
||||
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/");
|
||||
|
||||
resolver.enhance(builder, null, new PageRequest(0, 10));
|
||||
resolver.enhance(builder, null, PageRequest.of(0, 10));
|
||||
|
||||
MultiValueMap<String, String> params = builder.build().getQueryParams();
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.springframework.data.web;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
@@ -64,7 +64,7 @@ public class MapDataBinderUnitTests {
|
||||
|
||||
Map<String, Object> result = bind(values);
|
||||
|
||||
List<String> list = new ArrayList<String>();
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("String");
|
||||
|
||||
assertThat(result).isEqualTo((Map) singletonMap("foo", singletonMap("bar", singletonMap("fooBar", list))));
|
||||
|
||||
@@ -48,10 +48,10 @@ public abstract class PageableDefaultUnitTests {
|
||||
static final int PAGE_SIZE = 47;
|
||||
static final int PAGE_NUMBER = 23;
|
||||
|
||||
static final AbstractPageRequest REFERENCE_WITHOUT_SORT = new PageRequest(PAGE_NUMBER, PAGE_SIZE);
|
||||
static final AbstractPageRequest REFERENCE_WITH_SORT = new PageRequest(PAGE_NUMBER, PAGE_SIZE, SORT);
|
||||
static final AbstractPageRequest REFERENCE_WITH_SORT_FIELDS = new PageRequest(PAGE_NUMBER, PAGE_SIZE, new Sort(
|
||||
SORT_FIELDS));
|
||||
static final AbstractPageRequest REFERENCE_WITHOUT_SORT = PageRequest.of(PAGE_NUMBER, PAGE_SIZE);
|
||||
static final AbstractPageRequest REFERENCE_WITH_SORT = PageRequest.of(PAGE_NUMBER, PAGE_SIZE, SORT);
|
||||
static final AbstractPageRequest REFERENCE_WITH_SORT_FIELDS = PageRequest.of(PAGE_NUMBER, PAGE_SIZE,
|
||||
Sort.by(SORT_FIELDS));
|
||||
|
||||
@Rule public ExpectedException exception = ExpectedException.none();
|
||||
|
||||
@@ -69,8 +69,8 @@ public abstract class PageableDefaultUnitTests {
|
||||
|
||||
@Test
|
||||
public void returnsDefaultIfNoRequestParametersAndNoDefault() throws Exception {
|
||||
assertSupportedAndResult(getParameterOfMethod("supportedMethod"),
|
||||
(Pageable) ReflectionTestUtils.getField(getResolver(), "fallbackPageable"));
|
||||
assertSupportedAndResult(getParameterOfMethod("supportedMethod"), (Pageable) ReflectionTestUtils
|
||||
.invokeMethod(ReflectionTestUtils.getField(getResolver(), "fallbackPageable"), "get"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -18,6 +18,8 @@ package org.springframework.data.web;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.springframework.data.web.PageableHandlerMethodArgumentResolver.*;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
@@ -53,7 +55,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
request.addParameter("page", "0");
|
||||
request.addParameter("size", "200");
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, new PageRequest(0, 100), request);
|
||||
assertSupportedAndResult(supportedMethodParameter, PageRequest.of(0, 100), request);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@@ -85,7 +87,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
request.addParameter("foo_page", "2");
|
||||
request.addParameter("foo_size", "10");
|
||||
|
||||
assertSupportedAndResult(parameter, new PageRequest(2, 10), request);
|
||||
assertSupportedAndResult(parameter, PageRequest.of(2, 10), request);
|
||||
}
|
||||
|
||||
@Test // DATACMNS-377
|
||||
@@ -141,7 +143,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
public void returnsNullIfFallbackIsNullAndNoParametersGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(null);
|
||||
resolver.setFallbackPageable(Optional.empty());
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, null, new ServletWebRequest(new MockHttpServletRequest()),
|
||||
resolver);
|
||||
@@ -151,7 +153,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
public void returnsNullIfFallbackIsNullAndOnlyPageIsGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(null);
|
||||
resolver.setFallbackPageable(Optional.empty());
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "20");
|
||||
@@ -163,7 +165,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
public void returnsNullIfFallbackIsNullAndOnlySizeIsGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(null);
|
||||
resolver.setFallbackPageable(Optional.empty());
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("size", "10");
|
||||
@@ -189,7 +191,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
public void usesNullSortIfNoDefaultIsConfiguredAndPageAndSizeAreGiven() {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(null);
|
||||
resolver.setFallbackPageable(Optional.empty());
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "0");
|
||||
@@ -199,7 +201,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
|
||||
assertThat(result.getPageNumber()).isEqualTo(0);
|
||||
assertThat(result.getPageSize()).isEqualTo(10);
|
||||
assertThat(result.getSort()).isNull();
|
||||
assertThat(result.getSort().isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATACMNS-692
|
||||
@@ -236,8 +238,8 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(null);
|
||||
|
||||
assertThat(resolver.isFallbackPageable(null), is(false));
|
||||
assertThat(resolver.isFallbackPageable(new PageRequest(0, 10)), is(false));
|
||||
assertThat(resolver.isFallbackPageable(null)).isFalse();
|
||||
assertThat(resolver.isFallbackPageable(PageRequest.of(0, 10))).isTrue();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -49,11 +49,11 @@ import org.springframework.web.util.UriComponentsBuilder;
|
||||
*/
|
||||
public class PagedResourcesAssemblerUnitTests {
|
||||
|
||||
static final Pageable PAGEABLE = new PageRequest(0, 20);
|
||||
static final Page<Person> EMPTY_PAGE = new PageImpl<Person>(Collections.<Person> emptyList(), PAGEABLE, 0);
|
||||
static final Pageable PAGEABLE = PageRequest.of(0, 20);
|
||||
static final Page<Person> EMPTY_PAGE = new PageImpl<>(Collections.emptyList(), PAGEABLE, 0);
|
||||
|
||||
HateoasPageableHandlerMethodArgumentResolver resolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(resolver, null);
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, null);
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -95,7 +95,7 @@ public class PagedResourcesAssemblerUnitTests {
|
||||
|
||||
UriComponents baseUri = UriComponentsBuilder.fromUriString("http://foo:9090").build();
|
||||
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(resolver, baseUri);
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, baseUri);
|
||||
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1));
|
||||
|
||||
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref()).startsWith(baseUri.toUriString());
|
||||
@@ -120,8 +120,8 @@ public class PagedResourcesAssemblerUnitTests {
|
||||
|
||||
resolver.setOneIndexedParameters(true);
|
||||
|
||||
AbstractPageRequest request = new PageRequest(0, 1);
|
||||
Page<Person> page = new PageImpl<Person>(Collections.<Person> emptyList(), request, 0);
|
||||
AbstractPageRequest request = PageRequest.of(0, 1);
|
||||
Page<Person> page = new PageImpl<>(Collections.emptyList(), request, 0);
|
||||
|
||||
assembler.toResource(page);
|
||||
}
|
||||
@@ -155,7 +155,7 @@ public class PagedResourcesAssemblerUnitTests {
|
||||
HateoasPageableHandlerMethodArgumentResolver argumentResolver = new HateoasPageableHandlerMethodArgumentResolver();
|
||||
argumentResolver.setOneIndexedParameters(true);
|
||||
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(argumentResolver, null);
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(argumentResolver, null);
|
||||
PagedResources<Resource<Person>> resource = assembler.toResource(createPage(1));
|
||||
|
||||
assertThat(resource.hasLink("prev")).isTrue();
|
||||
@@ -228,7 +228,7 @@ public class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-701
|
||||
public void alwaysAddsFirstAndLastLinkIfConfiguredTo() {
|
||||
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(resolver, null);
|
||||
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, null);
|
||||
assembler.setForceFirstAndLastRels(true);
|
||||
|
||||
PagedResources<Resource<Person>> resources = assembler.toResource(EMPTY_PAGE);
|
||||
@@ -240,7 +240,7 @@ public class PagedResourcesAssemblerUnitTests {
|
||||
@Test // DATACMNS-802
|
||||
public void usesCustomPagedResources() {
|
||||
|
||||
ResourceAssembler<Page<Person>, PagedResources<Resource<Person>>> assembler = new CustomPagedResourcesAssembler<Person>(
|
||||
ResourceAssembler<Page<Person>, PagedResources<Resource<Person>>> assembler = new CustomPagedResourcesAssembler<>(
|
||||
resolver, null);
|
||||
|
||||
assertThat(assembler.toResource(EMPTY_PAGE)).isInstanceOf(CustomPagedResources.class);
|
||||
@@ -248,12 +248,12 @@ public class PagedResourcesAssemblerUnitTests {
|
||||
|
||||
private static Page<Person> createPage(int index) {
|
||||
|
||||
AbstractPageRequest request = new PageRequest(index, 1);
|
||||
Pageable request = PageRequest.of(index, 1);
|
||||
|
||||
Person person = new Person();
|
||||
person.name = "Dave";
|
||||
|
||||
return new PageImpl<Person>(Arrays.asList(person), request, 3);
|
||||
return new PageImpl<>(Arrays.asList(person), request, 3);
|
||||
}
|
||||
|
||||
private static Map<String, String> getQueryParameters(Link link) {
|
||||
@@ -293,7 +293,7 @@ public class PagedResourcesAssemblerUnitTests {
|
||||
@Override
|
||||
protected <R extends ResourceSupport, S> PagedResources<R> createPagedResource(List<R> resources,
|
||||
PageMetadata metadata, Page<S> page) {
|
||||
return new CustomPagedResources<R>(resources, metadata);
|
||||
return new CustomPagedResources<>(resources, metadata);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.springframework.data.web;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
@@ -46,17 +46,16 @@ public abstract class SortDefaultUnitTests {
|
||||
|
||||
static final Sort SORT = new Sort(SORT_DIRECTION, SORT_FIELDS);
|
||||
|
||||
@Rule
|
||||
public ExpectedException exception = ExpectedException.none();
|
||||
@Rule public ExpectedException exception = ExpectedException.none();
|
||||
|
||||
@Test
|
||||
public void parsesSimpleSortStringCorrectly() {
|
||||
|
||||
assertSortStringParsedInto(new Sort(new Order("username")), SORT_1);
|
||||
assertSortStringParsedInto(new Sort(new Order(ASC, "username")), SORT_1);
|
||||
assertSortStringParsedInto(new Sort(new Order(ASC, "username"), //
|
||||
assertSortStringParsedInto(Sort.by(new Order("username")), SORT_1);
|
||||
assertSortStringParsedInto(Sort.by(new Order(ASC, "username")), SORT_1);
|
||||
assertSortStringParsedInto(Sort.by(new Order(ASC, "username"), //
|
||||
new Order(DESC, "lastname"), new Order(DESC, "firstname")), SORT_2);
|
||||
assertSortStringParsedInto(new Sort("firstname", "lastname"), SORT_3);
|
||||
assertSortStringParsedInto(Sort.by("firstname", "lastname"), SORT_3);
|
||||
}
|
||||
|
||||
private static void assertSortStringParsedInto(Sort expected, String... source) {
|
||||
@@ -74,12 +73,12 @@ public abstract class SortDefaultUnitTests {
|
||||
|
||||
@Test
|
||||
public void returnsNullForNoDefault() throws Exception {
|
||||
assertSupportedAndResolvedTo(getParameterOfMethod("supportedMethod"), null);
|
||||
assertSupportedAndResolvedTo(getParameterOfMethod("supportedMethod"), Sort.unsorted());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void discoversSimpleDefault() throws Exception {
|
||||
assertSupportedAndResolvedTo(getParameterOfMethod("simpleDefault"), new Sort(Direction.ASC, SORT_FIELDS));
|
||||
assertSupportedAndResolvedTo(getParameterOfMethod("simpleDefault"), Sort.by(SORT_FIELDS).ascending());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -114,7 +113,7 @@ public abstract class SortDefaultUnitTests {
|
||||
public void discoversContaineredDefault() throws Exception {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("containeredDefault");
|
||||
Sort reference = new Sort("foo", "bar");
|
||||
Sort reference = Sort.by("foo", "bar");
|
||||
|
||||
assertSupportedAndResolvedTo(parameter, reference);
|
||||
}
|
||||
|
||||
@@ -69,14 +69,14 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
|
||||
Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
|
||||
assertThat(sort).isNull();
|
||||
assertThat(sort.isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void discoversSimpleSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("simpleDefault");
|
||||
Sort reference = new Sort("bar", "foo");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
NativeWebRequest request = getRequestWithSort(reference);
|
||||
|
||||
assertSupportedAndResolvedTo(request, parameter, reference);
|
||||
@@ -86,7 +86,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
public void discoversComplexSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("simpleDefault");
|
||||
Sort reference = new Sort("bar", "foo").and(new Sort("fizz", "buzz"));
|
||||
Sort reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz"));
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference), parameter, reference);
|
||||
}
|
||||
@@ -95,7 +95,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
public void discoversQualifiedSortFromRequest() {
|
||||
|
||||
MethodParameter parameter = getParameterOfMethod("qualifiedSort");
|
||||
Sort reference = new Sort("bar", "foo");
|
||||
Sort reference = Sort.by("bar", "foo");
|
||||
|
||||
assertSupportedAndResolvedTo(getRequestWithSort(reference, "qual"), parameter, reference);
|
||||
}
|
||||
@@ -110,7 +110,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
|
||||
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
|
||||
Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
|
||||
assertThat(result).isNull();
|
||||
assertThat(result.isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATACMNS-366
|
||||
@@ -132,7 +132,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER)).isNull();
|
||||
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATACMNS-408
|
||||
@@ -141,7 +141,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", ",DESC");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER)).isNull();
|
||||
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATACMNS-408
|
||||
@@ -169,7 +169,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", ",");
|
||||
|
||||
assertThat(resolveSort(request, PARAMETER)).isNull();
|
||||
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATACMNS-753, DATACMNS-408
|
||||
@@ -178,8 +178,8 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("sort", "");
|
||||
|
||||
assertThat(resolveSort(request, getParameterOfMethod("simpleDefault"))).isEqualTo(new Sort("firstname", "lastname"));
|
||||
assertThat(resolveSort(request, getParameterOfMethod("containeredDefault"))).isEqualTo(new Sort("foo", "bar"));
|
||||
assertThat(resolveSort(request, getParameterOfMethod("simpleDefault"))).isEqualTo(Sort.by("firstname", "lastname"));
|
||||
assertThat(resolveSort(request, getParameterOfMethod("containeredDefault"))).isEqualTo(Sort.by("foo", "bar"));
|
||||
}
|
||||
|
||||
private static Sort resolveSort(HttpServletRequest request, MethodParameter parameter) throws Exception {
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.springframework.data.web;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ public class PageableResourcesAssemblerIntegrationTests {
|
||||
|
||||
assertThat(controller.assembler).isNotNull();
|
||||
|
||||
PagedResources<Resource<Person>> resources = controller.sample(new PageRequest(1, 1));
|
||||
PagedResources<Resource<Person>> resources = controller.sample(PageRequest.of(1, 1));
|
||||
|
||||
assertThat(resources.getLink(Link.REL_PREVIOUS)).isNotNull();
|
||||
assertThat(resources.getLink(Link.REL_NEXT)).isNotNull();
|
||||
@@ -99,7 +99,7 @@ public class PageableResourcesAssemblerIntegrationTests {
|
||||
@RequestMapping("/persons")
|
||||
PagedResources<Resource<Person>> sample(Pageable pageable) {
|
||||
|
||||
Page<Person> page = new PageImpl<Person>(Arrays.asList(new Person()), pageable,
|
||||
Page<Person> page = new PageImpl<>(Arrays.asList(new Person()), pageable,
|
||||
pageable.getOffset() + pageable.getPageSize() + 1);
|
||||
|
||||
return assembler.toResource(page);
|
||||
|
||||
Reference in New Issue
Block a user