branch develop updated (60430b7 -> 4d37446)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository nuiton-utils. See https://gitlab.nuiton.org/nuiton/nuiton-utils.git from 60430b7 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new 4d37446 fixes #4094 Add method org.nuiton.util.pagination.PaginationResult#transform The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 4d374467a0dec068d827db232bdd2ab470b70d54 Author: Arnaud Thimel <thimel@codelutin.com> Date: Tue Dec 13 16:28:13 2016 +0100 fixes #4094 Add method org.nuiton.util.pagination.PaginationResult#transform Summary of changes: .../nuiton/util/pagination/PaginationResult.java | 13 +++++++++ .../util/pagination/PaginationResultTest.java | 31 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository nuiton-utils. See https://gitlab.nuiton.org/nuiton/nuiton-utils.git commit 4d374467a0dec068d827db232bdd2ab470b70d54 Author: Arnaud Thimel <thimel@codelutin.com> Date: Tue Dec 13 16:28:13 2016 +0100 fixes #4094 Add method org.nuiton.util.pagination.PaginationResult#transform --- .../nuiton/util/pagination/PaginationResult.java | 13 +++++++++ .../util/pagination/PaginationResultTest.java | 31 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/src/main/java/org/nuiton/util/pagination/PaginationResult.java b/src/main/java/org/nuiton/util/pagination/PaginationResult.java index 9ab5dbf..d46b9e3 100644 --- a/src/main/java/org/nuiton/util/pagination/PaginationResult.java +++ b/src/main/java/org/nuiton/util/pagination/PaginationResult.java @@ -22,7 +22,10 @@ package org.nuiton.util.pagination; * #L% */ +import com.google.common.base.Function; import com.google.common.base.Preconditions; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import java.io.Serializable; import java.util.LinkedList; @@ -178,4 +181,14 @@ public class PaginationResult<O> implements Serializable { return result; } + /** + * Creates an instance of PaginationResult transforming the current one using the given function + */ + public <T> PaginationResult<T> transform(Function<? super O, ? extends T> function) { + Iterable<T> transformed = Iterables.transform(getElements(), function); + List<T> transformedElements = Lists.newLinkedList(transformed); + PaginationResult<T> result = PaginationResult.of(transformedElements, getCount(), getCurrentPage()); + return result; + } + } diff --git a/src/test/java/org/nuiton/util/pagination/PaginationResultTest.java b/src/test/java/org/nuiton/util/pagination/PaginationResultTest.java index d21edea..d41c6cf 100644 --- a/src/test/java/org/nuiton/util/pagination/PaginationResultTest.java +++ b/src/test/java/org/nuiton/util/pagination/PaginationResultTest.java @@ -25,6 +25,7 @@ package org.nuiton.util.pagination; import java.util.Arrays; import java.util.List; +import com.google.common.base.Function; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -199,4 +200,34 @@ public class PaginationResultTest { } + @Test + public void testTransform() { + String str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus " + + "tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor"; + + List<String> list = Arrays.asList(str.split(" ")); + Assert.assertEquals(22, list.size()); + + final Function<String, Integer> getWordLength = new Function<String, Integer>() { + @Override + public Integer apply(String input) { + return input.length(); + } + }; + + PaginationResult<String> words = PaginationResult.fromFullList(list, PaginationParameter.ALL); + + PaginationResult<Integer> wordLengths = words.transform(getWordLength); + Assert.assertEquals(22, wordLengths.getElements().size()); + Assert.assertEquals(22, wordLengths.getCount()); + Assert.assertEquals(PaginationParameter.ALL, wordLengths.getCurrentPage()); + + // consectetur + Assert.assertEquals("consectetur", words.getElements().get(5)); + Assert.assertEquals("consectetur".length(), wordLengths.getElements().get(5).intValue()); + // elit. + Assert.assertEquals("elit.", words.getElements().get(7)); + Assert.assertEquals("elit.".length(), wordLengths.getElements().get(7).intValue()); + } + } -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm