Author: bleny Date: 2013-04-05 15:15:07 +0200 (Fri, 05 Apr 2013) New Revision: 76 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: introduce DeliveredRequestedArticle Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/DeliveredRequestedArticleDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/DeliveredRequestedArticleJpaDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/DeliveredRequestedArticle.java Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/JpaMagaliePersistenceContext.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.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/jpa/RequestedArticleJpaDao.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.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 Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/JpaMagaliePersistenceContext.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/JpaMagaliePersistenceContext.java 2013-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/JpaMagaliePersistenceContext.java 2013-04-05 13:15:07 UTC (rev 76) @@ -1,6 +1,7 @@ package com.franciaflex.magalie.persistence; import com.franciaflex.magalie.persistence.dao.ArticleDao; +import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao; import com.franciaflex.magalie.persistence.dao.MagalieUserDao; import com.franciaflex.magalie.persistence.dao.RequestedArticleDao; import com.franciaflex.magalie.persistence.dao.SiteDao; @@ -9,6 +10,7 @@ import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao; import com.franciaflex.magalie.persistence.dao.StoredArticleDao; import com.franciaflex.magalie.persistence.dao.jpa.ArticleJpaDao; +import com.franciaflex.magalie.persistence.dao.jpa.DeliveredRequestedArticleJpaDao; import com.franciaflex.magalie.persistence.dao.jpa.MagalieUserJpaDao; import com.franciaflex.magalie.persistence.dao.jpa.RequestedArticleJpaDao; import com.franciaflex.magalie.persistence.dao.jpa.SiteErrorJpaDao; @@ -75,6 +77,11 @@ } @Override + public DeliveredRequestedArticleDao getDeliveredRequestedArticleDao() { + return new DeliveredRequestedArticleJpaDao(entityManager); + } + + @Override public void commit() { entityTransaction.commit(); entityTransaction = entityManager.getTransaction(); Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java 2013-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java 2013-04-05 13:15:07 UTC (rev 76) @@ -1,6 +1,7 @@ package com.franciaflex.magalie.persistence; import com.franciaflex.magalie.persistence.dao.ArticleDao; +import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao; import com.franciaflex.magalie.persistence.dao.MagalieUserDao; import com.franciaflex.magalie.persistence.dao.RequestedArticleDao; import com.franciaflex.magalie.persistence.dao.SiteDao; @@ -30,6 +31,8 @@ SiteDao getSiteDao(); + DeliveredRequestedArticleDao getDeliveredRequestedArticleDao(); + void commit(); void rollback(); Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/DeliveredRequestedArticleDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/DeliveredRequestedArticleDao.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/DeliveredRequestedArticleDao.java 2013-04-05 13:15:07 UTC (rev 76) @@ -0,0 +1,10 @@ +package com.franciaflex.magalie.persistence.dao; + +import com.franciaflex.magalie.persistence.entity.DeliveredRequestedArticle; + +/** + * @author bleny + */ +public interface DeliveredRequestedArticleDao extends Dao<DeliveredRequestedArticle> { + +} 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-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleDao.java 2013-04-05 13:15:07 UTC (rev 76) @@ -2,8 +2,13 @@ import com.franciaflex.magalie.persistence.entity.RequestedArticle; +import java.util.List; + /** * @author bleny */ public interface RequestedArticleDao extends Dao<RequestedArticle> { + + List<RequestedArticle> findAllUndelivered(); + } Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/DeliveredRequestedArticleJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/DeliveredRequestedArticleJpaDao.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/DeliveredRequestedArticleJpaDao.java 2013-04-05 13:15:07 UTC (rev 76) @@ -0,0 +1,19 @@ +package com.franciaflex.magalie.persistence.dao.jpa; + +import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao; +import com.franciaflex.magalie.persistence.entity.DeliveredRequestedArticle; + +import javax.persistence.EntityManager; + +public class DeliveredRequestedArticleJpaDao extends AbstractJpaDao<DeliveredRequestedArticle> implements DeliveredRequestedArticleDao { + + public DeliveredRequestedArticleJpaDao(EntityManager entityManager) { + super(entityManager); + } + + @Override + protected Class<DeliveredRequestedArticle> getEntityClass() { + return DeliveredRequestedArticle.class; + } + +} Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/RequestedArticleJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/RequestedArticleJpaDao.java 2013-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/RequestedArticleJpaDao.java 2013-04-05 13:15:07 UTC (rev 76) @@ -4,6 +4,8 @@ import com.franciaflex.magalie.persistence.entity.RequestedArticle; import javax.persistence.EntityManager; +import javax.persistence.TypedQuery; +import java.util.List; public class RequestedArticleJpaDao extends AbstractJpaDao<RequestedArticle> implements RequestedArticleDao { @@ -15,4 +17,15 @@ protected Class<RequestedArticle> getEntityClass() { return RequestedArticle.class; } + + @Override + public List<RequestedArticle> findAllUndelivered() { + TypedQuery<RequestedArticle> query = + entityManager.createQuery( + "from RequestedArticle ra where ra not in (select dra.requestedArticle from DeliveredRequestedArticle dra)", + getEntityClass() + ); + return query.getResultList(); + } + } Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/DeliveredRequestedArticle.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/DeliveredRequestedArticle.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/DeliveredRequestedArticle.java 2013-04-05 13:15:07 UTC (rev 76) @@ -0,0 +1,39 @@ +package com.franciaflex.magalie.persistence.entity; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.OneToOne; + +@Entity +public class DeliveredRequestedArticle extends AbstractEntity { + + @Id + protected String id; + + @OneToOne + protected StorageMovementOrder storageMovementOrder; + + @OneToOne + protected RequestedArticle requestedArticle; + + @Override + public String getId() { + return id; + } + + public StorageMovementOrder getStorageMovementOrder() { + return storageMovementOrder; + } + + public void setStorageMovementOrder(StorageMovementOrder storageMovementOrder) { + this.storageMovementOrder = storageMovementOrder; + } + + public RequestedArticle getRequestedArticle() { + return requestedArticle; + } + + public void setRequestedArticle(RequestedArticle requestedArticle) { + this.requestedArticle = requestedArticle; + } +} Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java 2013-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/DefaultMagalieServiceContext.java 2013-04-05 13:15:07 UTC (rev 76) @@ -5,6 +5,7 @@ import com.franciaflex.magalie.persistence.JpaMagaliePersistenceContext; import com.franciaflex.magalie.persistence.MagaliePersistenceContext; import com.franciaflex.magalie.persistence.dao.ArticleDao; +import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao; import com.franciaflex.magalie.persistence.dao.MagalieUserDao; import com.franciaflex.magalie.persistence.dao.RequestedArticleDao; import com.franciaflex.magalie.persistence.dao.SiteDao; @@ -131,4 +132,9 @@ public SiteDao getSiteDao() { return getPersistenceContext().getSiteDao(); } + + @Override + public DeliveredRequestedArticleDao getDeliveredRequestedArticleDao() { + return getPersistenceContext().getDeliveredRequestedArticleDao(); + } } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.java 2013-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieServiceContext.java 2013-04-05 13:15:07 UTC (rev 76) @@ -26,6 +26,7 @@ import com.franciaflex.magalie.MagalieApplicationConfig; import com.franciaflex.magalie.persistence.MagaliePersistenceContext; import com.franciaflex.magalie.persistence.dao.ArticleDao; +import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao; import com.franciaflex.magalie.persistence.dao.MagalieUserDao; import com.franciaflex.magalie.persistence.dao.RequestedArticleDao; import com.franciaflex.magalie.persistence.dao.SiteDao; @@ -65,4 +66,6 @@ SiteDao getSiteDao(); + DeliveredRequestedArticleDao getDeliveredRequestedArticleDao(); + } 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-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-04-05 13:15:07 UTC (rev 76) @@ -75,7 +75,7 @@ RequestedArticleDao requestedArticleDao = serviceContext.getRequestedArticleDao(); - List<RequestedArticle> allRequestedArticles = requestedArticleDao.findAll(); + List<RequestedArticle> allRequestedArticles = requestedArticleDao.findAllUndelivered(); if (log.isInfoEnabled()) { log.info(allRequestedArticles.size() + " articles requested"); @@ -83,8 +83,6 @@ // TODO brendan 05/04/13 consider storeCode - // TODO brendan 05/04/13 remove already treated requests - return allRequestedArticles; } 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-04-05 12:37:48 UTC (rev 75) +++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java 2013-04-05 13:15:07 UTC (rev 76) @@ -25,8 +25,17 @@ } @Test - public void testPrioritize() { + public void testGetRequestedArticles() throws Exception { + String storeCode = "UO1"; + + List<RequestedArticle> requestedArticles = service.getRequestedArticles(storeCode); + + } + + @Test + public void testGetRequestedArticlesByPriority() { + List<RequestedArticle> requestedArticles = fixture("requestedArticles"); Queue<RequestedArticle> requestedArticlesByPriority =