Author: bleny Date: 2013-08-01 15:19:34 +0200 (Thu, 01 Aug 2013) New Revision: 358 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: fixes #2996 add a priority field in RequestedArticle to sort articles in a given list Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java trunk/magalie-persistence/src/main/xmi/magalie.zargo trunk/magalie-services/src/main/resources/fixtures.yaml trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java 2013-08-01 12:59:15 UTC (rev 357) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java 2013-08-01 13:19:34 UTC (rev 358) @@ -28,7 +28,6 @@ import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.common.collect.Ordering; -import org.nuiton.jpa.api.JpaEntities; import java.util.Comparator; @@ -56,12 +55,16 @@ new RequestedListComparator(RequestedLists.comparator(affectedRequestedList)), // we can still have ambiguous or priorities, so to be deterministic, use arbitrary order - JpaEntities.<RequestedArticle>arbitraryComparator() + priorityComparator() ) ); return comparator; } + public static Comparator<RequestedArticle> priorityComparator() { + return Ordering.natural().onResultOf(new GetPriority()); + } + protected static class GetRequestList implements Function<RequestedArticle, RequestedList> { @Override @@ -73,4 +76,13 @@ public static Function<RequestedArticle, RequestedList> getRequestList() { return new GetRequestList(); } + + protected static class GetPriority implements Function<RequestedArticle, String> { + + @Override + public String apply(RequestedArticle requestedArticle) { + return requestedArticle.getPriority(); + } + } + } Modified: trunk/magalie-persistence/src/main/xmi/magalie.zargo =================================================================== (Binary files differ) Modified: trunk/magalie-services/src/main/resources/fixtures.yaml =================================================================== --- trunk/magalie-services/src/main/resources/fixtures.yaml 2013-08-01 12:59:15 UTC (rev 357) +++ trunk/magalie-services/src/main/resources/fixtures.yaml 2013-08-01 13:19:34 UTC (rev 358) @@ -648,6 +648,7 @@ quantity: 80 requestedList: *requestedList1 destinationLocation: *location14 + priority: B22 requestedArticle2: &requestedArticle2 !requested-article @@ -656,6 +657,7 @@ quantity: 11 requestedList: *requestedList1 destinationLocation: *location14 + priority: F66 requestedArticle3: &requestedArticle3 !requested-article @@ -664,6 +666,7 @@ quantity: 111 requestedList: *requestedList1 destinationLocation: *location14 + priority: A11 requestedArticle4: &requestedArticle4 !requested-article @@ -672,6 +675,7 @@ quantity: 2 requestedList: *requestedList1 destinationLocation: *location14 + priority: E55 requestedArticle5: &requestedArticle5 !requested-article @@ -680,6 +684,7 @@ quantity: 5 requestedList: *requestedList2 destinationLocation: *location14 + priority: D44 requestedArticle6: &requestedArticle6 !requested-article @@ -688,6 +693,7 @@ quantity: 27 requestedList: *requestedList2 destinationLocation: *location14 + priority: C33 requestedArticles: - *requestedArticle1 Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java =================================================================== --- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java 2013-08-01 12:59:15 UTC (rev 357) +++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java 2013-08-01 13:19:34 UTC (rev 358) @@ -93,12 +93,12 @@ Assert.assertEquals(requestedArticles.size(), requestedArticlesByPriority.size()); - Assert.assertEquals("requestedArticle1", Iterables.get(requestedArticlesByPriority, 0).getId()); - Assert.assertEquals("requestedArticle2", Iterables.get(requestedArticlesByPriority, 1).getId()); - Assert.assertEquals("requestedArticle3", Iterables.get(requestedArticlesByPriority, 2).getId()); - Assert.assertEquals("requestedArticle4", Iterables.get(requestedArticlesByPriority, 3).getId()); - Assert.assertEquals("requestedArticle5", Iterables.get(requestedArticlesByPriority, 4).getId()); - Assert.assertEquals("requestedArticle6", Iterables.get(requestedArticlesByPriority, 5).getId()); + Assert.assertEquals("requestedArticle3", Iterables.get(requestedArticlesByPriority, 0).getId()); + Assert.assertEquals("requestedArticle1", Iterables.get(requestedArticlesByPriority, 1).getId()); + Assert.assertEquals("requestedArticle4", Iterables.get(requestedArticlesByPriority, 2).getId()); + Assert.assertEquals("requestedArticle2", Iterables.get(requestedArticlesByPriority, 3).getId()); + Assert.assertEquals("requestedArticle6", Iterables.get(requestedArticlesByPriority, 4).getId()); + Assert.assertEquals("requestedArticle5", Iterables.get(requestedArticlesByPriority, 5).getId()); }
participants (1)
-
bleny@users.forge.codelutin.com