r369 - in trunk: magalie-persistence/src/main/java/com/franciaflex/magalie/persistence magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao magalie-services/src/main/java/com/franciaflex/magalie/services/service magalie-services/src/test/java/com/franciaflex/magalie/services/service magalie-web/src/main/java/com/franciaflex/magalie/web/action
Author: bleny Date: 2013-08-21 11:40:45 +0200 (Wed, 21 Aug 2013) New Revision: 369 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: refs #2999 refactor findOrderToExecute to allow giving more details to the user about why she is no longer affected Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedLists.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleJpaDao.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FindOrderToExecuteResult.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/DeliverRequestedArticleAction.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-20 16:12:50 UTC (rev 368) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java 2013-08-21 09:40:45 UTC (rev 369) @@ -33,8 +33,8 @@ public class RequestedArticles { - public static Comparator<RequestedArticle> comparator(RequestedList affectedRequestedList) { - Comparator<RequestedList> requestedListComparator = RequestedLists.comparator(affectedRequestedList); + public static Comparator<RequestedArticle> comparator() { + Comparator<RequestedList> requestedListComparator = RequestedLists.comparator(); Comparator<RequestedArticle> comparator = Ordering.compound( Lists.newArrayList( Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedLists.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedLists.java 2013-08-20 16:12:50 UTC (rev 368) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedLists.java 2013-08-21 09:40:45 UTC (rev 369) @@ -82,11 +82,10 @@ return new GivenRequestListFirst(requestedList); } - public static Comparator<RequestedList> comparator(RequestedList affectedRequestedList) { + public static Comparator<RequestedList> comparator() { Ordering<RequestedList> comparator = Ordering.compound( Lists.newArrayList( - givenRequestListFirst(affectedRequestedList), urgentFirstComparator(), requestDateFirstComparator() ) Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleDao.java 2013-08-20 16:12:50 UTC (rev 368) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleDao.java 2013-08-21 09:40:45 UTC (rev 369) @@ -24,7 +24,6 @@ */ import com.franciaflex.magalie.persistence.entity.Building; -import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.persistence.entity.RequestedArticle; import com.franciaflex.magalie.persistence.entity.RequestedList; @@ -33,8 +32,8 @@ /** @author bleny */ public interface RequestedArticleDao { - List<RequestedArticle> findAllUndelivered(Building building, MagalieUser affectedTo, String listType); + List<RequestedArticle> findAllUndelivered(RequestedList requestedList); - List<RequestedArticle> findAll(RequestedList requestedList); + List<RequestedArticle> findAllUndelivered(Building building, String listType); } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleJpaDao.java 2013-08-20 16:12:50 UTC (rev 368) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleJpaDao.java 2013-08-21 09:40:45 UTC (rev 369) @@ -24,8 +24,6 @@ */ import com.franciaflex.magalie.persistence.entity.Building; -import com.franciaflex.magalie.persistence.entity.DeliveredRequestedListStatus; -import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.persistence.entity.RequestedArticle; import com.franciaflex.magalie.persistence.entity.RequestedList; @@ -40,25 +38,17 @@ } @Override - public List<RequestedArticle> findAllUndelivered(Building building, MagalieUser affectedTo, String listType) { - TypedQuery<RequestedArticle> query = createQuery( - "from RequestedArticle ra where " - + " ra not in (select dra.requestedArticle from DeliveredRequestedArticle dra) " - + " and ra.requestedList.building = :building " - + " and ra.requestedList.listType = :listType " - + " and ra.requestedList not in (select drl.requestedList from DeliveredRequestedList drl where drl.status = :complete or drl.status = :affected and drl.affectedTo != :affectedTo)"); - query.setParameter("building", building); - query.setParameter("listType", listType); - query.setParameter("complete", DeliveredRequestedListStatus.COMPLETE); - query.setParameter("affected", DeliveredRequestedListStatus.AFFECTED); - query.setParameter("affectedTo", affectedTo); + public List<RequestedArticle> findAllUndelivered(RequestedList requestedList) { + TypedQuery<RequestedArticle> query = createQuery("from RequestedArticle ra where ra.requestedList = :requestedList and ra not in (select dra.requestedArticle from DeliveredRequestedArticle dra where dra.requestedArticle.requestedList = :requestedList)"); + query.setParameter("requestedList", requestedList); return findAll(query); } @Override - public List<RequestedArticle> findAll(RequestedList requestedList) { - TypedQuery<RequestedArticle> query = createQuery("from RequestedArticle ra where ra.requestedList = :requestedList"); - query.setParameter("requestedList", requestedList); + public List<RequestedArticle> findAllUndelivered(Building building, String listType) { + TypedQuery<RequestedArticle> query = createQuery("from RequestedArticle ra where ra.requestedList.building = :building and ra.requestedList.listType = :listType and ra not in (select dra.requestedArticle from DeliveredRequestedArticle dra)"); + query.setParameter("building", building); + query.setParameter("listType", listType); return findAll(query); } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FindOrderToExecuteResult.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FindOrderToExecuteResult.java 2013-08-20 16:12:50 UTC (rev 368) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FindOrderToExecuteResult.java 2013-08-21 09:40:45 UTC (rev 369) @@ -25,6 +25,7 @@ import com.franciaflex.magalie.persistence.entity.DeliveredRequestedList; import com.franciaflex.magalie.persistence.entity.RequestedArticle; +import org.apache.commons.lang3.builder.ReflectionToStringBuilder; public class FindOrderToExecuteResult { @@ -92,4 +93,9 @@ return newAffectation; } + @Override + public String toString() { + return ReflectionToStringBuilder.toString(this); + } + } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-08-20 16:12:50 UTC (rev 368) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-08-21 09:40:45 UTC (rev 369) @@ -29,7 +29,6 @@ import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleJpaDao; import com.franciaflex.magalie.persistence.dao.DeliveredRequestedListDao; import com.franciaflex.magalie.persistence.dao.DeliveredRequestedListJpaDao; -import com.franciaflex.magalie.persistence.dao.RequestedArticleDao; import com.franciaflex.magalie.persistence.dao.RequestedArticleJpaDao; import com.franciaflex.magalie.persistence.dao.RequestedListJpaDao; import com.franciaflex.magalie.persistence.entity.Building; @@ -45,8 +44,11 @@ import com.franciaflex.magalie.services.StorageMovementConfirmation; import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; +import com.google.common.primitives.Booleans; +import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -69,163 +71,212 @@ public FindOrderToExecuteResult findOrderToExecute(MagalieUser magalieUser, Building building, String listType) { - List<RequestedArticle> requestedArticles = getRequestedArticles(building, magalieUser, listType); + JpaMagaliePersistenceContext persistenceContext = + serviceContext.getPersistenceContext(); - Set<RequestedArticle> requestedArticlesByPriority = getRequestedArticlesByPriority(requestedArticles, magalieUser); + // first, try find order in affected list - FindOrderToExecuteResult findOrderToExecuteResult = - findOrderToExecute( - requestedArticlesByPriority, - magalieUser, - building); + FindOrderToExecuteResult findOrderToExecuteResult = null; - return findOrderToExecuteResult; + DeliveredRequestedListJpaDao deliveredRequestedListDao = + persistenceContext.getDeliveredRequestedListDao(); - } + DeliveredRequestedList affectedDeliveredRequestedList = + deliveredRequestedListDao.findByAffectedTo(magalieUser); - protected List<RequestedArticle> getRequestedArticles(Building building, MagalieUser magalieUser, String listType) { + DeliveredRequestedList oldAffectation = null; - RequestedArticleDao requestedArticleDao = serviceContext.getPersistenceContext().getRequestedArticleDao(); + if (affectedDeliveredRequestedList != null) { - List<RequestedArticle> allRequestedArticles = requestedArticleDao.findAllUndelivered(building, magalieUser, listType); + RequestedList affectedRequestedList = affectedDeliveredRequestedList.getRequestedList(); - if (log.isInfoEnabled()) { - log.info(allRequestedArticles.size() + " articles requested in building " + building.getCode()); + findOrderToExecuteResult = + findOrderToExecute(affectedRequestedList, magalieUser, building); + + if (findOrderToExecuteResult.isSuccess()) { + + if (log.isInfoEnabled()) { + log.info("order to execute " + findOrderToExecuteResult + " found in affected list " + affectedDeliveredRequestedList); + } + + } else { + + if (log.isInfoEnabled()) { + log.info("request list " + affectedDeliveredRequestedList.getRequestedList() + + " is not complete, putting it back to pending"); + } + + affectedDeliveredRequestedList.setStatus(DeliveredRequestedListStatus.PENDING); + + affectedDeliveredRequestedList.setAffectedTo(null); + + oldAffectation = affectedDeliveredRequestedList; + + } + } - return allRequestedArticles; + DeliveredRequestedList newAffectation = null; - } + if (findOrderToExecuteResult == null || ! findOrderToExecuteResult.isSuccess()) { - protected FindOrderToExecuteResult findOrderToExecute(Set<RequestedArticle> requestedArticlesByPriority, MagalieUser magalieUser, Building building) { + RequestedArticleJpaDao requestedArticleDao = + persistenceContext.getRequestedArticleDao(); - ArticleStorageService articleStorageService = - serviceContext.newService(ArticleStorageService.class); + List<RequestedArticle> allUndelivered = + requestedArticleDao.findAllUndelivered(building, listType); - RequestedArticle requestedArticle = null; + if (log.isInfoEnabled()) { + log.info(allUndelivered.size() + " undelivered requested articles in building " + building + " for list type " + listType); + } - boolean success = false; + if (allUndelivered.isEmpty()) { - Iterator<RequestedArticle> requestedArticleIterator = requestedArticlesByPriority.iterator(); + findOrderToExecuteResult = new FindOrderToExecuteResult(); - boolean driverLicenseRequired = false; + findOrderToExecuteResult.setNothingToDo(true); - boolean somethingIsAvailable = false; + } else { - while ( ! success && requestedArticleIterator.hasNext()) { + Set<RequestedArticle> allUndeliveredByPriority = + Sets.newTreeSet(RequestedArticles.comparator()); - requestedArticle = requestedArticleIterator.next(); + allUndeliveredByPriority.addAll(allUndelivered); - String articleId = requestedArticle.getArticle().getId(); + findOrderToExecuteResult = findOrderToExecute(allUndeliveredByPriority, magalieUser, building); - RealTimeStorageMovementTask realTimeStorageMovementTask = - articleStorageService.getRealTimeStorageMovementTask(building, magalieUser, articleId); + if (findOrderToExecuteResult != null && findOrderToExecuteResult.isSuccess()) { - boolean articleIsAvailable = ! realTimeStorageMovementTask.isArticleUnavailable(); + RequestedList requestedList = findOrderToExecuteResult.getRequestedArticle().getRequestedList(); - if (articleIsAvailable) { + newAffectation = deliveredRequestedListDao.findByRequestedList(requestedList); - somethingIsAvailable = true; + if (newAffectation == null) { - driverLicenseRequired |= realTimeStorageMovementTask.isDriverLicenseRequired(); + newAffectation = new DeliveredRequestedList(); - } + deliveredRequestedListDao.persist(newAffectation); - success = articleIsAvailable; + } - } + newAffectation.setAffectedTo(magalieUser); - FindOrderToExecuteResult findOrderToExecuteResult = new FindOrderToExecuteResult(); + newAffectation.setRequestedList(requestedList); - if (success) { + newAffectation.setStatus(DeliveredRequestedListStatus.AFFECTED); - if (log.isInfoEnabled()) { - log.info("order to execute found: " + requestedArticle); + deliveredRequestedListDao.merge(newAffectation); + + } + } - Preconditions.checkState(requestedArticle != null); + } - JpaMagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); + persistenceContext.commit(); - findOrderToExecuteResult.setRequestedArticle(requestedArticle); + findOrderToExecuteResult.setOldAffectation(oldAffectation); - // deal with affectations - DeliveredRequestedListJpaDao deliveredRequestedListDao = - persistenceContext.getDeliveredRequestedListDao(); + findOrderToExecuteResult.setNewAffectation(newAffectation); - DeliveredRequestedList oldAffectation = - deliveredRequestedListDao.findByAffectedTo(magalieUser); + if (log.isInfoEnabled()) { + log.info("will return " + findOrderToExecuteResult); + } - RequestedList requestedList = requestedArticle.getRequestedList(); + Preconditions.checkState(oldAffectation == null || newAffectation == null || ! oldAffectation.equals(newAffectation)); - DeliveredRequestedList newAffectation = - deliveredRequestedListDao.findByRequestedList(requestedList); + Preconditions.checkState(findOrderToExecuteResult != null); - if (newAffectation == null) { + Preconditions.checkState( + BooleanUtils.xor( + Booleans.toArray( + ImmutableSet.of( + findOrderToExecuteResult.isSuccess(), + findOrderToExecuteResult.isEverythingUnavailable(), + findOrderToExecuteResult.isNothingToDo(), + findOrderToExecuteResult.isDriverLicenseRequired() + ) + ) + ) + ); - newAffectation = new DeliveredRequestedList(); + return findOrderToExecuteResult; - deliveredRequestedListDao.persist(newAffectation); + } - } + protected FindOrderToExecuteResult findOrderToExecute(RequestedList requestedList, MagalieUser magalieUser, Building building) { - newAffectation.setAffectedTo(magalieUser); + JpaMagaliePersistenceContext persistenceContext = + serviceContext.getPersistenceContext(); - newAffectation.setRequestedList(requestedList); + RequestedArticleJpaDao requestedArticleDao = + persistenceContext.getRequestedArticleDao(); - newAffectation.setStatus(DeliveredRequestedListStatus.AFFECTED); + List<RequestedArticle> allUndelivered = + requestedArticleDao.findAllUndelivered(requestedList); - deliveredRequestedListDao.merge(newAffectation); + Comparator<RequestedArticle> priorityComparator = + RequestedArticles.priorityComparator(); - if (oldAffectation == null) { + Set<RequestedArticle> requestedArticlesByPriority = + Sets.newTreeSet(priorityComparator); - if (log.isInfoEnabled()) { - log.info("user has no previous affectation"); - } + requestedArticlesByPriority.addAll(allUndelivered); - findOrderToExecuteResult.setNewAffectation(newAffectation); + return findOrderToExecute(requestedArticlesByPriority, magalieUser, building); - } else { + } - if (log.isInfoEnabled()) { - log.info("user is affected to " + oldAffectation.getRequestedList().getCode()); - } + protected FindOrderToExecuteResult findOrderToExecute(Set<RequestedArticle> requestedArticlesByPriority, MagalieUser magalieUser, Building building) { - boolean affectationChanged = !oldAffectation.getRequestedList().equals(requestedList); + ArticleStorageService articleStorageService = + serviceContext.newService(ArticleStorageService.class); - if (affectationChanged) { + RequestedArticle requestedArticle = null; - if (log.isInfoEnabled()) { - log.info("user changed affectation from " - + oldAffectation.getRequestedList().getCode() - + " to " + requestedList.getCode()); - } + boolean success = false; - boolean isFinished = oldAffectation.getStatus().isComplete(); + Iterator<RequestedArticle> requestedArticleIterator = requestedArticlesByPriority.iterator(); - if (!isFinished) { + boolean driverLicenseRequired = false; - if (log.isInfoEnabled()) { - log.info("request list " + oldAffectation.getRequestedList() - + " is not complete, putting it back to pending"); - } + boolean somethingIsAvailable = false; - oldAffectation.setStatus(DeliveredRequestedListStatus.PENDING); + while ( ! success && requestedArticleIterator.hasNext()) { - oldAffectation.setAffectedTo(null); + requestedArticle = requestedArticleIterator.next(); - } + String articleId = requestedArticle.getArticle().getId(); - findOrderToExecuteResult.setOldAffectation(oldAffectation); + RealTimeStorageMovementTask realTimeStorageMovementTask = + articleStorageService.getRealTimeStorageMovementTask(building, magalieUser, articleId); - findOrderToExecuteResult.setNewAffectation(newAffectation); + boolean articleIsAvailable = ! realTimeStorageMovementTask.isArticleUnavailable(); - } + if (articleIsAvailable) { + somethingIsAvailable = true; + + driverLicenseRequired |= realTimeStorageMovementTask.isDriverLicenseRequired(); + } - persistenceContext.commit(); + success = articleIsAvailable; + } + + FindOrderToExecuteResult findOrderToExecuteResult = new FindOrderToExecuteResult(); + + if (success) { + + if (log.isInfoEnabled()) { + log.info("order to execute found: " + requestedArticle); + } + + Preconditions.checkState(requestedArticle != null); + + findOrderToExecuteResult.setRequestedArticle(requestedArticle); + } else { if (requestedArticlesByPriority.isEmpty()) { @@ -268,35 +319,6 @@ } - protected Set<RequestedArticle> getRequestedArticlesByPriority(List<RequestedArticle> requests, MagalieUser magalieUser) { - - JpaMagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); - - DeliveredRequestedListDao deliveredRequestedListDao = persistenceContext.getDeliveredRequestedListDao(); - - DeliveredRequestedList affectedDeliveredRequestedList = - deliveredRequestedListDao.findByAffectedTo(magalieUser); - - RequestedList affectedRequestedList = null; - - if (affectedDeliveredRequestedList != null) { - - affectedRequestedList = affectedDeliveredRequestedList.getRequestedList(); - - } - - Comparator<RequestedArticle> priorityComparator = - RequestedArticles.comparator(affectedRequestedList); - - Set<RequestedArticle> requestedArticles = - Sets.newTreeSet(priorityComparator); - - requestedArticles.addAll(requests); - - return requestedArticles; - - } - public List<DeliveredRequestedList> getAllDeliveredRequestedLists() { JpaMagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); @@ -351,7 +373,7 @@ RequestedList requestedList = requestedArticle.getRequestedList(); List<RequestedArticle> allRequestedArticlesForList = - requestedArticleDao.findAll(requestedList); + requestedArticleDao.findAllByRequestedList(requestedList); List<DeliveredRequestedArticle> deliveredRequestedArticlesForList = deliveredRequestedArticleDao.findAll(requestedList); 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-20 16:12:50 UTC (rev 368) +++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java 2013-08-21 09:40:45 UTC (rev 369) @@ -31,7 +31,6 @@ import com.franciaflex.magalie.services.StorageMovementConfirmation; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -81,38 +80,6 @@ } @Test - public void testGetRequestedArticles() { - - List<RequestedArticle> requestedArticles = service.getRequestedArticles(building, magalieUser, LIST_TYPE); - - for (RequestedArticle requestedArticle : requestedArticles) { - - Assert.assertEquals(building, requestedArticle.getRequestedList().getBuilding()); - - } - - } - - @Test - public void testGetRequestedArticlesByPriority() { - - List<RequestedArticle> requestedArticles = fixture("requestedArticles"); - - Set<RequestedArticle> requestedArticlesByPriority = - service.getRequestedArticlesByPriority(requestedArticles, magalieUser); - - Assert.assertEquals(requestedArticles.size(), requestedArticlesByPriority.size()); - - 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()); - - } - - @Test public void testFindOrderWhenNoRequestedArticles() { Set<RequestedArticle> emptySet = Sets.newHashSet(); @@ -182,9 +149,6 @@ Assert.assertFalse(orderToExecute.isDriverLicenseRequired()); Assert.assertTrue(orderToExecute.isSuccess()); - Assert.assertNull(orderToExecute.getOldAffectation()); - Assert.assertNotNull(orderToExecute.getNewAffectation()); - } @Test @@ -201,6 +165,7 @@ Assert.assertNull(orderToExecute.getOldAffectation()); Assert.assertNotNull(orderToExecute.getNewAffectation()); + Assert.assertEquals("requestedArticle3", orderToExecute.getRequestedArticle().getId()); StorageMovementConfirmation confirmation = new StorageMovementConfirmation(); confirmation.setRequestedArticleId(orderToExecute.getRequestedArticle().getId()); @@ -215,6 +180,7 @@ Assert.assertNull(orderToExecute.getOldAffectation()); Assert.assertNull(orderToExecute.getNewAffectation()); + Assert.assertEquals("requestedArticle1", orderToExecute.getRequestedArticle().getId()); StorageMovementConfirmation confirmation = new StorageMovementConfirmation(); confirmation.setRequestedArticleId(orderToExecute.getRequestedArticle().getId()); @@ -229,6 +195,7 @@ Assert.assertNull(orderToExecute.getOldAffectation()); Assert.assertNull(orderToExecute.getNewAffectation()); + Assert.assertEquals("requestedArticle2", orderToExecute.getRequestedArticle().getId()); StorageMovementConfirmation confirmation = new StorageMovementConfirmation(); confirmation.setRequestedArticleId(orderToExecute.getRequestedArticle().getId()); @@ -240,9 +207,10 @@ { orderToExecute = service.findOrderToExecute(magalieUser, building, LIST_TYPE); Preconditions.checkState(orderToExecute.isSuccess()); + Assert.assertEquals("requestedArticle6", orderToExecute.getRequestedArticle().getId()); Assert.assertNotNull(orderToExecute.getNewAffectation()); - if (false) { + if (true) { // XXX brendan 13/07/13 doesn't works but doesn't mind, the information is given to the user by another mean Assert.assertNotNull(orderToExecute.getOldAffectation()); Assert.assertNotEquals( @@ -259,6 +227,7 @@ { orderToExecute = service.findOrderToExecute(magalieUser, building, LIST_TYPE); Preconditions.checkState(orderToExecute.isSuccess()); + Assert.assertEquals("requestedArticle5", orderToExecute.getRequestedArticle().getId()); Assert.assertNull(orderToExecute.getOldAffectation()); Assert.assertNull(orderToExecute.getNewAffectation()); @@ -269,6 +238,14 @@ } + { + orderToExecute = service.findOrderToExecute(magalieUser, building, LIST_TYPE); + + Assert.assertTrue(orderToExecute.isEverythingUnavailable()); + // Assert.assertNotNull(orderToExecute.getOldAffectation()); + + } + } } Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/DeliverRequestedArticleAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/DeliverRequestedArticleAction.java 2013-08-20 16:12:50 UTC (rev 368) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/DeliverRequestedArticleAction.java 2013-08-21 09:40:45 UTC (rev 369) @@ -123,7 +123,7 @@ } else { - message += " : liste non terminée"; + // message += " : liste non terminée"; }
participants (1)
-
bleny@users.forge.codelutin.com