Franciaflex-magalie-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 438 discussions
11 Apr '13
Author: bleny
Date: 2013-04-11 21:44:51 +0200 (Thu, 11 Apr 2013)
New Revision: 87
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
rename site to location
Added:
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationErrorDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationErrorJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/LocationError.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/LocationErrorsService.java
Removed:
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Sites.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteErrorDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteErrorJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/SiteError.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SiteErrorsService.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/StorageMovements.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StoredArticles.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Article.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovement.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StoredArticle.java
trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieReport.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementConfirmation.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementTask.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/exception/RequiredDriverLicenceException.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReportService.java
trunk/magalie-services/src/main/resources/fixtures.yaml
trunk/magalie-services/src/main/resources/fixtures2.yaml
trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java
trunk/magalie-web/src/main/webapp/WEB-INF/content/report.jsp
trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp
trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js
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-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/JpaMagaliePersistenceContext.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -5,8 +5,8 @@
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;
-import com.franciaflex.magalie.persistence.dao.SiteErrorDao;
+import com.franciaflex.magalie.persistence.dao.LocationDao;
+import com.franciaflex.magalie.persistence.dao.LocationErrorDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao;
import com.franciaflex.magalie.persistence.dao.StoreDao;
@@ -14,10 +14,10 @@
import com.franciaflex.magalie.persistence.dao.jpa.ArticleJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.BuildingJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.DeliveredRequestedArticleJpaDao;
+import com.franciaflex.magalie.persistence.dao.jpa.LocationErrorJpaDao;
+import com.franciaflex.magalie.persistence.dao.jpa.LocationJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.MagalieUserJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.RequestedArticleJpaDao;
-import com.franciaflex.magalie.persistence.dao.jpa.SiteErrorJpaDao;
-import com.franciaflex.magalie.persistence.dao.jpa.SiteJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.StorageMovementJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.StorageMovementOrderJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.StoreJpaDao;
@@ -66,8 +66,8 @@
}
@Override
- public SiteErrorDao getSiteErrorDao() {
- return new SiteErrorJpaDao(entityManager);
+ public LocationErrorDao getLocationErrorDao() {
+ return new LocationErrorJpaDao(entityManager);
}
@Override
@@ -76,8 +76,8 @@
}
@Override
- public SiteDao getSiteDao() {
- return new SiteJpaDao(entityManager);
+ public LocationDao getLocationDao() {
+ return new LocationJpaDao(entityManager);
}
@Override
Copied: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java (from rev 83, trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Sites.java)
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,73 @@
+package com.franciaflex.magalie.persistence;
+
+import com.franciaflex.magalie.persistence.entity.MagalieUser;
+import com.franciaflex.magalie.persistence.entity.Location;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
+import java.util.Collection;
+import java.util.Comparator;
+
+public class Locations {
+
+ protected static class LocationRequireDriverLicensePredicate implements Predicate<Location> {
+
+ @Override
+ public boolean apply(Location location) {
+ return location.isDriverLicenseRequired();
+ }
+ }
+
+ protected static class AccessibleLocationPredicate implements Predicate<Location> {
+
+ protected MagalieUser magalieUser;
+
+ public AccessibleLocationPredicate(MagalieUser magalieUser) {
+ this.magalieUser = magalieUser;
+ }
+
+ @Override
+ public boolean apply(Location location) {
+ boolean isLocationAccessible = magalieUser.isDriverLicenseOwner()
+ || ! location.isDriverLicenseRequired();
+ return isLocationAccessible;
+ }
+
+ }
+
+ protected static class LocationRequiringDriverLicenseFirstComparator implements Comparator<Location> {
+
+ @Override
+ public int compare(Location location1, Location location2) {
+ boolean location1RequireDriverLicense = locationRequireDriverLicensePredicate().apply(location1);
+ boolean location2RequireDriverLicense = locationRequireDriverLicensePredicate().apply(location2);
+ if (location1RequireDriverLicense && ! location2RequireDriverLicense) {
+ return -1;
+ } else if ( ! location1RequireDriverLicense && location2RequireDriverLicense) {
+ return +1;
+ } else {
+ return 0;
+ }
+ }
+ }
+
+ public static Predicate<Location> accessibleLocationPredicate(MagalieUser magalieUser) {
+ return new AccessibleLocationPredicate(magalieUser);
+ }
+
+ public static Predicate<Location> inaccessibleLocationPredicate(MagalieUser magalieUser) {
+ return Predicates.not(accessibleLocationPredicate(magalieUser));
+ }
+
+ public static Predicate<Location> locationRequireDriverLicensePredicate() {
+ return new LocationRequireDriverLicensePredicate();
+ }
+
+ public static Comparator<Location> locationRequiringDriverLicenseFirstComparator() {
+ return new LocationRequiringDriverLicenseFirstComparator();
+ }
+
+ public static Predicate<Location> locationIsNotReportedInError(Collection<Location> allLocationsInError) {
+ return Predicates.not(Predicates.in(allLocationsInError));
+ }
+}
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-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -5,8 +5,8 @@
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;
-import com.franciaflex.magalie.persistence.dao.SiteErrorDao;
+import com.franciaflex.magalie.persistence.dao.LocationDao;
+import com.franciaflex.magalie.persistence.dao.LocationErrorDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao;
import com.franciaflex.magalie.persistence.dao.StoreDao;
@@ -33,11 +33,11 @@
StorageMovementDao getStorageMovementDao();
- SiteErrorDao getSiteErrorDao();
+ LocationErrorDao getLocationErrorDao();
StorageMovementOrderDao getStorageMovementOrderDao();
- SiteDao getSiteDao();
+ LocationDao getLocationDao();
DeliveredRequestedArticleDao getDeliveredRequestedArticleDao();
Deleted: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Sites.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Sites.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Sites.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,73 +0,0 @@
-package com.franciaflex.magalie.persistence;
-
-import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.Site;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-
-import java.util.Collection;
-import java.util.Comparator;
-
-public class Sites {
-
- protected static class SiteRequireDriverLicensePredicate implements Predicate<Site> {
-
- @Override
- public boolean apply(Site site) {
- return site.isDriverLicenseRequired();
- }
- }
-
- protected static class AccessibleSitePredicate implements Predicate<Site> {
-
- protected MagalieUser magalieUser;
-
- public AccessibleSitePredicate(MagalieUser magalieUser) {
- this.magalieUser = magalieUser;
- }
-
- @Override
- public boolean apply(Site site) {
- boolean isSiteAccessible = magalieUser.isDriverLicenseOwner()
- || ! site.isDriverLicenseRequired();
- return isSiteAccessible;
- }
-
- }
-
- protected static class SiteRequiringDriverLicenseFirstComparator implements Comparator<Site> {
-
- @Override
- public int compare(Site site1, Site site2) {
- boolean site1RequireDriverLicense = siteRequireDriverLicensePredicate().apply(site1);
- boolean site2RequireDriverLicense = siteRequireDriverLicensePredicate().apply(site2);
- if (site1RequireDriverLicense && ! site2RequireDriverLicense) {
- return -1;
- } else if ( ! site1RequireDriverLicense && site2RequireDriverLicense) {
- return +1;
- } else {
- return 0;
- }
- }
- }
-
- public static Predicate<Site> accessibleSitePredicate(MagalieUser magalieUser) {
- return new AccessibleSitePredicate(magalieUser);
- }
-
- public static Predicate<Site> inaccessibleSitePredicate(MagalieUser magalieUser) {
- return Predicates.not(accessibleSitePredicate(magalieUser));
- }
-
- public static Predicate<Site> siteRequireDriverLicensePredicate() {
- return new SiteRequireDriverLicensePredicate();
- }
-
- public static Comparator<Site> siteRequiringDriverLicenseFirstComparator() {
- return new SiteRequiringDriverLicenseFirstComparator();
- }
-
- public static Predicate<Site> siteIsNotReportedInError(Collection<Site> allSitesInError) {
- return Predicates.not(Predicates.in(allSitesInError));
- }
-}
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StorageMovements.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StorageMovements.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StorageMovements.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,7 +1,7 @@
package com.franciaflex.magalie.persistence;
import com.franciaflex.magalie.persistence.entity.Article;
-import com.franciaflex.magalie.persistence.entity.Site;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.StorageMovement;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
@@ -17,11 +17,11 @@
}
}
- protected static class GetOriginSiteFunction implements Function<StorageMovement, Site> {
+ protected static class GetOriginFunction implements Function<StorageMovement, Location> {
@Override
- public Site apply(StorageMovement storageMovement) {
- return storageMovement.getOriginSite();
+ public Location apply(StorageMovement storageMovement) {
+ return storageMovement.getOriginLocation();
}
}
@@ -37,8 +37,8 @@
return new GetArticleFunction();
}
- public static Function<StorageMovement, Site> getOriginSiteFunction() {
- return new GetOriginSiteFunction();
+ public static Function<StorageMovement, Location> getOriginFunction() {
+ return new GetOriginFunction();
}
public static Predicate<StorageMovement> storageMovementIsConfirmed() {
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StoredArticles.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StoredArticles.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/StoredArticles.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -2,7 +2,7 @@
import com.franciaflex.magalie.persistence.entity.Article;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.Site;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
@@ -15,24 +15,24 @@
public class StoredArticles {
- protected static class FixedSiteForArticleFirst implements Comparator<StoredArticle> {
+ protected static class FixedLocationForArticleFirst implements Comparator<StoredArticle> {
protected Article article;
- public FixedSiteForArticleFirst(Article article) {
+ public FixedLocationForArticleFirst(Article article) {
this.article = article;
}
@Override
public int compare(StoredArticle x, StoredArticle y) {
- boolean xIsInFixedSite = article.isFixedSite(x.getSite());
- boolean yIsInFixedSite = article.isFixedSite(y.getSite());
- return BooleanComparator.getTrueFirstComparator().compare(xIsInFixedSite, yIsInFixedSite);
+ boolean xIsInFixedLocation = article.isFixedLocation(x.getLocation());
+ boolean yIsInFixedLocation = article.isFixedLocation(y.getLocation());
+ return BooleanComparator.getTrueFirstComparator().compare(xIsInFixedLocation, yIsInFixedLocation);
}
}
- protected static class SiteWithHighestQuantityFirst implements Comparator<StoredArticle> {
+ protected static class LocationWithHighestQuantityFirst implements Comparator<StoredArticle> {
@Override
public int compare(StoredArticle o1, StoredArticle o2) {
@@ -41,22 +41,22 @@
}
- protected static class AccessibleSiteFirst implements Comparator<StoredArticle> {
+ protected static class AccessibleLocationFirst implements Comparator<StoredArticle> {
- protected Predicate<StoredArticle> articleStoredInAccessibleSitePredicate;
+ protected Predicate<StoredArticle> articleStoredInAccessibleLocationPredicate;
- public AccessibleSiteFirst(MagalieUser magalieUser) {
- articleStoredInAccessibleSitePredicate =
- articleStoredInAccessibleSitePredicate(magalieUser);
+ public AccessibleLocationFirst(MagalieUser magalieUser) {
+ articleStoredInAccessibleLocationPredicate =
+ articleStoredInAccessibleLocationPredicate(magalieUser);
}
@Override
public int compare(StoredArticle o1, StoredArticle o2) {
- boolean isSite1Accessible = articleStoredInAccessibleSitePredicate.apply(o1);
- boolean isSite2Accessible = articleStoredInAccessibleSitePredicate.apply(o2);
- if (isSite1Accessible && ! isSite2Accessible) {
+ boolean isLocation1Accessible = articleStoredInAccessibleLocationPredicate.apply(o1);
+ boolean isLocation2Accessible = articleStoredInAccessibleLocationPredicate.apply(o2);
+ if (isLocation1Accessible && ! isLocation2Accessible) {
return -1;
- } else if ( ! isSite1Accessible && isSite2Accessible) {
+ } else if ( ! isLocation1Accessible && isLocation2Accessible) {
return 1;
} else {
return 0;
@@ -65,59 +65,59 @@
}
- protected static class GetSiteFunction implements Function<StoredArticle, Site> {
+ protected static class GetLocationFunction implements Function<StoredArticle, Location> {
@Override
- public Site apply(StoredArticle storedArticle) {
- return storedArticle.getSite();
+ public Location apply(StoredArticle storedArticle) {
+ return storedArticle.getLocation();
}
}
- protected static class ArticleStoredInSitesRequiringDriverLicenseFirstComparator implements Comparator<StoredArticle> {
+ protected static class ArticleStoredInLocationsRequiringDriverLicenseFirstComparator implements Comparator<StoredArticle> {
@Override
public int compare(StoredArticle o1, StoredArticle o2) {
- return Sites.siteRequiringDriverLicenseFirstComparator().compare(o1.getSite(), o2.getSite());
+ return Locations.locationRequiringDriverLicenseFirstComparator().compare(o1.getLocation(), o2.getLocation());
}
}
- public static Comparator<StoredArticle> siteWithHighestQuantityFirst() {
- return new SiteWithHighestQuantityFirst();
+ public static Comparator<StoredArticle> locationWithHighestQuantityFirst() {
+ return new LocationWithHighestQuantityFirst();
}
- public static Comparator<StoredArticle> siteWithLowestQuantityFirstComparator() {
- return Ordering.from(new SiteWithHighestQuantityFirst()).reverse();
+ public static Comparator<StoredArticle> locationWithLowestQuantityFirstComparator() {
+ return Ordering.from(new LocationWithHighestQuantityFirst()).reverse();
}
- public static Comparator<StoredArticle> accessibleSiteFirstComparator(MagalieUser magalieUser) {
- return new AccessibleSiteFirst(magalieUser);
+ public static Comparator<StoredArticle> accessibleLocationFirstComparator(MagalieUser magalieUser) {
+ return new AccessibleLocationFirst(magalieUser);
}
- public static Comparator<StoredArticle> fixedSiteForArticleFirstComparator(Article article) {
- return new FixedSiteForArticleFirst(article);
+ public static Comparator<StoredArticle> fixedLocationForArticleFirstComparator(Article article) {
+ return new FixedLocationForArticleFirst(article);
}
- public static Comparator<StoredArticle> fixedSiteForArticleLastComparator(Article article) {
- return Ordering.from(new FixedSiteForArticleFirst(article)).reverse();
+ public static Comparator<StoredArticle> fixedLocationForArticleLastComparator(Article article) {
+ return Ordering.from(new FixedLocationForArticleFirst(article)).reverse();
}
- public static Function<StoredArticle, Site> getSiteFunction() {
- return new GetSiteFunction();
+ public static Function<StoredArticle, Location> getLocationFunction() {
+ return new GetLocationFunction();
}
- public static Predicate<StoredArticle> articleStoredInAccessibleSitePredicate(MagalieUser magalieUser) {
+ public static Predicate<StoredArticle> articleStoredInAccessibleLocationPredicate(MagalieUser magalieUser) {
Predicate<StoredArticle> predicate = Predicates.compose(
- Sites.accessibleSitePredicate(magalieUser),
- getSiteFunction());
+ Locations.accessibleLocationPredicate(magalieUser),
+ getLocationFunction());
return predicate;
}
- public static Comparator<StoredArticle> articleStoredInSitesRequiringDriverLicenseFirstComparator() {
- return new ArticleStoredInSitesRequiringDriverLicenseFirstComparator();
+ public static Comparator<StoredArticle> articleStoredInLocationsRequiringDriverLicenseFirstComparator() {
+ return new ArticleStoredInLocationsRequiringDriverLicenseFirstComparator();
}
- public static Predicate<StoredArticle> articleNotStoredInSiteReportedInError(Collection<Site> allSitesInError) {
- return Predicates.compose(Sites.siteIsNotReportedInError(allSitesInError), getSiteFunction());
+ public static Predicate<StoredArticle> articleNotStoredInLocationReportedInError(Collection<Location> allLocationsInError) {
+ return Predicates.compose(Locations.locationIsNotReportedInError(allLocationsInError), getLocationFunction());
}
}
Copied: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java (from rev 83, trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteDao.java)
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,11 @@
+package com.franciaflex.magalie.persistence.dao;
+
+import com.franciaflex.magalie.persistence.entity.Location;
+
+import java.util.List;
+
+public interface LocationDao extends Dao<Location> {
+
+ List<String> getAllStoreCodes();
+
+}
Copied: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationErrorDao.java (from rev 83, trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteErrorDao.java)
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationErrorDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/LocationErrorDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,19 @@
+package com.franciaflex.magalie.persistence.dao;
+
+import com.franciaflex.magalie.persistence.entity.Location;
+import com.franciaflex.magalie.persistence.entity.LocationError;
+
+import java.util.List;
+
+/**
+ * @author bleny
+ */
+public interface LocationErrorDao extends Dao<LocationError> {
+
+ LocationError findByLocation(Location location);
+
+ List<Location> getAllLocationsInError();
+
+ List<LocationError> findAll();
+
+}
Deleted: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteDao.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,11 +0,0 @@
-package com.franciaflex.magalie.persistence.dao;
-
-import com.franciaflex.magalie.persistence.entity.Site;
-
-import java.util.List;
-
-public interface SiteDao extends Dao<Site> {
-
- List<String> getAllStoreCodes();
-
-}
Deleted: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteErrorDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteErrorDao.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/SiteErrorDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,19 +0,0 @@
-package com.franciaflex.magalie.persistence.dao;
-
-import com.franciaflex.magalie.persistence.entity.Site;
-import com.franciaflex.magalie.persistence.entity.SiteError;
-
-import java.util.List;
-
-/**
- * @author bleny
- */
-public interface SiteErrorDao extends Dao<SiteError> {
-
- SiteError findBySite(Site site);
-
- List<Site> getAllSitesInError();
-
- List<SiteError> findAll();
-
-}
Copied: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationErrorJpaDao.java (from rev 83, trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteErrorJpaDao.java)
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationErrorJpaDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationErrorJpaDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,47 @@
+package com.franciaflex.magalie.persistence.dao.jpa;
+
+import com.franciaflex.magalie.persistence.dao.LocationErrorDao;
+import com.franciaflex.magalie.persistence.entity.Location;
+import com.franciaflex.magalie.persistence.entity.LocationError;
+import com.google.common.collect.Iterables;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.List;
+
+public class LocationErrorJpaDao extends AbstractJpaDao<LocationError> implements LocationErrorDao {
+
+ public LocationErrorJpaDao(EntityManager entityManager) {
+ super(entityManager);
+ }
+
+ @Override
+ protected Class<LocationError> getEntityClass() {
+ return LocationError.class;
+ }
+
+ @Override
+ public LocationError findByLocation(Location location) {
+ Query query = entityManager.createQuery("from LocationError se where se.location = :location");
+ query.setParameter("location", location);
+ LocationError locationError = (LocationError)
+ Iterables.getOnlyElement(
+ query.getResultList(),
+ null);
+ return locationError;
+ }
+
+ @Override
+ public List<Location> getAllLocationsInError() {
+ Query query = entityManager.createQuery("select se.location from LocationError se");
+ List<Location> allLocationsInError = query.getResultList();
+ return allLocationsInError;
+ }
+
+ @Override
+ public List<LocationError> findAll() {
+ Query query = entityManager.createQuery("from LocationError se order by se.reportDate");
+ List<LocationError> all = query.getResultList();
+ return all;
+ }
+}
Copied: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java (from rev 83, trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteJpaDao.java)
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/LocationJpaDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,27 @@
+package com.franciaflex.magalie.persistence.dao.jpa;
+
+import com.franciaflex.magalie.persistence.dao.LocationDao;
+import com.franciaflex.magalie.persistence.entity.Location;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.List;
+
+public class LocationJpaDao extends AbstractJpaDao<Location> implements LocationDao {
+
+ public LocationJpaDao(EntityManager entityManager) {
+ super(entityManager);
+ }
+
+ @Override
+ protected Class<Location> getEntityClass() {
+ return Location.class;
+ }
+
+ @Override
+ public List<String> getAllStoreCodes() {
+ Query query = entityManager.createQuery("select distinct s.storeCode from Location s order by s.storeCode");
+ List<String> resultList = query.getResultList();
+ return resultList;
+ }
+}
Deleted: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteErrorJpaDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteErrorJpaDao.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteErrorJpaDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,47 +0,0 @@
-package com.franciaflex.magalie.persistence.dao.jpa;
-
-import com.franciaflex.magalie.persistence.dao.SiteErrorDao;
-import com.franciaflex.magalie.persistence.entity.Site;
-import com.franciaflex.magalie.persistence.entity.SiteError;
-import com.google.common.collect.Iterables;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.List;
-
-public class SiteErrorJpaDao extends AbstractJpaDao<SiteError> implements SiteErrorDao {
-
- public SiteErrorJpaDao(EntityManager entityManager) {
- super(entityManager);
- }
-
- @Override
- protected Class<SiteError> getEntityClass() {
- return SiteError.class;
- }
-
- @Override
- public SiteError findBySite(Site site) {
- Query query = entityManager.createQuery("from SiteError se where se.site = :site");
- query.setParameter("site", site);
- SiteError siteError = (SiteError)
- Iterables.getOnlyElement(
- query.getResultList(),
- null);
- return siteError;
- }
-
- @Override
- public List<Site> getAllSitesInError() {
- Query query = entityManager.createQuery("select se.site from SiteError se");
- List<Site> allSitesInError = query.getResultList();
- return allSitesInError;
- }
-
- @Override
- public List<SiteError> findAll() {
- Query query = entityManager.createQuery("from SiteError se order by se.reportDate");
- List<SiteError> all = query.getResultList();
- return all;
- }
-}
Deleted: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteJpaDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteJpaDao.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/SiteJpaDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,27 +0,0 @@
-package com.franciaflex.magalie.persistence.dao.jpa;
-
-import com.franciaflex.magalie.persistence.dao.SiteDao;
-import com.franciaflex.magalie.persistence.entity.Site;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.List;
-
-public class SiteJpaDao extends AbstractJpaDao<Site> implements SiteDao {
-
- public SiteJpaDao(EntityManager entityManager) {
- super(entityManager);
- }
-
- @Override
- protected Class<Site> getEntityClass() {
- return Site.class;
- }
-
- @Override
- public List<String> getAllStoreCodes() {
- Query query = entityManager.createQuery("select distinct s.storeCode from Site s order by s.storeCode");
- List<String> resultList = query.getResultList();
- return resultList;
- }
-}
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -22,7 +22,7 @@
@Override
public List<StoredArticle> findAllForArticleInBuilding(Article article, Building building) {
- Query query = entityManager.createQuery("from StoredArticle sa where sa.article = :article and sa.site.store.building = :building");
+ Query query = entityManager.createQuery("from StoredArticle sa where sa.article = :article and sa.location.store.building = :building");
query.setParameter("article", article);
query.setParameter("building", building);
List<StoredArticle> resultList = query.getResultList();
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Article.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Article.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Article.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -12,7 +12,7 @@
protected String id;
@ManyToMany
- protected Set<Site> fixedSites;
+ protected Set<Location> fixedLocations;
protected String description;
@@ -31,12 +31,12 @@
this.id = id;
}
- public Set<Site> getFixedSites() {
- return fixedSites;
+ public Set<Location> getFixedLocations() {
+ return fixedLocations;
}
- public void setFixedSites(Set<Site> fixedSites) {
- this.fixedSites = fixedSites;
+ public void setFixedLocations(Set<Location> fixedLocations) {
+ this.fixedLocations = fixedLocations;
}
public String getCode() {
@@ -71,12 +71,12 @@
this.description = description;
}
- public boolean isFixedSite(Site site) {
- boolean isFixedSite = false;
- Set<Site> fixedSites = getFixedSites();
- if (fixedSites != null) {
- isFixedSite = fixedSites.contains(site);
+ public boolean isFixedLocation(Location location) {
+ boolean isFixedLocation = false;
+ Set<Location> fixedLocations = getFixedLocations();
+ if (fixedLocations != null) {
+ isFixedLocation = fixedLocations.contains(location);
}
- return isFixedSite;
+ return isFixedLocation;
}
}
Copied: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java (from rev 83, trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java)
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,65 @@
+package com.franciaflex.magalie.persistence.entity;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+@Entity
+public class Location extends AbstractEntity {
+
+ @Id
+ protected String id;
+
+ @ManyToOne
+ protected Store store;
+
+ protected String locationCode;
+
+ protected int requiredAccreditationLevel;
+
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Store getStore() {
+ return store;
+ }
+
+ public void setStore(Store store) {
+ this.store = store;
+ }
+
+ public String getLocationCode() {
+ return locationCode;
+ }
+
+ public void setLocationCode(String locationCode) {
+ this.locationCode = locationCode;
+ }
+
+ public int getRequiredAccreditationLevel() {
+ return requiredAccreditationLevel;
+ }
+
+ public void setRequiredAccreditationLevel(int requiredAccreditationLevel) {
+ this.requiredAccreditationLevel = requiredAccreditationLevel;
+ }
+
+ public String getBarcode() {
+ String barcode = getStoreCode() + getLocationCode();
+ return barcode;
+ }
+
+ public boolean isDriverLicenseRequired() {
+ return requiredAccreditationLevel == 9;
+ }
+
+ public String getStoreCode() {
+ return getStore().getName();
+ }
+}
Copied: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/LocationError.java (from rev 83, trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/SiteError.java)
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/LocationError.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/LocationError.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,57 @@
+package com.franciaflex.magalie.persistence.entity;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
+import java.util.Date;
+
+@Entity
+public class LocationError extends AbstractEntity {
+
+ @Id
+ @GeneratedValue
+ protected String id;
+
+ @OneToOne
+ protected Location location;
+
+ @ManyToOne
+ protected MagalieUser magalieUser;
+
+ protected Date reportDate;
+
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Location getLocation() {
+ return location;
+ }
+
+ public void setLocation(Location location) {
+ this.location = location;
+ }
+
+ public MagalieUser getMagalieUser() {
+ return magalieUser;
+ }
+
+ public void setMagalieUser(MagalieUser magalieUser) {
+ this.magalieUser = magalieUser;
+ }
+
+ public Date getReportDate() {
+ return reportDate;
+ }
+
+ public void setReportDate(Date reportDate) {
+ this.reportDate = reportDate;
+ }
+}
Deleted: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,65 +0,0 @@
-package com.franciaflex.magalie.persistence.entity;
-
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-
-@Entity
-public class Site extends AbstractEntity {
-
- @Id
- protected String id;
-
- @ManyToOne
- protected Store store;
-
- protected String locationCode;
-
- protected int requiredAccreditationLevel;
-
- @Override
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public Store getStore() {
- return store;
- }
-
- public void setStore(Store store) {
- this.store = store;
- }
-
- public String getLocationCode() {
- return locationCode;
- }
-
- public void setLocationCode(String locationCode) {
- this.locationCode = locationCode;
- }
-
- public int getRequiredAccreditationLevel() {
- return requiredAccreditationLevel;
- }
-
- public void setRequiredAccreditationLevel(int requiredAccreditationLevel) {
- this.requiredAccreditationLevel = requiredAccreditationLevel;
- }
-
- public String getBarcode() {
- String barcode = getStoreCode() + getLocationCode();
- return barcode;
- }
-
- public boolean isDriverLicenseRequired() {
- return requiredAccreditationLevel == 9;
- }
-
- public String getStoreCode() {
- return getStore().getName();
- }
-}
Deleted: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/SiteError.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/SiteError.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/SiteError.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,57 +0,0 @@
-package com.franciaflex.magalie.persistence.entity;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToOne;
-import java.util.Date;
-
-@Entity
-public class SiteError extends AbstractEntity {
-
- @Id
- @GeneratedValue
- protected String id;
-
- @OneToOne
- protected Site site;
-
- @ManyToOne
- protected MagalieUser magalieUser;
-
- protected Date reportDate;
-
- @Override
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public Site getSite() {
- return site;
- }
-
- public void setSite(Site site) {
- this.site = site;
- }
-
- public MagalieUser getMagalieUser() {
- return magalieUser;
- }
-
- public void setMagalieUser(MagalieUser magalieUser) {
- this.magalieUser = magalieUser;
- }
-
- public Date getReportDate() {
- return reportDate;
- }
-
- public void setReportDate(Date reportDate) {
- this.reportDate = reportDate;
- }
-}
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovement.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovement.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovement.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -16,10 +16,10 @@
protected String id;
@ManyToOne
- protected Site originSite;
+ protected Location originLocation;
@ManyToOne
- protected Site destinationSite;
+ protected Location destinationLocation;
@ManyToOne
protected Article article;
@@ -44,20 +44,20 @@
this.id = id;
}
- public Site getOriginSite() {
- return originSite;
+ public Location getOriginLocation() {
+ return originLocation;
}
- public void setOriginSite(Site originSite) {
- this.originSite = originSite;
+ public void setOriginLocation(Location originLocation) {
+ this.originLocation = originLocation;
}
- public Site getDestinationSite() {
- return destinationSite;
+ public Location getDestinationLocation() {
+ return destinationLocation;
}
- public void setDestinationSite(Site destinationSite) {
- this.destinationSite = destinationSite;
+ public void setDestinationLocation(Location destinationLocation) {
+ this.destinationLocation = destinationLocation;
}
public Article getArticle() {
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StorageMovementOrder.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -99,24 +99,24 @@
storageMovements.add(storageMovement);
}
- public Set<Site> getSites() {
- Set<Site> sites =
+ public Set<Location> getLocations() {
+ Set<Location> locations =
Sets.newHashSet(
Iterables.transform(
getStorageMovements(),
- StorageMovements.getOriginSiteFunction()
+ StorageMovements.getOriginFunction()
)
);
- return sites;
+ return locations;
}
- public StorageMovement findStorageMovementBySiteId(String siteId) {
+ public StorageMovement findStorageMovementByLocationId(String locationId) {
StorageMovement storageMovement =
Iterables.find(
getStorageMovements(),
Predicates.compose(
- Entities.entityHasId(siteId),
- StorageMovements.getOriginSiteFunction()
+ Entities.entityHasId(locationId),
+ StorageMovements.getOriginFunction()
),
null
);
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StoredArticle.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StoredArticle.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/StoredArticle.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -14,7 +14,7 @@
protected Article article;
@ManyToOne
- protected Site site;
+ protected Location location;
protected double quantity;
@@ -27,12 +27,12 @@
this.id = id;
}
- public Site getSite() {
- return site;
+ public Location getLocation() {
+ return location;
}
- public void setSite(Site site) {
- this.site = site;
+ public void setLocation(Location location) {
+ this.location = location;
}
public Article getArticle() {
Modified: trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java
===================================================================
--- trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-persistence/src/test/java/com/franciaflex/magalie/PersistenceTest.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -26,17 +26,17 @@
//// entityManager.persist(new MagalieUser());
//// entityManager.persist(new Article());
//// entityManager.persist(new StoredArticle());
-//// entityManager.persist(new Site());
+//// entityManager.persist(new Location());
//// entityManager.persist(new RequestedArticle());
//
-//// entityManager.persist(new SiteError());
+//// entityManager.persist(new LocationError());
//// entityManager.persist(new StorageMovement());
//
-// List<Site> storageMovements = fixtures.fixture("storageMovements");
+// List<Location> storageMovements = fixtures.fixture("storageMovements");
//
-// for (Site site : storageMovements) {
+// for (Location location : storageMovements) {
//
-// entityManager.persist(site);
+// entityManager.persist(location);
//
// }
//
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -7,7 +7,7 @@
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.Site;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.Store;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
import org.apache.commons.io.Charsets;
@@ -37,7 +37,7 @@
reader.getConfig().setClassTag("stored-article", StoredArticle.class);
reader.getConfig().setClassTag("user", MagalieUser.class);
reader.getConfig().setClassTag("requested-article", RequestedArticle.class);
- reader.getConfig().setClassTag("site", Site.class);
+ reader.getConfig().setClassTag("location", Location.class);
try {
fixtures = (Map<String, Object>) reader.read();
} catch (YamlException e) {
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieReport.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieReport.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieReport.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,8 +1,8 @@
package com.franciaflex.magalie.services;
import com.franciaflex.magalie.persistence.StorageMovements;
+import com.franciaflex.magalie.persistence.entity.LocationError;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.SiteError;
import com.franciaflex.magalie.persistence.entity.StorageMovement;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
@@ -18,7 +18,7 @@
protected List<StorageMovement> allStorageMovements;
- protected List<SiteError> allSiteErrors;
+ protected List<LocationError> allLocationErrors;
public void setReportDate(Date reportDate) {
this.reportDate = reportDate;
@@ -62,11 +62,11 @@
return confirmedStorageMovements;
}
- public List<SiteError> getAllSiteErrors() {
- return allSiteErrors;
+ public List<LocationError> getAllLocationErrors() {
+ return allLocationErrors;
}
- public void setAllSiteErrors(List<SiteError> allSiteErrors) {
- this.allSiteErrors = allSiteErrors;
+ public void setAllLocationErrors(List<LocationError> allLocationErrors) {
+ this.allLocationErrors = allLocationErrors;
}
}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementConfirmation.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementConfirmation.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementConfirmation.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -7,9 +7,9 @@
protected String storageMovementOrderId;
- protected Map<String, Double> sitesIdsToActualQuantities;
+ protected Map<String, Double> locationsIdsToActualQuantities;
- protected Set<String> siteInErrorIds;
+ protected Set<String> locationInErrorIds;
public String getStorageMovementOrderId() {
return storageMovementOrderId;
@@ -19,19 +19,19 @@
this.storageMovementOrderId = storageMovementOrderId;
}
- public Map<String, Double> getSitesIdsToActualQuantities() {
- return sitesIdsToActualQuantities;
+ public Map<String, Double> getLocationsIdsToActualQuantities() {
+ return locationsIdsToActualQuantities;
}
- public void setSitesIdsToActualQuantities(Map<String, Double> sitesIdsToActualQuantities) {
- this.sitesIdsToActualQuantities = sitesIdsToActualQuantities;
+ public void setLocationsIdsToActualQuantities(Map<String, Double> locationsIdsToActualQuantities) {
+ this.locationsIdsToActualQuantities = locationsIdsToActualQuantities;
}
- public Set<String> getSiteInErrorIds() {
- return siteInErrorIds;
+ public Set<String> getLocationInErrorIds() {
+ return locationInErrorIds;
}
- public void setSiteInErrorIds(Set<String> siteInErrorIds) {
- this.siteInErrorIds = siteInErrorIds;
+ public void setLocationInErrorIds(Set<String> locationInErrorIds) {
+ this.locationInErrorIds = locationInErrorIds;
}
}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementTask.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementTask.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/StorageMovementTask.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -32,13 +32,13 @@
public List<StorageMovement> getStorageMovements() {
- List<StorageMovement> sites = Lists.newLinkedList();
+ List<StorageMovement> storageMovements = Lists.newLinkedList();
- sites.addAll(storageMovementOrder.getStorageMovements());
+ storageMovements.addAll(storageMovementOrder.getStorageMovements());
- sites.addAll(extraStorageMovements);
+ storageMovements.addAll(extraStorageMovements);
- return sites;
+ return storageMovements;
}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/exception/RequiredDriverLicenceException.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/exception/RequiredDriverLicenceException.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/exception/RequiredDriverLicenceException.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,9 +1,9 @@
package com.franciaflex.magalie.services.exception;
-import com.franciaflex.magalie.persistence.Sites;
+import com.franciaflex.magalie.persistence.Locations;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.Site;
import com.google.common.base.Predicate;
public class RequiredDriverLicenceException extends MagalieException {
@@ -12,7 +12,7 @@
protected MagalieUser magalieUser;
- protected Site site;
+ protected Location location;
protected RequiredDriverLicenceException(String message) {
super(message);
@@ -26,15 +26,15 @@
return magalieUser;
}
- public Site getSite() {
- return site;
+ public Location getLocation() {
+ return location;
}
- public static void throwIfUserCannotAccessSite(MagalieUser magalieUser, Site site, Article article) throws RequiredDriverLicenceException {
+ public static void throwIfUserCannotAccessLocation(MagalieUser magalieUser, Location location, Article article) throws RequiredDriverLicenceException {
- Predicate<Site> isSiteInaccessiblePredicate = Sites.inaccessibleSitePredicate(magalieUser);
+ Predicate<Location> isLocationInaccessiblePredicate = Locations.inaccessibleLocationPredicate(magalieUser);
- if (isSiteInaccessiblePredicate.apply(site)) {
+ if (isLocationInaccessiblePredicate.apply(location)) {
String message = "requested article " + article
+ " can not be retrieved since user " + magalieUser
@@ -44,7 +44,7 @@
newException.magalieUser = magalieUser;
- newException.site = site;
+ newException.location = location;
newException.article = article;
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -2,14 +2,14 @@
import com.franciaflex.magalie.persistence.MagaliePersistenceContext;
import com.franciaflex.magalie.persistence.StoredArticles;
-import com.franciaflex.magalie.persistence.dao.SiteDao;
+import com.franciaflex.magalie.persistence.dao.LocationDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao;
import com.franciaflex.magalie.persistence.dao.StoredArticleDao;
import com.franciaflex.magalie.persistence.entity.Article;
import com.franciaflex.magalie.persistence.entity.Building;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.Site;
import com.franciaflex.magalie.persistence.entity.StorageMovement;
import com.franciaflex.magalie.persistence.entity.StorageMovementOrder;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
@@ -51,23 +51,23 @@
}
public StorageMovementOrder bookArticleWithBestEffortPolicy(
- MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Site destinationSite)
+ MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Location destinationLocation)
throws RequiredDriverLicenceException, UnavailableArticleException {
- return bookArticle(magalieUser, building, article ,requestedQuantity, destinationSite, true);
+ return bookArticle(magalieUser, building, article ,requestedQuantity, destinationLocation, true);
}
public StorageMovementOrder bookArticle(
- MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Site destinationSite)
+ MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Location destinationLocation)
throws UnavailableArticleException, RequiredDriverLicenceException {
- return bookArticle(magalieUser, building, article ,requestedQuantity, destinationSite, false);
+ return bookArticle(magalieUser, building, article ,requestedQuantity, destinationLocation, false);
}
protected StorageMovementOrder bookArticle(
- MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Site destinationSite, boolean bestEffortPolicy)
+ MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Location destinationLocation, boolean bestEffortPolicy)
throws UnavailableArticleException, RequiredDriverLicenceException {
Preconditions.checkNotNull(magalieUser);
@@ -89,9 +89,9 @@
Ordering<StoredArticle> storedArticlesOrdering =
Ordering.compound(
Lists.newArrayList(
- StoredArticles.fixedSiteForArticleLastComparator(article),
- StoredArticles.siteWithLowestQuantityFirstComparator(),
- StoredArticles.articleStoredInSitesRequiringDriverLicenseFirstComparator()
+ StoredArticles.fixedLocationForArticleLastComparator(article),
+ StoredArticles.locationWithLowestQuantityFirstComparator(),
+ StoredArticles.articleStoredInLocationsRequiringDriverLicenseFirstComparator()
)
);
@@ -110,15 +110,15 @@
double quantityLeft = requestedQuantity - quantity;
- double quantityInSite = storedArticle.getQuantity();
+ double quantityInLocation = storedArticle.getQuantity();
- double quantityWithdrawn = Math.min(quantityLeft, quantityInSite);
+ double quantityWithdrawn = Math.min(quantityLeft, quantityInLocation);
if (quantityWithdrawn > 0.) {
- Site originSite = storedArticle.getSite();
+ Location originLocation = storedArticle.getLocation();
- RequiredDriverLicenceException.throwIfUserCannotAccessSite(magalieUser, originSite, article);
+ RequiredDriverLicenceException.throwIfUserCannotAccessLocation(magalieUser, originLocation, article);
quantity += quantityWithdrawn;
@@ -130,9 +130,9 @@
newStorageMovement.setMagalieUser(magalieUser);
- newStorageMovement.setOriginSite(originSite);
+ newStorageMovement.setOriginLocation(originLocation);
- newStorageMovement.setDestinationSite(destinationSite);
+ newStorageMovement.setDestinationLocation(destinationLocation);
newStorageMovement.setExpectedQuantity(quantityWithdrawn);
@@ -187,24 +187,24 @@
Article article = storageMovementOrder.getArticle();
- Set<Site> sitesInOrder = storageMovementOrder.getSites();
+ Set<Location> locationsInOrder = storageMovementOrder.getLocations();
// we suppose the order concerns movement in the same building
- Building building = Iterables.get(sitesInOrder, 0).getStore().getBuilding();
+ Building building = Iterables.get(locationsInOrder, 0).getStore().getBuilding();
List<StoredArticle> storedArticles = getStoredArticles(building, article);
for (StoredArticle storedArticle : storedArticles) {
- Site site = storedArticle.getSite();
+ Location location = storedArticle.getLocation();
- if ( ! sitesInOrder.contains(site)) {
+ if ( ! locationsInOrder.contains(location)) {
StorageMovement newStorageMovement = new StorageMovement();
newStorageMovement.setArticle(article);
- newStorageMovement.setOriginSite(site);
+ newStorageMovement.setOriginLocation(location);
newStorageMovement.setExpectedQuantity(0.);
@@ -231,17 +231,17 @@
List<StorageMovement> storageMovements = storageMovementDao.findAllByArticle(article);
- ImmutableMap<Site, StoredArticle> storedArticlesBySite =
+ ImmutableMap<Location, StoredArticle> storedArticlesByLocation =
Maps.uniqueIndex(
storedArticles,
- StoredArticles.getSiteFunction()
+ StoredArticles.getLocationFunction()
);
for (StorageMovement storageMovement : storageMovements) {
- Site originSite = storageMovement.getOriginSite();
+ Location originLocation = storageMovement.getOriginLocation();
- StoredArticle storedArticle = storedArticlesBySite.get(originSite);
+ StoredArticle storedArticle = storedArticlesByLocation.get(originLocation);
double actualQuantity = storedArticle.getQuantity() - storageMovement.getQuantity();
@@ -251,7 +251,7 @@
} else {
- // site is empty, do not include it as a site where you can take an article
+ // location is empty, do not include it as a location where you can take an article
storedArticles.remove(storedArticle);
}
@@ -260,15 +260,15 @@
// exclude storageMovements reported in error
- SiteErrorsService siteErrorsService = serviceContext.newService(SiteErrorsService.class);
+ LocationErrorsService locationErrorsService = serviceContext.newService(LocationErrorsService.class);
- List<Site> allSitesInError = siteErrorsService.getAllSitesInError();
+ List<Location> allLocationsInError = locationErrorsService.getAllLocationsInError();
storedArticles =
Lists.newArrayList(
Iterables.filter(
storedArticles,
- StoredArticles.articleNotStoredInSiteReportedInError(allSitesInError)
+ StoredArticles.articleNotStoredInLocationReportedInError(allLocationsInError)
)
);
@@ -283,35 +283,35 @@
StorageMovementOrderDao storageMovementOrderDao =
serviceContext.getPersistenceContext().getStorageMovementOrderDao();
- SiteDao siteDao = serviceContext.getPersistenceContext().getSiteDao();
+ LocationDao locationDao = serviceContext.getPersistenceContext().getLocationDao();
StorageMovementOrder storageMovementOrder =
storageMovementOrderDao.findById(storageMovementOrderId);
Date confirmDate = serviceContext.getNow();
- SiteErrorsService siteErrorsService =
- serviceContext.newService(SiteErrorsService.class);
+ LocationErrorsService locationErrorsService =
+ serviceContext.newService(LocationErrorsService.class);
- for (Map.Entry<String, Double> siteIdToActualQuantity : confirmation.getSitesIdsToActualQuantities().entrySet()) {
+ for (Map.Entry<String, Double> locationIdToActualQuantity : confirmation.getLocationsIdsToActualQuantities().entrySet()) {
- String siteId = siteIdToActualQuantity.getKey();
+ String locationId = locationIdToActualQuantity.getKey();
- double actualQuantity = siteIdToActualQuantity.getValue();
+ double actualQuantity = locationIdToActualQuantity.getValue();
StorageMovement storageMovement =
- storageMovementOrder.findStorageMovementBySiteId(siteId);
+ storageMovementOrder.findStorageMovementByLocationId(locationId);
if (storageMovement == null) {
// user made a movement out of the order from its own initiative
storageMovement = new StorageMovement();
- Site originSite = siteDao.findById(siteId);
+ Location originLocation = locationDao.findById(locationId);
- storageMovement.setOriginSite(originSite);
+ storageMovement.setOriginLocation(originLocation);
- // TODO brendan 28/03/13 what about destination site
+ // TODO brendan 28/03/13 what about destination location
storageMovement.setMagalieUser(magalieUser);
@@ -329,11 +329,11 @@
}
- for (String siteInErrorId : confirmation.getSiteInErrorIds()) {
+ for (String locationInErrorId : confirmation.getLocationInErrorIds()) {
- Site siteInError = siteDao.findById(siteInErrorId);
+ Location locationInError = locationDao.findById(locationInErrorId);
- siteErrorsService.reportError(siteInError, magalieUser, confirmDate);
+ locationErrorsService.reportError(locationInError, magalieUser, confirmDate);
}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -5,14 +5,14 @@
import com.franciaflex.magalie.persistence.dao.BuildingDao;
import com.franciaflex.magalie.persistence.dao.MagalieUserDao;
import com.franciaflex.magalie.persistence.dao.RequestedArticleDao;
-import com.franciaflex.magalie.persistence.dao.SiteDao;
+import com.franciaflex.magalie.persistence.dao.LocationDao;
import com.franciaflex.magalie.persistence.dao.StoreDao;
import com.franciaflex.magalie.persistence.dao.StoredArticleDao;
import com.franciaflex.magalie.persistence.entity.Article;
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.Site;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.Store;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
import com.franciaflex.magalie.services.MagalieFixtures;
@@ -109,13 +109,13 @@
persistenceContext.commit();
- SiteDao siteDao = persistenceContext.getSiteDao();
+ LocationDao locationDao = persistenceContext.getLocationDao();
- Collection<Site> sites = fixtures.fixture("sites");
+ Collection<Location> locations = fixtures.fixture("locations");
- for (Site site : sites) {
+ for (Location location : locations) {
- siteDao.persist(site);
+ locationDao.persist(location);
}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -4,8 +4,8 @@
import com.franciaflex.magalie.persistence.dao.StoreDao;
import com.franciaflex.magalie.persistence.entity.Article;
import com.franciaflex.magalie.persistence.entity.Building;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.Site;
import com.franciaflex.magalie.persistence.entity.StorageMovementOrder;
import com.franciaflex.magalie.persistence.entity.Store;
import com.franciaflex.magalie.services.MagalieService;
@@ -68,7 +68,7 @@
Building building = destinationStore.getBuilding();
- Site destinationSite = getDestinationSite(destinationStore);
+ Location destinationLocation = getDestinationLocation(destinationStore);
StorageMovementOrder storageMovementOrder =
articleStorageService.bookArticleWithBestEffortPolicy(
@@ -76,13 +76,13 @@
building,
article,
quantityInKanban,
- destinationSite);
+ destinationLocation);
return storageMovementOrder;
}
- protected Site getDestinationSite(Store destinationStore) {
+ protected Location getDestinationLocation(Store destinationStore) {
// TODO brendan 10/04/13 how to define destination for store, something like "INC" ?
Copied: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/LocationErrorsService.java (from rev 83, trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SiteErrorsService.java)
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/LocationErrorsService.java (rev 0)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/LocationErrorsService.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -0,0 +1,82 @@
+package com.franciaflex.magalie.services.service;
+
+import com.franciaflex.magalie.persistence.dao.LocationErrorDao;
+import com.franciaflex.magalie.persistence.entity.Location;
+import com.franciaflex.magalie.persistence.entity.LocationError;
+import com.franciaflex.magalie.persistence.entity.MagalieUser;
+import com.franciaflex.magalie.services.MagalieService;
+import com.franciaflex.magalie.services.MagalieServiceContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.Date;
+import java.util.List;
+
+public class LocationErrorsService implements MagalieService {
+
+ private static final Log log = LogFactory.getLog(LocationErrorsService.class);
+
+ protected MagalieServiceContext serviceContext;
+
+ @Override
+ public void setServiceContext(MagalieServiceContext serviceContext) {
+ this.serviceContext = serviceContext;
+ }
+
+ public void reportError(Location location, MagalieUser magalieUser) {
+
+ Date reportDate = serviceContext.getNow();
+
+ reportError(location, magalieUser, reportDate);
+
+ }
+
+ public void reportError(Location location, MagalieUser magalieUser, Date reportDate) {
+
+ LocationErrorDao locationErrorDao = serviceContext.getPersistenceContext().getLocationErrorDao();
+
+ LocationError existingLocationError = locationErrorDao.findByLocation(location);
+
+ if (existingLocationError == null) {
+
+ LocationError newLocationError = new LocationError();
+
+ newLocationError.setMagalieUser(magalieUser);
+
+ newLocationError.setLocation(location);
+
+ newLocationError.setReportDate(reportDate);
+
+ locationErrorDao.persist(newLocationError);
+
+ serviceContext.getPersistenceContext().commit();
+
+ } else {
+
+ if (log.isInfoEnabled()) {
+ log.info("error on location " + location + " already reported, nothing saved");
+ }
+
+ }
+ }
+
+ public List<Location> getAllLocationsInError() {
+
+ LocationErrorDao locationErrorDao = serviceContext.getPersistenceContext().getLocationErrorDao();
+
+ List<Location> allLocationsInError = locationErrorDao.getAllLocationsInError();
+
+ return allLocationsInError;
+
+ }
+
+ public List<LocationError> getAllLocationErrors() {
+
+ LocationErrorDao locationErrorDao = serviceContext.getPersistenceContext().getLocationErrorDao();
+
+ List<LocationError> allLocationErrors = locationErrorDao.findAll();
+
+ return allLocationErrors;
+
+ }
+}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReportService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReportService.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ReportService.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,8 +1,8 @@
package com.franciaflex.magalie.services.service;
import com.franciaflex.magalie.persistence.dao.StorageMovementDao;
+import com.franciaflex.magalie.persistence.entity.LocationError;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.SiteError;
import com.franciaflex.magalie.persistence.entity.StorageMovement;
import com.franciaflex.magalie.services.MagalieReport;
import com.franciaflex.magalie.services.MagalieService;
@@ -40,11 +40,11 @@
magalieReport.setAllStorageMovements(allStorageMovements);
- SiteErrorsService siteErrorsService = serviceContext.newService(SiteErrorsService.class);
+ LocationErrorsService locationErrorsService = serviceContext.newService(LocationErrorsService.class);
- List<SiteError> allSitesInError = siteErrorsService.getAllSiteErrors();
+ List<LocationError> allLocationsInError = locationErrorsService.getAllLocationErrors();
- magalieReport.setAllSiteErrors(allSitesInError);
+ magalieReport.setAllLocationErrors(allLocationsInError);
return magalieReport;
Deleted: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SiteErrorsService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SiteErrorsService.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SiteErrorsService.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -1,82 +0,0 @@
-package com.franciaflex.magalie.services.service;
-
-import com.franciaflex.magalie.persistence.dao.SiteErrorDao;
-import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.Site;
-import com.franciaflex.magalie.persistence.entity.SiteError;
-import com.franciaflex.magalie.services.MagalieService;
-import com.franciaflex.magalie.services.MagalieServiceContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.util.Date;
-import java.util.List;
-
-public class SiteErrorsService implements MagalieService {
-
- private static final Log log = LogFactory.getLog(SiteErrorsService.class);
-
- protected MagalieServiceContext serviceContext;
-
- @Override
- public void setServiceContext(MagalieServiceContext serviceContext) {
- this.serviceContext = serviceContext;
- }
-
- public void reportError(Site site, MagalieUser magalieUser) {
-
- Date reportDate = serviceContext.getNow();
-
- reportError(site, magalieUser, reportDate);
-
- }
-
- public void reportError(Site site, MagalieUser magalieUser, Date reportDate) {
-
- SiteErrorDao siteErrorDao = serviceContext.getPersistenceContext().getSiteErrorDao();
-
- SiteError existingSiteError = siteErrorDao.findBySite(site);
-
- if (existingSiteError == null) {
-
- SiteError newSiteError = new SiteError();
-
- newSiteError.setMagalieUser(magalieUser);
-
- newSiteError.setSite(site);
-
- newSiteError.setReportDate(reportDate);
-
- siteErrorDao.persist(newSiteError);
-
- serviceContext.getPersistenceContext().commit();
-
- } else {
-
- if (log.isInfoEnabled()) {
- log.info("error on site " + site + " already reported, nothing saved");
- }
-
- }
- }
-
- public List<Site> getAllSitesInError() {
-
- SiteErrorDao siteErrorDao = serviceContext.getPersistenceContext().getSiteErrorDao();
-
- List<Site> allSitesInError = siteErrorDao.getAllSitesInError();
-
- return allSitesInError;
-
- }
-
- public List<SiteError> getAllSiteErrors() {
-
- SiteErrorDao siteErrorDao = serviceContext.getPersistenceContext().getSiteErrorDao();
-
- List<SiteError> allSiteErrors = siteErrorDao.findAll();
-
- return allSiteErrors;
-
- }
-}
Modified: trunk/magalie-services/src/main/resources/fixtures.yaml
===================================================================
--- trunk/magalie-services/src/main/resources/fixtures.yaml 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/resources/fixtures.yaml 2013-04-11 19:44:51 UTC (rev 87)
@@ -77,118 +77,118 @@
- *U04
- *SOM
-site1:
- &site1 !site
- id: site1
+location1:
+ &location1 !location
+ id: location1
store: *U01
locationCode: A01
requiredAccreditationLevel: 0
-site2:
- &site2 !site
- id: site2
+location2:
+ &location2 !location
+ id: location2
store: *U01
locationCode: B02
requiredAccreditationLevel: 9
-site3:
- &site3 !site
- id: site3
+location3:
+ &location3 !location
+ id: location3
store: *U01
locationCode: C03
requiredAccreditationLevel: 0
-site4:
- &site4 !site
- id: site4
+location4:
+ &location4 !location
+ id: location4
store: *U01
locationCode: D04
requiredAccreditationLevel: 9
-site5:
- &site5 !site
- id: site5
+location5:
+ &location5 !location
+ id: location5
store: *U02
locationCode: F01
requiredAccreditationLevel: 0
-site6:
- &site6 !site
- id: site6
+location6:
+ &location6 !location
+ id: location6
store: *U02
locationCode: G02
requiredAccreditationLevel: 0
-site7:
- &site7 !site
- id: site7
+location7:
+ &location7 !location
+ id: location7
store: *U02
locationCode: H03
requiredAccreditationLevel: 9
-site8:
- &site8 !site
- id: site8
+location8:
+ &location8 !location
+ id: location8
store: *U04
locationCode: A010
requiredAccreditationLevel: 0
-site9:
- &site9 !site
- id: site9
+location9:
+ &location9 !location
+ id: location9
store: *SOM
locationCode: B10
requiredAccreditationLevel: 0
-site10:
- &site10 !site
- id: site10
+location10:
+ &location10 !location
+ id: location10
store: *SOM
locationCode: B24
requiredAccreditationLevel: 0
-site11:
- &site11 !site
- id: site11
+location11:
+ &location11 !location
+ id: location11
store: *SOM
locationCode: B77
requiredAccreditationLevel: 0
-site12:
- &site12 !site
- id: site12
+location12:
+ &location12 !location
+ id: location12
store: *SOM
locationCode: C12
requiredAccreditationLevel: 0
-site13:
- &site13 !site
- id: site13
+location13:
+ &location13 !location
+ id: location13
store: *U01
locationCode: REC
requiredAccreditationLevel: 0
-sites:
- - *site1
- - *site2
- - *site3
- - *site4
- - *site5
- - *site6
- - *site7
- - *site8
- - *site9
- - *site10
- - *site11
- - *site12
- - *site13
+locations:
+ - *location1
+ - *location2
+ - *location3
+ - *location4
+ - *location5
+ - *location6
+ - *location7
+ - *location8
+ - *location9
+ - *location10
+ - *location11
+ - *location12
+ - *location13
article1:
&article1 !article
id: article1
- fixedSites:
- - *site4
- - *site8
+ fixedLocations:
+ - *location4
+ - *location8
code: 4034108
quantityInKanban: 50
unit: M
@@ -197,8 +197,8 @@
article2:
&article2 !article
id: article2
- fixedSites:
- - *site11
+ fixedLocations:
+ - *location11
code: 4033079
quantityInKanban: 3
unit: PCE
@@ -207,8 +207,8 @@
article3:
&article3 !article
id: article3
- fixedSites:
- - *site1
+ fixedLocations:
+ - *location1
code: 4092459
quantityInKanban: 50
unit: PCE
@@ -225,8 +225,8 @@
article5:
&article5 !article
id: article5
- fixedSites:
- - *site5
+ fixedLocations:
+ - *location5
code: 4020012
quantityInKanban: 10
unit: B60
@@ -235,8 +235,8 @@
article6:
&article6 !article
id: article6
- fixedSites:
- - *site3
+ fixedLocations:
+ - *location3
code: 1421812
quantityInKanban: 9
unit: PCE
@@ -254,91 +254,91 @@
&storedArticle1 !stored-article
id: storedArticle1
article: *article1
- site: *site4
+ location: *location4
quantity: 40
storedArticle2:
&storedArticle2 !stored-article
id: storedArticle2
article: *article1
- site: *site8
+ location: *location8
quantity: 20
storedArticle3:
&storedArticle3 !stored-article
id: storedArticle3
article: *article2
- site: *site10
+ location: *location10
quantity: 2
storedArticle4:
&storedArticle4 !stored-article
id: storedArticle4
article: *article3
- site: *site1
+ location: *location1
quantity: 90
storedArticle5:
&storedArticle5 !stored-article
id: storedArticle5
article: *article1
- site: *site13
+ location: *location13
quantity: 30
storedArticle6:
&storedArticle6 !stored-article
id: storedArticle6
article: *article2
- site: *site11
+ location: *location11
quantity: 100
storedArticle7:
&storedArticle7 !stored-article
id: storedArticle7
article: *article2
- site: *site12
+ location: *location12
quantity: 10
storedArticle8:
&storedArticle8 !stored-article
id: storedArticle8
article: *article3
- site: *site2
+ location: *location2
quantity: 500
storedArticle9:
&storedArticle9 !stored-article
id: storedArticle9
article: *article3
- site: *site3
+ location: *location3
quantity: 50
storedArticle10:
&storedArticle10 !stored-article
id: storedArticle10
article: *article5
- site: *site5
+ location: *location5
quantity: 5
storedArticle11:
&storedArticle11 !stored-article
id: storedArticle11
article: *article5
- site: *site6
+ location: *location6
quantity: 2
storedArticle12:
&storedArticle12 !stored-article
id: storedArticle12
article: *article5
- site: *site7
+ location: *location7
quantity: 25
storedArticle13:
&storedArticle13 !stored-article
id: storedArticle13
article: *article6
- site: *site3
+ location: *location3
quantity: 70
storedArticles:
Modified: trunk/magalie-services/src/main/resources/fixtures2.yaml
===================================================================
--- trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-04-11 19:44:51 UTC (rev 87)
@@ -77,53 +77,53 @@
- *U04
- *SOM
-site1:
- &site1 !site
- id: site1
+location1:
+ &location1 !location
+ id: location1
store: *U01
locationCode: A1
requiredAccreditationLevel: 0
-site2:
- &site2 !site
- id: site2
+location2:
+ &location2 !location
+ id: location2
store: *U01
locationCode: B2
requiredAccreditationLevel: 9
-site3:
- &site3 !site
- id: site3
+location3:
+ &location3 !location
+ id: location3
store: *U01
locationCode: C3
requiredAccreditationLevel: 0
-site4:
- &site4 !site
- id: site4
+location4:
+ &location4 !location
+ id: location4
store: *U01
locationCode: D4
requiredAccreditationLevel: 9
-site5:
- &site5 !site
- id: site5
+location5:
+ &location5 !location
+ id: location5
store: *U02
locationCode: A1
requiredAccreditationLevel: 0
-sites:
- - *site1
- - *site2
- - *site3
- - *site4
- - *site5
+locations:
+ - *location1
+ - *location2
+ - *location3
+ - *location4
+ - *location5
article1:
&article1 !article
id: article1
- fixedSites:
- - *site1
+ fixedLocations:
+ - *location1
code: 111111111
quantityInKanban: 10
unit: kg
@@ -140,8 +140,8 @@
article3:
&article3 !article
id: article3
- fixedSites:
- - *site2
+ fixedLocations:
+ - *location2
code: 333333333
quantityInKanban: 50
unit: g
@@ -156,28 +156,28 @@
&storedArticle1 !stored-article
id: storedArticle1
article: *article1
- site: *site1
+ location: *location1
quantity: 50
storedArticle2:
&storedArticle2 !stored-article
id: storedArticle2
article: *article1
- site: *site2
+ location: *location2
quantity: 20
storedArticle3:
&storedArticle3 !stored-article
id: storedArticle3
article: *article2
- site: *site1
+ location: *location1
quantity: 10
storedArticle4:
&storedArticle4 !stored-article
id: storedArticle4
article: *article3
- site: *site4
+ location: *location4
quantity: 1000
storedArticles:
Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java
===================================================================
--- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-04-11 19:44:51 UTC (rev 87)
@@ -2,8 +2,8 @@
import com.franciaflex.magalie.persistence.entity.Article;
import com.franciaflex.magalie.persistence.entity.Building;
+import com.franciaflex.magalie.persistence.entity.Location;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
-import com.franciaflex.magalie.persistence.entity.Site;
import com.franciaflex.magalie.persistence.entity.StorageMovement;
import com.franciaflex.magalie.persistence.entity.StorageMovementOrder;
import com.franciaflex.magalie.services.AbstractMagalieServiceTest;
@@ -66,7 +66,7 @@
MagalieUser basile = fixture("basile");
Article article = fixture("article1");
- Site site2 = fixture("site2");
+ Location location2 = fixture("location2");
StorageMovementOrder storageMovementOrder;
try {
@@ -79,7 +79,7 @@
if (log.isDebugEnabled()) {
log.debug("exception raised = " + e);
}
- Assert.assertEquals(site2.getId(), e.getSite().getId());
+ Assert.assertEquals(location2.getId(), e.getLocation().getId());
}
}
@@ -135,10 +135,10 @@
}
Assert.assertEquals(2, storageMovementOrder.getStorageMovements().size());
- StorageMovement site1 = Iterables.get(storageMovementOrder.getStorageMovements(), 0, null);
- Assert.assertEquals(20., site1.getExpectedQuantity(), DELTA);
- StorageMovement site2 = Iterables.get(storageMovementOrder.getStorageMovements(), 1, null);
- Assert.assertEquals(30., site2.getExpectedQuantity(), DELTA);
+ StorageMovement location1 = Iterables.get(storageMovementOrder.getStorageMovements(), 0, null);
+ Assert.assertEquals(20., location1.getExpectedQuantity(), DELTA);
+ StorageMovement location2 = Iterables.get(storageMovementOrder.getStorageMovements(), 1, null);
+ Assert.assertEquals(30., location2.getExpectedQuantity(), DELTA);
}
@Test
@@ -159,10 +159,10 @@
Assert.assertEquals(2, storageMovementOrder.getStorageMovements().size());
StorageMovement storageMovement1 = Iterables.get(storageMovementOrder.getStorageMovements(), 0, null);
Assert.assertEquals(20., storageMovement1.getExpectedQuantity(), DELTA);
- Assert.assertEquals("B2", storageMovement1.getOriginSite().getLocationCode());
+ Assert.assertEquals("B2", storageMovement1.getOriginLocation().getLocationCode());
StorageMovement storageMovement2 = Iterables.get(storageMovementOrder.getStorageMovements(), 1, null);
Assert.assertEquals(10., storageMovement2.getExpectedQuantity(), DELTA);
- Assert.assertEquals("A1", storageMovement2.getOriginSite().getLocationCode());
+ Assert.assertEquals("A1", storageMovement2.getOriginLocation().getLocationCode());
} catch (RequiredDriverLicenceException e) {
if (log.isDebugEnabled()) {
log.debug("exception raised = " + e);
@@ -183,7 +183,7 @@
Assert.assertEquals(1, storageMovementOrder.getStorageMovements().size());
StorageMovement storageMovement = Iterables.get(storageMovementOrder.getStorageMovements(), 0, null);
Assert.assertEquals(30., storageMovement.getExpectedQuantity(), DELTA);
- Assert.assertEquals("A1", storageMovement.getOriginSite().getLocationCode());
+ Assert.assertEquals("A1", storageMovement.getOriginLocation().getLocationCode());
} catch (RequiredDriverLicenceException e) {
if (log.isDebugEnabled()) {
log.debug("exception raised = " + e);
@@ -198,17 +198,17 @@
}
@Test
- public void testWithdrawArticleConsiderSitesInError() throws Exception {
+ public void testWithdrawArticleConsiderLocationsInError() throws Exception {
MagalieUser alexandre = fixture("alexandre");
MagalieUser cathy = fixture("cathy");
Article article = fixture("article1");
- // report site 2 in error
- Site site2 = fixture("site2");
- SiteErrorsService siteErrorsService = newService(SiteErrorsService.class);
- siteErrorsService.reportError(site2, alexandre);
+ // report location 2 in error
+ Location location2 = fixture("location2");
+ LocationErrorsService locationErrorsService = newService(LocationErrorsService.class);
+ locationErrorsService.reportError(location2, alexandre);
try {
StorageMovementOrder storageMovementOrder = service.bookArticle(cathy, building, article, 30.);
@@ -218,9 +218,9 @@
Assert.assertEquals(1, storageMovementOrder.getStorageMovements().size());
StorageMovement storageMovement = Iterables.get(storageMovementOrder.getStorageMovements(), 0, null);
Assert.assertNotEquals(
- "site2 must not be returned because it was reported in error",
- site2.getId(),
- storageMovement.getOriginSite().getId());
+ "location2 must not be returned because it was reported in error",
+ location2.getId(),
+ storageMovement.getOriginLocation().getId());
} catch (RequiredDriverLicenceException e) {
if (log.isDebugEnabled()) {
log.debug("exception raised = " + e);
@@ -239,7 +239,7 @@
MagalieUser alexandre = fixture("alexandre");
Article article = fixture("article2");
- Site site1 = fixture("site1");
+ Location location1 = fixture("location1");
try {
StorageMovementOrder storageMovementOrder = service.bookArticleWithBestEffortPolicy(alexandre, building, article, 30., null);
@@ -249,7 +249,7 @@
Assert.assertEquals(1, storageMovementOrder.getStorageMovements().size());
StorageMovement storageMovement = Iterables.get(storageMovementOrder.getStorageMovements(), 0, null);
Assert.assertEquals("only 10 is available, so don't propose more", 10., storageMovement.getQuantity(), DELTA);
- Assert.assertEquals(site1.getId(), storageMovement.getOriginSite().getId());
+ Assert.assertEquals(location1.getId(), storageMovement.getOriginLocation().getId());
} catch (RequiredDriverLicenceException e) {
if (log.isDebugEnabled()) {
log.debug("exception raised = " + e);
Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/report.jsp
===================================================================
--- trunk/magalie-web/src/main/webapp/WEB-INF/content/report.jsp 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-web/src/main/webapp/WEB-INF/content/report.jsp 2013-04-11 19:44:51 UTC (rev 87)
@@ -48,15 +48,15 @@
<s:property value="id" />
</td>
<td>
- <s:property value="originSite.storeCode" />
+ <s:property value="originLocation.storeCode" />
-
- <s:property value="originSite.locationCode" />
+ <s:property value="originLocation.locationCode" />
</td>
<td>
- <s:if test="destinationSite">
- <s:property value="destinationSite.storeCode" />
+ <s:if test="destinationLocation">
+ <s:property value="destinationLocation.storeCode" />
-
- <s:property value="destinationSite.locationCode" />
+ <s:property value="destinationLocation.locationCode" />
</s:if>
</td>
<td>
@@ -120,15 +120,15 @@
<s:property value="id" />
</td>
<td>
- <s:property value="originSite.storeCode" />
+ <s:property value="originLocation.storeCode" />
-
- <s:property value="originSite.locationCode" />
+ <s:property value="originLocation.locationCode" />
</td>
<td>
- <s:if test="destinationSite">
- <s:property value="destinationSite.storeCode" />
+ <s:if test="destinationLocation">
+ <s:property value="destinationLocation.storeCode" />
-
- <s:property value="destinationSite.locationCode" />
+ <s:property value="destinationLocation.locationCode" />
</s:if>
</td>
<td>
@@ -180,16 +180,16 @@
</thead>
<tbody>
- <s:iterator value="report.allSiteErrors">
+ <s:iterator value="report.allLocationErrors">
<tr>
<td>
<s:property value="id" />
</td>
<td>
- <s:property value="site.storeCode" />
+ <s:property value="location.storeCode" />
</td>
<td>
- <s:property value="site.locationCode" />
+ <s:property value="location.locationCode" />
</td>
<td>
<s:property value="magalieUser.name" />
Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp
===================================================================
--- trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp 2013-04-11 19:44:51 UTC (rev 87)
@@ -99,7 +99,7 @@
<section id="storageMovements">
</section>
<s:form cssClass="form-horizontal">
- <s:textfield name="siteBarcode" label="Empl." inputAppendIcon="barcode" cssClass="input-small" />
+ <s:textfield name="locationBarcode" label="Empl." inputAppendIcon="barcode" cssClass="input-small" />
<s:textfield name="quantity" label="Qté" inputAppend="%{storageMovementTask.article.unit}" cssClass="input-mini" />
<s:hidden name="confirmation" />
@@ -111,7 +111,7 @@
<div id="storageMovementTemplate" class="template">
<dl class="dl-horizontal">
<dt>Empl.</dt>
- <dd><span data="originSite.store.name"></span> <span data="originSite.locationCode"></span></dd>
+ <dd><span data="originLocation.store.name"></span> <span data="originLocation.locationCode"></span></dd>
<dt>Prélev.</dt>
<dd><span data="withdrawn">0</span> / <span data="expectedQuantity"></span> <s:property value="storageMovementTask.article.unit" /></dd>
</dl>
Modified: trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js
===================================================================
--- trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js 2013-04-11 15:30:47 UTC (rev 86)
+++ trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js 2013-04-11 19:44:51 UTC (rev 87)
@@ -75,7 +75,7 @@
model.getStorageMovement = function(barcode) {
var storageMovement;
for (var i = 0; i < this.storageMovements.length; i++) {
- if (barcode == this.storageMovements[i].originSite.barcode) {
+ if (barcode == this.storageMovements[i].originLocation.barcode) {
storageMovement = this.storageMovements[i];
}
}
@@ -92,7 +92,7 @@
var storageMovement = this.getStorageMovement(barcode);
storageMovement.used = true;
storageMovement.defect =
- storageMovement.expectedQuantity != 0. // don't mark a site in error just because we wasn't supposed to withdraw item from it in the order
+ storageMovement.expectedQuantity != 0. // don't mark a location in error just because we wasn't supposed to withdraw item from it in the order
&& quantity != storageMovement.expectedQuantity;
storageMovement.withdrawn = quantity;
};
@@ -104,38 +104,38 @@
storageMovement.withdrawn = 0;
};
-model.nextSite = function() {
+model.nextLocation = function() {
this.storageMovementsIndex += 1;
if (this.storageMovementsIndex >= this.storageMovements.length) {
this.storageMovementsIndex = null;
} else {
var storageMovement = this.storageMovements[this.storageMovementsIndex];
if (storageMovement.expectedQuantity == 0.) {
- console.debug("will use extra site " + storageMovement.originSite.locationCode);
+ console.debug("will use extra location " + storageMovement.originLocation.locationCode);
var remainingQuantity = this.quantity - this.withdrawn();
storageMovement.expectedQuantity = remainingQuantity;
-// var availableQuantityInSite = storageMovement.availableQuantity;
-// storageMovement.expectedQuantity = Math.min(remainingQuantity, availableQuantityInSite);
+// var availableQuantityInLocation = storageMovement.availableQuantity;
+// storageMovement.expectedQuantity = Math.min(remainingQuantity, availableQuantityInLocation);
console.debug("pushing new value to withdraw: " + storageMovement.expectedQuantity);
}
}
};
model.getConfirmation = function() {
- var sitesIdsToActualQuantities = {};
- var siteInErrorIds = [];
+ var locationsIdsToActualQuantities = {};
+ var locationInErrorIds = [];
$.each(model.storageMovements, function(key, storageMovement) {
if (storageMovement.used) {
- sitesIdsToActualQuantities[storageMovement.originSite.id] = storageMovement.withdrawn;
+ locationsIdsToActualQuantities[storageMovement.originLocation.id] = storageMovement.withdrawn;
if (storageMovement.defect) {
- siteInErrorIds.push(storageMovement.originSite.id);
+ locationInErrorIds.push(storageMovement.originLocation.id);
}
}
});
var confirmation = {
storageMovementOrderId: this.storageMovementOrderId,
- sitesIdsToActualQuantities: sitesIdsToActualQuantities,
- siteInErrorIds: siteInErrorIds
+ locationsIdsToActualQuantities: locationsIdsToActualQuantities,
+ locationInErrorIds: locationInErrorIds
};
return confirmation;
}
@@ -151,7 +151,7 @@
}
},
- refreshSites : function() {
+ refreshLocations : function() {
var storageMovementsElement = $('#storageMovements');
@@ -169,7 +169,7 @@
} else {
$(storageMovementElement).addClass('success');
}
- } else if (storageMovement.originSite.id === model.storageMovements[model.storageMovementsIndex].originSite.id) {
+ } else if (storageMovement.originLocation.id === model.storageMovements[model.storageMovementsIndex].originLocation.id) {
$(storageMovementElement).addClass('pending');
storageMovementsElement.scrollTop(storageMovementElement[0].offsetTop);
} else {
@@ -181,8 +181,8 @@
refreshForm : function() {
// reset field to prevent reuse of the value by mistake
- $('#withdraw-item_siteBarcode').val('');
- // set default value of quantity to what should be withdrawn on the current site
+ $('#withdraw-item_locationBarcode').val('');
+ // set default value of quantity to what should be withdrawn on the current location
if (model.storageMovementsIndex != null) {
$('#withdraw-item_quantity').val(model.storageMovements[model.storageMovementsIndex].expectedQuantity);
}
@@ -198,7 +198,7 @@
refresh : function() {
this.refreshSummary();
- this.refreshSites();
+ this.refreshLocations();
this.refreshForm();
this.refreshButtons();
}
@@ -215,14 +215,14 @@
} else {
- var barcode = $('#withdraw-item_siteBarcode').val();
+ var barcode = $('#withdraw-item_locationBarcode').val();
var quantity = parseFloat($('#withdraw-item_quantity').val());
model.withdraw(barcode, quantity);
- // if used site focused as current, highlight next site to go
- if (barcode == model.storageMovements[model.storageMovementsIndex].originSite.barcode) {
- model.nextSite();
+ // if used location focused as current, highlight next location to go
+ if (barcode == model.storageMovements[model.storageMovementsIndex].originLocation.barcode) {
+ model.nextLocation();
}
}
@@ -245,13 +245,13 @@
} else {
- var barcode = $('#withdraw-item_siteBarcode').val();
+ var barcode = $('#withdraw-item_locationBarcode').val();
model.reportError(barcode);
- // if used site focused as current, highlight next site to go
- if (barcode == model.storageMovements[model.storageMovementsIndex].originSite.barcode) {
- model.nextSite();
+ // if used location focused as current, highlight next location to go
+ if (barcode == model.storageMovements[model.storageMovementsIndex].originLocation.barcode) {
+ model.nextLocation();
}
}
1
0
11 Apr '13
Author: bleny
Date: 2013-04-11 17:30:47 +0200 (Thu, 11 Apr 2013)
New Revision: 86
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
use H2 without parameter
Modified:
trunk/magalie-persistence/src/main/resources/magalie.properties
Modified: trunk/magalie-persistence/src/main/resources/magalie.properties
===================================================================
--- trunk/magalie-persistence/src/main/resources/magalie.properties 2013-04-11 14:09:16 UTC (rev 85)
+++ trunk/magalie-persistence/src/main/resources/magalie.properties 2013-04-11 15:30:47 UTC (rev 86)
@@ -1,5 +1,5 @@
javax.persistence.jdbc.driver=org.h2.Driver
-javax.persistence.jdbc.url=jdbc:h2:file:/tmp/magalie/h2data;AUTO_SERVER=TRUE
+javax.persistence.jdbc.url=jdbc:h2:file:/tmp/magalie/h2data
javax.persistence.jdbc.user=sa
javax.persistence.jdbc.password=
hibernate.dialect=org.hibernate.dialect.H2Dialect
1
0
11 Apr '13
Author: bleny
Date: 2013-04-11 16:09:16 +0200 (Thu, 11 Apr 2013)
New Revision: 85
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
trying AUTO_SERVER=TRUE for demo
Modified:
trunk/magalie-persistence/src/main/resources/magalie.properties
Modified: trunk/magalie-persistence/src/main/resources/magalie.properties
===================================================================
--- trunk/magalie-persistence/src/main/resources/magalie.properties 2013-04-11 12:41:40 UTC (rev 84)
+++ trunk/magalie-persistence/src/main/resources/magalie.properties 2013-04-11 14:09:16 UTC (rev 85)
@@ -1,5 +1,5 @@
javax.persistence.jdbc.driver=org.h2.Driver
-javax.persistence.jdbc.url=jdbc:h2:file:/tmp/magalie/h2data;DB_CLOSE_ON_EXIT=FALSE
+javax.persistence.jdbc.url=jdbc:h2:file:/tmp/magalie/h2data;AUTO_SERVER=TRUE
javax.persistence.jdbc.user=sa
javax.persistence.jdbc.password=
hibernate.dialect=org.hibernate.dialect.H2Dialect
1
0
11 Apr '13
Author: bleny
Date: 2013-04-11 14:41:40 +0200 (Thu, 11 Apr 2013)
New Revision: 84
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
trying ;DB_CLOSE_ON_EXIT=FALSE for demo
Modified:
trunk/magalie-persistence/src/main/resources/magalie.properties
Modified: trunk/magalie-persistence/src/main/resources/magalie.properties
===================================================================
--- trunk/magalie-persistence/src/main/resources/magalie.properties 2013-04-10 14:40:31 UTC (rev 83)
+++ trunk/magalie-persistence/src/main/resources/magalie.properties 2013-04-11 12:41:40 UTC (rev 84)
@@ -1,5 +1,5 @@
javax.persistence.jdbc.driver=org.h2.Driver
-javax.persistence.jdbc.url=jdbc:h2:file:/tmp/magalie/h2data
+javax.persistence.jdbc.url=jdbc:h2:file:/tmp/magalie/h2data;DB_CLOSE_ON_EXIT=FALSE
javax.persistence.jdbc.user=sa
javax.persistence.jdbc.password=
hibernate.dialect=org.hibernate.dialect.H2Dialect
1
0
10 Apr '13
Author: bleny
Date: 2013-04-10 16:40:31 +0200 (Wed, 10 Apr 2013)
New Revision: 83
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
introduce notion of building, ask for destination store when fulfilling kanban
Added:
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoreDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/BuildingJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoreJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Building.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Store.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/StoredArticleDao.java
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/StoredArticleJpaDao.java
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StoreService.java
trunk/magalie-services/src/main/resources/fixtures.yaml
trunk/magalie-services/src/main/resources/fixtures2.yaml
trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java
trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseActivityAction.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/DeliverRequestedArticleAction.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LogoutAction.java
trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-activity.jsp
trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp
trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp
trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp
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-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/JpaMagaliePersistenceContext.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,6 +1,7 @@
package com.franciaflex.magalie.persistence;
import com.franciaflex.magalie.persistence.dao.ArticleDao;
+import com.franciaflex.magalie.persistence.dao.BuildingDao;
import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao;
import com.franciaflex.magalie.persistence.dao.MagalieUserDao;
import com.franciaflex.magalie.persistence.dao.RequestedArticleDao;
@@ -8,8 +9,10 @@
import com.franciaflex.magalie.persistence.dao.SiteErrorDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao;
+import com.franciaflex.magalie.persistence.dao.StoreDao;
import com.franciaflex.magalie.persistence.dao.StoredArticleDao;
import com.franciaflex.magalie.persistence.dao.jpa.ArticleJpaDao;
+import com.franciaflex.magalie.persistence.dao.jpa.BuildingJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.DeliveredRequestedArticleJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.MagalieUserJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.RequestedArticleJpaDao;
@@ -17,6 +20,7 @@
import com.franciaflex.magalie.persistence.dao.jpa.SiteJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.StorageMovementJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.StorageMovementOrderJpaDao;
+import com.franciaflex.magalie.persistence.dao.jpa.StoreJpaDao;
import com.franciaflex.magalie.persistence.dao.jpa.StoredArticleJpaDao;
import javax.persistence.EntityManager;
@@ -82,6 +86,16 @@
}
@Override
+ public StoreDao getStoreDao() {
+ return new StoreJpaDao(entityManager);
+ }
+
+ @Override
+ public BuildingDao getBuildingDao() {
+ return new BuildingJpaDao(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-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,6 +1,7 @@
package com.franciaflex.magalie.persistence;
import com.franciaflex.magalie.persistence.dao.ArticleDao;
+import com.franciaflex.magalie.persistence.dao.BuildingDao;
import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao;
import com.franciaflex.magalie.persistence.dao.MagalieUserDao;
import com.franciaflex.magalie.persistence.dao.RequestedArticleDao;
@@ -8,6 +9,7 @@
import com.franciaflex.magalie.persistence.dao.SiteErrorDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementDao;
import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao;
+import com.franciaflex.magalie.persistence.dao.StoreDao;
import com.franciaflex.magalie.persistence.dao.StoredArticleDao;
/**
@@ -15,6 +17,12 @@
*/
public interface MagaliePersistenceContext {
+ void commit();
+
+ void rollback();
+
+ void clearDatabase();
+
MagalieUserDao getMagalieUserDao();
StoredArticleDao getStoredArticleDao();
@@ -33,10 +41,7 @@
DeliveredRequestedArticleDao getDeliveredRequestedArticleDao();
- void commit();
+ BuildingDao getBuildingDao();
- void rollback();
-
- void clearDatabase();
-
+ StoreDao getStoreDao();
}
Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -0,0 +1,10 @@
+package com.franciaflex.magalie.persistence.dao;
+
+import com.franciaflex.magalie.persistence.entity.Building;
+
+/**
+ * @author bleny
+ */
+public interface BuildingDao extends Dao<Building> {
+
+}
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-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/RequestedArticleDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,5 +1,6 @@
package com.franciaflex.magalie.persistence.dao;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.RequestedArticle;
import java.util.List;
@@ -9,6 +10,6 @@
*/
public interface RequestedArticleDao extends Dao<RequestedArticle> {
- List<RequestedArticle> findAllUndelivered();
+ List<RequestedArticle> findAllUndelivered(Building building);
}
Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoreDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoreDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoreDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -0,0 +1,10 @@
+package com.franciaflex.magalie.persistence.dao;
+
+import com.franciaflex.magalie.persistence.entity.Store;
+
+/**
+ * @author bleny
+ */
+public interface StoreDao extends Dao<Store> {
+
+}
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoredArticleDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoredArticleDao.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/StoredArticleDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,12 +1,13 @@
package com.franciaflex.magalie.persistence.dao;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
import java.util.List;
public interface StoredArticleDao extends Dao<StoredArticle> {
- List<StoredArticle> findAllByArticle(Article article);
+ List<StoredArticle> findAllForArticleInBuilding(Article article, Building building);
}
Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/BuildingJpaDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/BuildingJpaDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/BuildingJpaDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -0,0 +1,18 @@
+package com.franciaflex.magalie.persistence.dao.jpa;
+
+import com.franciaflex.magalie.persistence.dao.BuildingDao;
+import com.franciaflex.magalie.persistence.entity.Building;
+
+import javax.persistence.EntityManager;
+
+public class BuildingJpaDao extends AbstractJpaDao<Building> implements BuildingDao {
+
+ public BuildingJpaDao(EntityManager entityManager) {
+ super(entityManager);
+ }
+
+ @Override
+ protected Class<Building> getEntityClass() {
+ return Building.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-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/RequestedArticleJpaDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,6 +1,7 @@
package com.franciaflex.magalie.persistence.dao.jpa;
import com.franciaflex.magalie.persistence.dao.RequestedArticleDao;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.RequestedArticle;
import javax.persistence.EntityManager;
@@ -19,7 +20,8 @@
}
@Override
- public List<RequestedArticle> findAllUndelivered() {
+ public List<RequestedArticle> findAllUndelivered(Building building) {
+ // XXX brendan 10/04/13 what about building ???
TypedQuery<RequestedArticle> query =
entityManager.createQuery(
"from RequestedArticle ra where ra not in (select dra.requestedArticle from DeliveredRequestedArticle dra)",
Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoreJpaDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoreJpaDao.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoreJpaDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -0,0 +1,18 @@
+package com.franciaflex.magalie.persistence.dao.jpa;
+
+import com.franciaflex.magalie.persistence.dao.StoreDao;
+import com.franciaflex.magalie.persistence.entity.Store;
+
+import javax.persistence.EntityManager;
+
+public class StoreJpaDao extends AbstractJpaDao<Store> implements StoreDao {
+
+ public StoreJpaDao(EntityManager entityManager) {
+ super(entityManager);
+ }
+
+ @Override
+ protected Class<Store> getEntityClass() {
+ return Store.class;
+ }
+}
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/jpa/StoredArticleJpaDao.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -2,6 +2,7 @@
import com.franciaflex.magalie.persistence.dao.StoredArticleDao;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
import javax.persistence.EntityManager;
@@ -20,9 +21,10 @@
}
@Override
- public List<StoredArticle> findAllByArticle(Article article) {
- Query query = entityManager.createQuery("from StoredArticle sa where sa.article = :article");
+ public List<StoredArticle> findAllForArticleInBuilding(Article article, Building building) {
+ Query query = entityManager.createQuery("from StoredArticle sa where sa.article = :article and sa.site.store.building = :building");
query.setParameter("article", article);
+ query.setParameter("building", building);
List<StoredArticle> resultList = query.getResultList();
for (StoredArticle storedArticle : resultList) {
entityManager.detach(storedArticle);
Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Building.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Building.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Building.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -0,0 +1,30 @@
+package com.franciaflex.magalie.persistence.entity;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class Building extends AbstractEntity {
+
+ @Id
+ protected String id;
+
+ protected String name;
+
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -2,6 +2,7 @@
import javax.persistence.Entity;
import javax.persistence.Id;
+import javax.persistence.ManyToOne;
@Entity
public class Site extends AbstractEntity {
@@ -9,7 +10,8 @@
@Id
protected String id;
- protected String storeCode;
+ @ManyToOne
+ protected Store store;
protected String locationCode;
@@ -24,18 +26,14 @@
this.id = id;
}
- public boolean isDriverLicenseRequired() {
- return requiredAccreditationLevel == 9;
+ public Store getStore() {
+ return store;
}
- public String getStoreCode() {
- return storeCode;
+ public void setStore(Store store) {
+ this.store = store;
}
- public void setStoreCode(String storeCode) {
- this.storeCode = storeCode;
- }
-
public String getLocationCode() {
return locationCode;
}
@@ -56,4 +54,12 @@
String barcode = getStoreCode() + getLocationCode();
return barcode;
}
+
+ public boolean isDriverLicenseRequired() {
+ return requiredAccreditationLevel == 9;
+ }
+
+ public String getStoreCode() {
+ return getStore().getName();
+ }
}
Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Store.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Store.java (rev 0)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Store.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -0,0 +1,42 @@
+package com.franciaflex.magalie.persistence.entity;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+@Entity
+public class Store extends AbstractEntity {
+
+ @Id
+ protected String id;
+
+ protected String name;
+
+ @ManyToOne
+ protected Building building;
+
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Building getBuilding() {
+ return building;
+ }
+
+ public void setBuilding(Building building) {
+ this.building = building;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -4,9 +4,11 @@
import com.esotericsoftware.yamlbeans.YamlReader;
import com.franciaflex.magalie.MagalieTechnicalException;
import com.franciaflex.magalie.persistence.entity.Article;
+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.Site;
+import com.franciaflex.magalie.persistence.entity.Store;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;
@@ -29,6 +31,8 @@
throw new IllegalArgumentException(fixturesName + " is not a valid fixtures set name", e);
}
YamlReader reader = new YamlReader(yaml);
+ reader.getConfig().setClassTag("building", Building.class);
+ reader.getConfig().setClassTag("store", Store.class);
reader.getConfig().setClassTag("article", Article.class);
reader.getConfig().setClassTag("stored-article", StoredArticle.class);
reader.getConfig().setClassTag("user", MagalieUser.class);
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -7,6 +7,7 @@
import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao;
import com.franciaflex.magalie.persistence.dao.StoredArticleDao;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.persistence.entity.Site;
import com.franciaflex.magalie.persistence.entity.StorageMovement;
@@ -43,34 +44,36 @@
this.serviceContext = serviceContext;
}
- public StorageMovementOrder bookArticle(MagalieUser magalieUser, Article article, double requestedQuantity) throws UnavailableArticleException, RequiredDriverLicenceException {
+ public StorageMovementOrder bookArticle(MagalieUser magalieUser, Building building, Article article, double requestedQuantity) throws UnavailableArticleException, RequiredDriverLicenceException {
- return bookArticle(magalieUser, article, requestedQuantity, null);
+ return bookArticle(magalieUser, building, article, requestedQuantity, null);
}
public StorageMovementOrder bookArticleWithBestEffortPolicy(
- MagalieUser magalieUser, Article article, double requestedQuantity, Site destinationSite)
+ MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Site destinationSite)
throws RequiredDriverLicenceException, UnavailableArticleException {
- return bookArticle(magalieUser, article ,requestedQuantity, destinationSite, true);
+ return bookArticle(magalieUser, building, article ,requestedQuantity, destinationSite, true);
}
public StorageMovementOrder bookArticle(
- MagalieUser magalieUser, Article article, double requestedQuantity, Site destinationSite)
+ MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Site destinationSite)
throws UnavailableArticleException, RequiredDriverLicenceException {
- return bookArticle(magalieUser, article ,requestedQuantity, destinationSite, false);
+ return bookArticle(magalieUser, building, article ,requestedQuantity, destinationSite, false);
}
protected StorageMovementOrder bookArticle(
- MagalieUser magalieUser, Article article, double requestedQuantity, Site destinationSite, boolean bestEffortPolicy)
+ MagalieUser magalieUser, Building building, Article article, double requestedQuantity, Site destinationSite, boolean bestEffortPolicy)
throws UnavailableArticleException, RequiredDriverLicenceException {
Preconditions.checkNotNull(magalieUser);
+ Preconditions.checkNotNull(building);
+
Preconditions.checkNotNull(article);
Preconditions.checkArgument(requestedQuantity > 0.);
@@ -81,7 +84,7 @@
);
}
- List<StoredArticle> storedArticles = getStoredArticles(article);
+ List<StoredArticle> storedArticles = getStoredArticles(building, article);
Ordering<StoredArticle> storedArticlesOrdering =
Ordering.compound(
@@ -186,8 +189,11 @@
Set<Site> sitesInOrder = storageMovementOrder.getSites();
- List<StoredArticle> storedArticles = getStoredArticles(article);
+ // we suppose the order concerns movement in the same building
+ Building building = Iterables.get(sitesInOrder, 0).getStore().getBuilding();
+ List<StoredArticle> storedArticles = getStoredArticles(building, article);
+
for (StoredArticle storedArticle : storedArticles) {
Site site = storedArticle.getSite();
@@ -211,15 +217,17 @@
}
- protected List<StoredArticle> getStoredArticles(Article article) {
+ protected List<StoredArticle> getStoredArticles(Building building, Article article) {
- StoredArticleDao storedArticleDao = serviceContext.getPersistenceContext().getStoredArticleDao();
+ MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext();
- List<StoredArticle> storedArticles = storedArticleDao.findAllByArticle(article);
+ StoredArticleDao storedArticleDao = persistenceContext.getStoredArticleDao();
+ List<StoredArticle> storedArticles = storedArticleDao.findAllForArticleInBuilding(article, building);
+
// consider storage movements and compute actually available quantities
- StorageMovementDao storageMovementDao = serviceContext.getPersistenceContext().getStorageMovementDao();
+ StorageMovementDao storageMovementDao = persistenceContext.getStorageMovementDao();
List<StorageMovement> storageMovements = storageMovementDao.findAllByArticle(article);
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -2,14 +2,18 @@
import com.franciaflex.magalie.persistence.MagaliePersistenceContext;
import com.franciaflex.magalie.persistence.dao.ArticleDao;
+import com.franciaflex.magalie.persistence.dao.BuildingDao;
import com.franciaflex.magalie.persistence.dao.MagalieUserDao;
import com.franciaflex.magalie.persistence.dao.RequestedArticleDao;
import com.franciaflex.magalie.persistence.dao.SiteDao;
+import com.franciaflex.magalie.persistence.dao.StoreDao;
import com.franciaflex.magalie.persistence.dao.StoredArticleDao;
import com.franciaflex.magalie.persistence.entity.Article;
+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.Site;
+import com.franciaflex.magalie.persistence.entity.Store;
import com.franciaflex.magalie.persistence.entity.StoredArticle;
import com.franciaflex.magalie.services.MagalieFixtures;
import com.franciaflex.magalie.services.MagalieService;
@@ -73,7 +77,7 @@
}
- MagalieUserDao magalieUserDao = serviceContext.getPersistenceContext().getMagalieUserDao();
+ MagalieUserDao magalieUserDao = persistenceContext.getMagalieUserDao();
Collection<MagalieUser> users = fixtures.fixture("users");
@@ -83,9 +87,29 @@
}
+ BuildingDao buildingDao = persistenceContext.getBuildingDao();
+
+ Collection<Building> buildings = fixtures.fixture("buildings");
+
+ for (Building building : buildings) {
+
+ buildingDao.persist(building);
+
+ }
+
+ StoreDao storeDao = persistenceContext.getStoreDao();
+
+ Collection<Store> stores = fixtures.fixture("stores");
+
+ for (Store store : stores) {
+
+ storeDao.persist(store);
+
+ }
+
persistenceContext.commit();
- SiteDao siteDao = serviceContext.getPersistenceContext().getSiteDao();
+ SiteDao siteDao = persistenceContext.getSiteDao();
Collection<Site> sites = fixtures.fixture("sites");
@@ -97,7 +121,7 @@
persistenceContext.commit();
- ArticleDao articleDao = serviceContext.getPersistenceContext().getArticleDao();
+ ArticleDao articleDao = persistenceContext.getArticleDao();
Collection<Article> articles = fixtures.fixture("articles");
@@ -109,7 +133,7 @@
persistenceContext.commit();
- StoredArticleDao storedArticleDao = serviceContext.getPersistenceContext().getStoredArticleDao();
+ StoredArticleDao storedArticleDao = persistenceContext.getStoredArticleDao();
Collection<StoredArticle> storedArticles = fixtures.fixture("storedArticles");
@@ -121,7 +145,7 @@
persistenceContext.commit();
- RequestedArticleDao requestedArticleDao = serviceContext.getPersistenceContext().getRequestedArticleDao();
+ RequestedArticleDao requestedArticleDao = persistenceContext.getRequestedArticleDao();
Collection<RequestedArticle> requestedArticles = fixtures.fixture("requestedArticles");
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,10 +1,13 @@
package com.franciaflex.magalie.services.service;
-import com.franciaflex.magalie.persistence.dao.SiteDao;
+import com.franciaflex.magalie.persistence.MagaliePersistenceContext;
+import com.franciaflex.magalie.persistence.dao.StoreDao;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.persistence.entity.Site;
import com.franciaflex.magalie.persistence.entity.StorageMovementOrder;
+import com.franciaflex.magalie.persistence.entity.Store;
import com.franciaflex.magalie.services.MagalieService;
import com.franciaflex.magalie.services.MagalieServiceContext;
import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException;
@@ -13,6 +16,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import java.util.List;
+
public class FulfilKanbanService implements MagalieService {
private static final Log log = LogFactory.getLog(FulfilKanbanService.class);
@@ -24,10 +29,22 @@
this.serviceContext = serviceContext;
}
+ public Store getStore(String storeId) {
+
+ MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext();
+
+ StoreDao storeDao = persistenceContext.getStoreDao();
+
+ Store store = storeDao.findById(storeId);
+
+ return store;
+
+ }
+
public StorageMovementOrder fulfilKanbanTask(
String articleBarcode,
MagalieUser magalieUser,
- String destinationSiteId) throws InvalidMagalieBarcodeException,
+ String destinationStoreId) throws InvalidMagalieBarcodeException,
UnavailableArticleException,
RequiredDriverLicenceException {
@@ -45,13 +62,18 @@
ArticleStorageService articleStorageService =
serviceContext.newService(ArticleStorageService.class);
- SiteDao siteDao = serviceContext.getPersistenceContext().getSiteDao();
+ StoreDao storeDao = serviceContext.getPersistenceContext().getStoreDao();
- Site destinationSite = siteDao.findById(destinationSiteId);
+ Store destinationStore = storeDao.findById(destinationStoreId);
+ Building building = destinationStore.getBuilding();
+
+ Site destinationSite = getDestinationSite(destinationStore);
+
StorageMovementOrder storageMovementOrder =
articleStorageService.bookArticleWithBestEffortPolicy(
magalieUser,
+ building,
article,
quantityInKanban,
destinationSite);
@@ -59,4 +81,24 @@
return storageMovementOrder;
}
+
+ protected Site getDestinationSite(Store destinationStore) {
+
+ // TODO brendan 10/04/13 how to define destination for store, something like "INC" ?
+
+ return null;
+
+ }
+
+ public List<Store> getDestinationStores(Building building) {
+
+ MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext();
+
+ StoreDao storeDao = persistenceContext.getStoreDao();
+
+ // FIXME brendan 10/04/13 consider building
+
+ return storeDao.findAll();
+
+ }
}
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-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -28,6 +28,7 @@
import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao;
import com.franciaflex.magalie.persistence.dao.RequestedArticleDao;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.DeliveredRequestedArticle;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.persistence.entity.RequestedArticle;
@@ -60,29 +61,30 @@
public StorageMovementOrder getStorageMovementOrder(
MagalieUser magalieUser,
- String storeCode) {
+ Building building) {
- List<RequestedArticle> requestedArticles = getRequestedArticles(storeCode);
+ List<RequestedArticle> requestedArticles = getRequestedArticles(building);
Queue<RequestedArticle> requestedArticlesByPriority = getRequestedArticlesByPriority(requestedArticles);
StorageMovementOrder storageMovementOrder =
findOrderToExecute(
requestedArticlesByPriority,
- magalieUser);
+ magalieUser,
+ building);
return storageMovementOrder;
}
- protected List<RequestedArticle> getRequestedArticles(String storeCode) {
+ protected List<RequestedArticle> getRequestedArticles(Building building) {
RequestedArticleDao requestedArticleDao = serviceContext.getPersistenceContext().getRequestedArticleDao();
- List<RequestedArticle> allRequestedArticles = requestedArticleDao.findAllUndelivered();
+ List<RequestedArticle> allRequestedArticles = requestedArticleDao.findAllUndelivered(building);
if (log.isInfoEnabled()) {
- log.info(allRequestedArticles.size() + " articles requested");
+ log.info(allRequestedArticles.size() + " articles requested in building " + building.getName());
}
// TODO brendan 05/04/13 consider storeCode
@@ -91,7 +93,7 @@
}
- protected StorageMovementOrder findOrderToExecute(Queue<RequestedArticle> requestedArticlesByPriority, MagalieUser magalieUser) {
+ protected StorageMovementOrder findOrderToExecute(Queue<RequestedArticle> requestedArticlesByPriority, MagalieUser magalieUser, Building building) {
ArticleStorageService articleStorageService =
serviceContext.newService(ArticleStorageService.class);
@@ -118,7 +120,7 @@
try {
- storageMovementOrder = articleStorageService.bookArticle(magalieUser, article, quantity, null);
+ storageMovementOrder = articleStorageService.bookArticle(magalieUser, building, article, quantity, null);
everythingIsUnavailable = false;
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StoreService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StoreService.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/StoreService.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,6 +1,7 @@
package com.franciaflex.magalie.services.service;
-import com.franciaflex.magalie.persistence.dao.SiteDao;
+import com.franciaflex.magalie.persistence.dao.BuildingDao;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.services.MagalieService;
import com.franciaflex.magalie.services.MagalieServiceContext;
@@ -15,11 +16,20 @@
this.serviceContext = serviceContext;
}
- public List<String> getAllStoreCodes() {
+ public List<Building> getAllBuildings() {
- SiteDao dao = serviceContext.getPersistenceContext().getSiteDao();
+ BuildingDao dao = serviceContext.getPersistenceContext().getBuildingDao();
- return dao.getAllStoreCodes();
+ return dao.findAll();
}
+
+ public Building getBuilding(String buildingId) {
+
+ BuildingDao dao = serviceContext.getPersistenceContext().getBuildingDao();
+
+ return dao.findById(buildingId);
+
+ }
+
}
Modified: trunk/magalie-services/src/main/resources/fixtures.yaml
===================================================================
--- trunk/magalie-services/src/main/resources/fixtures.yaml 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/resources/fixtures.yaml 2013-04-10 14:40:31 UTC (rev 83)
@@ -32,94 +32,139 @@
- *pascal
- *xavier
+B1:
+ &B1 !building
+ id: building_1
+ name: B1
+
+buildings:
+ - *B1
+
+U01:
+ &U01 !store
+ id: store_u01
+ name: U01
+ building: *B1
+
+U02:
+ &U02 !store
+ id: store_u02
+ name: U02
+ building: *B1
+
+U03:
+ &U03 !store
+ id: store_u03
+ name: U03
+ building: *B1
+
+U04:
+ &U04 !store
+ id: store_u04
+ name: U04
+ building: *B1
+
+SOM:
+ &SOM !store
+ id: store_som
+ name: SOM
+ building: *B1
+
+stores:
+ - *U01
+ - *U02
+ - *U03
+ - *U04
+ - *SOM
+
site1:
&site1 !site
id: site1
- storeCode: U01
+ store: *U01
locationCode: A01
requiredAccreditationLevel: 0
site2:
&site2 !site
id: site2
- storeCode: U01
+ store: *U01
locationCode: B02
requiredAccreditationLevel: 9
site3:
&site3 !site
id: site3
- storeCode: U01
+ store: *U01
locationCode: C03
requiredAccreditationLevel: 0
site4:
&site4 !site
id: site4
- storeCode: U01
+ store: *U01
locationCode: D04
requiredAccreditationLevel: 9
site5:
&site5 !site
id: site5
- storeCode: U02
+ store: *U02
locationCode: F01
requiredAccreditationLevel: 0
site6:
&site6 !site
id: site6
- storeCode: U02
+ store: *U02
locationCode: G02
requiredAccreditationLevel: 0
site7:
&site7 !site
id: site7
- storeCode: U02
+ store: *U02
locationCode: H03
requiredAccreditationLevel: 9
site8:
&site8 !site
id: site8
- storeCode: U04
+ store: *U04
locationCode: A010
requiredAccreditationLevel: 0
site9:
&site9 !site
id: site9
- storeCode: SOM
+ store: *SOM
locationCode: B10
requiredAccreditationLevel: 0
site10:
&site10 !site
id: site10
- storeCode: SOM
+ store: *SOM
locationCode: B24
requiredAccreditationLevel: 0
site11:
&site11 !site
id: site11
- storeCode: SOM
+ store: *SOM
locationCode: B77
requiredAccreditationLevel: 0
site12:
&site12 !site
id: site12
- storeCode: SOM
+ store: *SOM
locationCode: C12
requiredAccreditationLevel: 0
site13:
&site13 !site
id: site13
- storeCode: U01
+ store: *U01
locationCode: REC
requiredAccreditationLevel: 0
Modified: trunk/magalie-services/src/main/resources/fixtures2.yaml
===================================================================
--- trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-04-10 14:40:31 UTC (rev 83)
@@ -32,38 +32,83 @@
- *cathy
- *david
+B1:
+ &B1 !building
+ id: building_1
+ name: B1
+
+buildings:
+ - *B1
+
+U01:
+ &U01 !store
+ id: store_u01
+ name: U01
+ building: *B1
+
+U02:
+ &U02 !store
+ id: store_u02
+ name: U02
+ building: *B1
+
+U03:
+ &U03 !store
+ id: store_u03
+ name: U03
+ building: *B1
+
+U04:
+ &U04 !store
+ id: store_u04
+ name: U04
+ building: *B1
+
+SOM:
+ &SOM !store
+ id: store_som
+ name: SOM
+ building: *B1
+
+stores:
+ - *U01
+ - *U02
+ - *U03
+ - *U04
+ - *SOM
+
site1:
&site1 !site
id: site1
- storeCode: UO1
+ store: *U01
locationCode: A1
requiredAccreditationLevel: 0
site2:
&site2 !site
id: site2
- storeCode: UO1
+ store: *U01
locationCode: B2
requiredAccreditationLevel: 9
site3:
&site3 !site
id: site3
- storeCode: UO1
+ store: *U01
locationCode: C3
requiredAccreditationLevel: 0
site4:
&site4 !site
id: site4
- storeCode: UO1
+ store: *U01
locationCode: D4
requiredAccreditationLevel: 9
site5:
&site5 !site
id: site5
- storeCode: UO2
+ store: *U02
locationCode: A1
requiredAccreditationLevel: 0
Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java
===================================================================
--- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,6 +1,7 @@
package com.franciaflex.magalie.services.service;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.persistence.entity.Site;
import com.franciaflex.magalie.persistence.entity.StorageMovement;
@@ -24,11 +25,15 @@
protected ArticleStorageService service;
+ protected Building building;
+
@Before
public void setUp() throws ParseException {
loadFixtures("fixtures2");
+ building = fixture("B1");
+
service = newService(ArticleStorageService.class);
serviceContext.setDate(new Date(1363948427576l));
@@ -43,7 +48,7 @@
StorageMovementOrder storageMovementOrder;
try {
- storageMovementOrder = service.bookArticle(alexandre, article, 100.);
+ storageMovementOrder = service.bookArticle(alexandre, building, article, 100.);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
@@ -65,7 +70,7 @@
StorageMovementOrder storageMovementOrder;
try {
- storageMovementOrder = service.bookArticle(basile, article, 70.);
+ storageMovementOrder = service.bookArticle(basile, building, article, 70.);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
@@ -86,7 +91,7 @@
StorageMovementOrder storageMovementOrder = null;
try {
- storageMovementOrder = service.bookArticle(basile, article, 5.);
+ storageMovementOrder = service.bookArticle(basile, building, article, 5.);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
@@ -113,7 +118,7 @@
StorageMovementOrder storageMovementOrder = null;
try {
- storageMovementOrder = service.bookArticle(alexandre, article, 50.);
+ storageMovementOrder = service.bookArticle(alexandre, building, article, 50.);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
@@ -147,7 +152,7 @@
StorageMovementOrder storageMovementOrder = null;
try {
- storageMovementOrder = service.bookArticle(alexandre, article, 30.);
+ storageMovementOrder = service.bookArticle(alexandre, building, article, 30.);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
@@ -171,7 +176,7 @@
}
try {
- storageMovementOrder = service.bookArticle(cathy, article, 30.);
+ storageMovementOrder = service.bookArticle(cathy, building, article, 30.);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
@@ -206,7 +211,7 @@
siteErrorsService.reportError(site2, alexandre);
try {
- StorageMovementOrder storageMovementOrder = service.bookArticle(cathy, article, 30.);
+ StorageMovementOrder storageMovementOrder = service.bookArticle(cathy, building, article, 30.);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
@@ -237,7 +242,7 @@
Site site1 = fixture("site1");
try {
- StorageMovementOrder storageMovementOrder = service.bookArticleWithBestEffortPolicy(alexandre, article, 30., null);
+ StorageMovementOrder storageMovementOrder = service.bookArticleWithBestEffortPolicy(alexandre, building, article, 30., null);
if (log.isDebugEnabled()) {
log.debug("storageMovementOrder = " + storageMovementOrder);
}
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-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,7 +1,11 @@
package com.franciaflex.magalie.services.service;
+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.services.AbstractMagalieServiceTest;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -13,6 +17,8 @@
public class RequestedArticleServiceTest extends AbstractMagalieServiceTest {
+ private static final Log log = LogFactory.getLog(RequestedArticleServiceTest.class);
+
protected RequestedArticleService service;
@Before
@@ -29,9 +35,9 @@
@Test
public void testGetRequestedArticles() throws Exception {
- String storeCode = "UO1";
+ Building building = fixture("B1");
- List<RequestedArticle> requestedArticles = service.getRequestedArticles(storeCode);
+ List<RequestedArticle> requestedArticles = service.getRequestedArticles(building);
}
@@ -46,4 +52,12 @@
Assert.assertEquals(requestedArticles.size(), requestedArticlesByPriority.size());
}
+
+ @Test
+ public void testName() {
+
+ MagalieUser magalieUser = fixture("bruno");
+
+
+ }
}
Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java
===================================================================
--- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,6 +1,8 @@
package com.franciaflex.magalie.web;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
+import com.franciaflex.magalie.persistence.entity.Store;
import java.io.Serializable;
@@ -18,7 +20,8 @@
protected MagalieUser magalieUser;
- protected String storeCode;
+ protected Building building;
+ private Store lastUsedDestinationStoreForKanbans;
public MagalieUser getMagalieUser() {
return magalieUser;
@@ -28,11 +31,19 @@
this.magalieUser = magalieUser;
}
- public void setStoreCode(String storeCode) {
- this.storeCode = storeCode;
+ public Building getBuilding() {
+ return building;
}
- public String getStoreCode() {
- return storeCode;
+ public void setBuilding(Building building) {
+ this.building = building;
}
+
+ public Store getLastUsedDestinationStoreForKanbans() {
+ return lastUsedDestinationStoreForKanbans;
+ }
+
+ public void setLastUsedDestinationStoreForKanbans(Store lastUsedDestinationStoreForKanbans) {
+ this.lastUsedDestinationStoreForKanbans = lastUsedDestinationStoreForKanbans;
+ }
}
Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseActivityAction.java
===================================================================
--- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseActivityAction.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseActivityAction.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,5 +1,6 @@
package com.franciaflex.magalie.web.action;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.web.MagalieActionSupport;
import com.franciaflex.magalie.web.MagalieSession;
@@ -10,7 +11,7 @@
protected MagalieUser magalieUser;
- protected String storeCode;
+ protected Building building;
public void setSession(MagalieSession session) {
this.session = session;
@@ -21,7 +22,7 @@
magalieUser = session.getMagalieUser();
- storeCode = session.getStoreCode();
+ building = session.getBuilding();
return SUCCESS;
@@ -31,7 +32,7 @@
return magalieUser;
}
- public String getStoreCode() {
- return storeCode;
+ public Building getBuilding() {
+ return building;
}
}
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-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/DeliverRequestedArticleAction.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,5 +1,6 @@
package com.franciaflex.magalie.web.action;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.persistence.entity.StorageMovementOrder;
import com.franciaflex.magalie.services.service.RequestedArticleService;
@@ -36,9 +37,9 @@
MagalieUser magalieUser = session.getMagalieUser();
- String storeCode = session.getStoreCode();
+ Building building = session.getBuilding();
- storageMovementOrder = service.getStorageMovementOrder(magalieUser, storeCode);
+ storageMovementOrder = service.getStorageMovementOrder(magalieUser, building);
String result = SUCCESS;
Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java
===================================================================
--- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,7 +1,9 @@
package com.franciaflex.magalie.web.action;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.persistence.entity.StorageMovementOrder;
+import com.franciaflex.magalie.persistence.entity.Store;
import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException;
import com.franciaflex.magalie.services.exception.RequiredDriverLicenceException;
import com.franciaflex.magalie.services.exception.UnavailableArticleException;
@@ -13,7 +15,9 @@
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
+import java.util.List;
+
@Results({
@Result(name="success", type="redirectAction", params = { "actionName", "withdraw-item!input", "storageMovementOrderId", "${storageMovementOrderId}" })
})
@@ -29,10 +33,10 @@
protected StorageMovementOrder storageMovementOrder;
- public void setArticleBarcode(String articleBarcode) {
- this.articleBarcode = articleBarcode;
- }
+ protected List<Store> destinationStores;
+ protected String destinationStoreId;
+
public void setService(FulfilKanbanService service) {
this.service = service;
}
@@ -42,6 +46,43 @@
}
@Override
+ public String input() throws Exception {
+
+ Building building = session.getBuilding();
+
+ destinationStores = service.getDestinationStores(building);
+
+ // let's help user by selecting by default the previously used destination store
+
+ Store lastUsedDestinationStoreForKanbans = session.getLastUsedDestinationStoreForKanbans();
+
+ if (lastUsedDestinationStoreForKanbans != null) {
+
+ destinationStoreId = lastUsedDestinationStoreForKanbans.getId();
+
+ }
+
+ return INPUT;
+
+ }
+
+ public String getDestinationStoreId() {
+ return destinationStoreId;
+ }
+
+ public List<Store> getDestinationStores() {
+ return destinationStores;
+ }
+
+ public void setArticleBarcode(String articleBarcode) {
+ this.articleBarcode = articleBarcode;
+ }
+
+ public void setDestinationStoreId(String destinationStoreId) {
+ this.destinationStoreId = destinationStoreId;
+ }
+
+ @Override
public String execute() {
if (log.isDebugEnabled()) {
@@ -50,12 +91,15 @@
MagalieUser magalieUser = session.getMagalieUser();
+ Store destinationStore = service.getStore(destinationStoreId);
+
+ // save used destination store to propose it by default on next kanban
+ session.setLastUsedDestinationStoreForKanbans(destinationStore);
+
try {
- // TODO brendan 04/04/13 add destination site != null
+ storageMovementOrder = service.fulfilKanbanTask(articleBarcode, magalieUser, destinationStoreId);
- storageMovementOrder = service.fulfilKanbanTask(articleBarcode, magalieUser, null);
-
} catch (InvalidMagalieBarcodeException e) {
addFieldError("articleBarcode", "Le code barre n'est pas un code valide");
Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java
===================================================================
--- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -1,5 +1,6 @@
package com.franciaflex.magalie.web.action;
+import com.franciaflex.magalie.persistence.entity.Building;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.services.service.MagalieUsersService;
import com.franciaflex.magalie.services.service.StoreService;
@@ -21,13 +22,13 @@
protected List<MagalieUser> allMagalieUsers;
- protected List<String> allStoreCodes;
+ protected List<Building> allBuildings;
protected MagalieSession session;
protected String login;
- protected String storeCode;
+ protected String buildingId;
public void setMagalieUsersService(MagalieUsersService magalieUsersService) {
this.magalieUsersService = magalieUsersService;
@@ -45,8 +46,8 @@
this.login = login;
}
- public void setStoreCode(String storeCode) {
- this.storeCode = storeCode;
+ public void setBuildingId(String buildingId) {
+ this.buildingId = buildingId;
}
@Override
@@ -54,7 +55,7 @@
allMagalieUsers = magalieUsersService.getAllMagalieUsers();
- allStoreCodes = storeService.getAllStoreCodes();
+ allBuildings = storeService.getAllBuildings();
return INPUT;
@@ -64,16 +65,16 @@
return login;
}
- public String getStoreCode() {
- return storeCode;
+ public String getBuildingId() {
+ return buildingId;
}
public List<MagalieUser> getAllMagalieUsers() {
return allMagalieUsers;
}
- public List<String> getAllStoreCodes() {
- return allStoreCodes;
+ public List<Building> getAllBuildings() {
+ return allBuildings;
}
@Override
@@ -81,9 +82,11 @@
MagalieUser magalieUser = magalieUsersService.getMagalieUser(login);
+ Building building = storeService.getBuilding(buildingId);
+
session.setMagalieUser(magalieUser);
- session.setStoreCode(storeCode);
+ session.setBuilding(building);
return SUCCESS;
Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LogoutAction.java
===================================================================
--- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LogoutAction.java 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LogoutAction.java 2013-04-10 14:40:31 UTC (rev 83)
@@ -21,7 +21,7 @@
session.setMagalieUser(null);
- session.setStoreCode(null);
+ session.setBuilding(null);
return SUCCESS;
Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-activity.jsp
===================================================================
--- trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-activity.jsp 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-activity.jsp 2013-04-10 14:40:31 UTC (rev 83)
@@ -34,8 +34,8 @@
<dl class="dl-horizontal">
<dt>Identifiant</dt>
<dd><s:property value="magalieUser.name" /> (<s:property value="magalieUser.login" />)</dd>
- <dt>Magasin</dt>
- <dd><s:property value="storeCode" /></dd>
+ <dt>Bâtiment</dt>
+ <dd><s:property value="building.name" /></dd>
</dl>
</header>
Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp
===================================================================
--- trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/webapp/WEB-INF/content/fulfil-kanban-input.jsp 2013-04-10 14:40:31 UTC (rev 83)
@@ -8,6 +8,14 @@
<s:form>
<s:textfield name="articleBarcode" label="Article" inputAppendIcon="barcode" cssClass="input-medium" />
+ <s:select label="Magasin destination"
+ key="destinationStoreId"
+ list="destinationStores"
+ listKey="id"
+ listValue="name"
+ required="true"
+ />
+
<div class="btn-group">
<s:submit name="next" value="Suivant" cssClass="btn btn-primary" />
</div>
Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp
===================================================================
--- trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp 2013-04-10 14:40:31 UTC (rev 83)
@@ -15,9 +15,11 @@
required="true"
/>
- <s:select label="Magasin"
- key="storeCode"
- list="allStoreCodes"
+ <s:select label="Bâtiment"
+ key="buildingId"
+ list="allBuildings"
+ listKey="id"
+ listValue="name"
required="true"
/>
Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp
===================================================================
--- trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp 2013-04-09 13:10:38 UTC (rev 82)
+++ trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp 2013-04-10 14:40:31 UTC (rev 83)
@@ -111,7 +111,7 @@
<div id="storageMovementTemplate" class="template">
<dl class="dl-horizontal">
<dt>Empl.</dt>
- <dd data="originSite.locationCode"></dd>
+ <dd><span data="originSite.store.name"></span> <span data="originSite.locationCode"></span></dd>
<dt>Prélev.</dt>
<dd><span data="withdrawn">0</span> / <span data="expectedQuantity"></span> <s:property value="storageMovementTask.article.unit" /></dd>
</dl>
1
0
r82 - trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity
by bleny@users.forge.codelutin.com 09 Apr '13
by bleny@users.forge.codelutin.com 09 Apr '13
09 Apr '13
Author: bleny
Date: 2013-04-09 15:10:38 +0200 (Tue, 09 Apr 2013)
New Revision: 82
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
missing generatedValue
Modified:
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/DeliveredRequestedArticle.java
Modified: 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 2013-04-09 13:05:01 UTC (rev 81)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/DeliveredRequestedArticle.java 2013-04-09 13:10:38 UTC (rev 82)
@@ -1,6 +1,7 @@
package com.franciaflex.magalie.persistence.entity;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
@@ -8,6 +9,7 @@
public class DeliveredRequestedArticle extends AbstractEntity {
@Id
+ @GeneratedValue
protected String id;
@OneToOne
1
0
r81 - in trunk: magalie-services/src/main/java/com/franciaflex/magalie/services/service magalie-services/src/main/resources magalie-services/src/test/java/com/franciaflex/magalie/services magalie-services/src/test/java/com/franciaflex/magalie/services/service magalie-web/src/main/java/com/franciaflex/magalie/web magalie-web/src/main/java/com/franciaflex/magalie/web/action magalie-web/src/main/resources
by bleny@users.forge.codelutin.com 09 Apr '13
by bleny@users.forge.codelutin.com 09 Apr '13
09 Apr '13
Author: bleny
Date: 2013-04-09 15:05:01 +0200 (Tue, 09 Apr 2013)
New Revision: 81
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
refactor fixtures save DeliveredRequestedArticle
Added:
trunk/magalie-services/src/main/resources/fixtures.yaml
trunk/magalie-services/src/main/resources/fixtures2.yaml
Removed:
trunk/magalie-services/src/main/resources/fixtures.yaml
trunk/magalie-web/src/main/resources/fixtures.yaml
Modified:
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java
trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/AbstractMagalieServiceTest.java
trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java
trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieInterceptor.java
trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RestoreFixturesAction.java
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-04-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-04-09 13:05:01 UTC (rev 81)
@@ -14,10 +14,13 @@
import com.franciaflex.magalie.services.MagalieFixtures;
import com.franciaflex.magalie.services.MagalieService;
import com.franciaflex.magalie.services.MagalieServiceContext;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Maps;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.util.Collection;
+import java.util.Map;
public class FixturesService implements MagalieService {
@@ -25,37 +28,39 @@
protected MagalieServiceContext serviceContext;
- protected static MagalieFixtures fixtures;
+ protected Map<String, MagalieFixtures> fixtureSets = Maps.newHashMap();
@Override
public void setServiceContext(MagalieServiceContext serviceContext) {
this.serviceContext = serviceContext;
}
- public void cleanDatabaseAndLoadFixtures() {
+ public MagalieFixtures cleanDatabaseAndLoadFixtures(String fixturesSetName) {
- loadFixtures(true);
+ return loadFixtures(fixturesSetName, true);
}
- public void loadFixtures() {
+ public MagalieFixtures loadFixtures(String fixturesSetName) {
- loadFixtures(false);
+ return loadFixtures(fixturesSetName, false);
}
- protected void loadFixtures(boolean cleanDatabase) {
+ protected MagalieFixtures loadFixtures(String fixturesSetName, boolean cleanDatabase) {
boolean devMode = serviceContext.getMagalieApplicationConfig().isDevMode();
- if (devMode) {
+ Preconditions.checkState(devMode);
- if (fixtures == null) {
+ MagalieFixtures fixtures = fixtureSets.get(fixturesSetName);
- fixtures = new MagalieFixtures("fixtures");
+ if (fixtures == null) {
- }
+ fixtures = new MagalieFixtures(fixturesSetName);
+ fixtureSets.put(fixturesSetName, fixtures);
+
if (log.isInfoEnabled()) {
log.info("will restore database with fixture set");
}
@@ -128,17 +133,10 @@
persistenceContext.commit();
- } else {
-
- if (log.isWarnEnabled()) {
- log.warn("tried to load fixtures with devMode disabled, did nothing");
- }
-
}
- }
+ return fixtures;
- public <E> E fixture(String id) {
- return fixtures.fixture(id);
}
+
}
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-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-04-09 13:05:01 UTC (rev 81)
@@ -23,9 +23,12 @@
* #L%
*/
+import com.franciaflex.magalie.persistence.MagaliePersistenceContext;
import com.franciaflex.magalie.persistence.RequestedArticles;
+import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleDao;
import com.franciaflex.magalie.persistence.dao.RequestedArticleDao;
import com.franciaflex.magalie.persistence.entity.Article;
+import com.franciaflex.magalie.persistence.entity.DeliveredRequestedArticle;
import com.franciaflex.magalie.persistence.entity.MagalieUser;
import com.franciaflex.magalie.persistence.entity.RequestedArticle;
import com.franciaflex.magalie.persistence.entity.StorageMovementOrder;
@@ -33,6 +36,7 @@
import com.franciaflex.magalie.services.MagalieServiceContext;
import com.franciaflex.magalie.services.exception.RequiredDriverLicenceException;
import com.franciaflex.magalie.services.exception.UnavailableArticleException;
+import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import org.apache.commons.logging.Log;
@@ -102,9 +106,11 @@
boolean requiredDriverLicence = false;
+ RequestedArticle requestedArticle = null;
+
while (storageMovementOrder == null && requestedArticleIterator.hasNext()) {
- RequestedArticle requestedArticle = requestedArticleIterator.next();
+ requestedArticle = requestedArticleIterator.next();
Article article = requestedArticle.getArticle();
@@ -150,6 +156,26 @@
}
}
+ if (storageMovementOrder != null) {
+
+ Preconditions.checkState(requestedArticle != null);
+
+ MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext();
+
+ DeliveredRequestedArticleDao dao = persistenceContext.getDeliveredRequestedArticleDao();
+
+ DeliveredRequestedArticle newDeliveredRequestedArticle = new DeliveredRequestedArticle();
+
+ newDeliveredRequestedArticle.setRequestedArticle(requestedArticle);
+
+ newDeliveredRequestedArticle.setStorageMovementOrder(storageMovementOrder);
+
+ dao.persist(newDeliveredRequestedArticle);
+
+ persistenceContext.commit();
+
+ }
+
return storageMovementOrder;
}
Deleted: trunk/magalie-services/src/main/resources/fixtures.yaml
===================================================================
--- trunk/magalie-services/src/main/resources/fixtures.yaml 2013-04-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-services/src/main/resources/fixtures.yaml 2013-04-09 13:05:01 UTC (rev 81)
@@ -1,168 +0,0 @@
-alexandre:
- &alexandre !user
- id: magalie_user_alexandre
- login: ale
- name: Alexandre
- accreditationLevel: 9
-
-basile:
- &basile !user
- id: magalie_user_basile
- login: bas
- name: Basile
- accreditationLevel: 0
-
-cathy:
- &cathy !user
- id: magalie_user_cathy
- login: cat
- name: Cathy
- accreditationLevel: 9
-
-david:
- &david !user
- id: magalie_user_david
- login: dav
- name: David
- accreditationLevel: 0
-
-users:
- - *alexandre
- - *basile
- - *cathy
- - *david
-
-site1:
- &site1 !site
- id: site1
- storeCode: UO1
- locationCode: A1
- requiredAccreditationLevel: 0
-
-site2:
- &site2 !site
- id: site2
- storeCode: UO1
- locationCode: B2
- requiredAccreditationLevel: 9
-
-site3:
- &site3 !site
- id: site3
- storeCode: UO1
- locationCode: C3
- requiredAccreditationLevel: 0
-
-site4:
- &site4 !site
- id: site4
- storeCode: UO1
- locationCode: D4
- requiredAccreditationLevel: 9
-
-site5:
- &site5 !site
- id: site5
- storeCode: UO2
- locationCode: A1
- requiredAccreditationLevel: 0
-
-sites:
- - *site1
- - *site2
- - *site3
- - *site4
- - *site5
-
-article1:
- &article1 !article
- id: article1
- fixedSites:
- - *site1
- code: 111111111
- quantityInKanban: 10
- unit: kg
- description: very big screws
-
-article2:
- &article2 !article
- id: article2
- code: 222222222
- quantityInKanban: 2
- unit: box
- description: little buttons
-
-article3:
- &article3 !article
- id: article3
- fixedSites:
- - *site2
- code: 333333333
- quantityInKanban: 50
- unit: g
- description: magic powder
-
-articles:
- - *article1
- - *article2
- - *article3
-
-storedArticle1:
- &storedArticle1 !stored-article
- id: storedArticle1
- article: *article1
- site: *site1
- quantity: 50
-
-storedArticle2:
- &storedArticle2 !stored-article
- id: storedArticle2
- article: *article1
- site: *site2
- quantity: 20
-
-storedArticle3:
- &storedArticle3 !stored-article
- id: storedArticle3
- article: *article2
- site: *site1
- quantity: 10
-
-storedArticle4:
- &storedArticle4 !stored-article
- id: storedArticle4
- article: *article3
- site: *site4
- quantity: 1000
-
-storedArticles:
- - *storedArticle1
- - *storedArticle2
- - *storedArticle3
- - *storedArticle4
-
-storedArticlesForArticle1:
- - *storedArticle1
- - *storedArticle2
-
-requestedArticle1:
- &requestedArticle1 !requested-article
- id: requestedArticle1
- article: *article3
- quantity: 100
- requestList: 123456789
- requestDate: 2013-04-08 12:00:00
- urgent: true
-
-requestedArticle2:
- &requestedArticle2 !requested-article
- id: requestedArticle2
- article: *article3
- quantity: 250
- requestList: 123456789
- requestDate: 2013-04-08 12:00:00
- urgent: false
-
-requestedArticles:
- - *requestedArticle1
- - *requestedArticle2
Copied: trunk/magalie-services/src/main/resources/fixtures.yaml (from rev 79, trunk/magalie-web/src/main/resources/fixtures.yaml)
===================================================================
--- trunk/magalie-services/src/main/resources/fixtures.yaml (rev 0)
+++ trunk/magalie-services/src/main/resources/fixtures.yaml 2013-04-09 13:05:01 UTC (rev 81)
@@ -0,0 +1,398 @@
+pascal:
+ &pascal !user
+ id: magalie_user_pascal
+ login: phe
+ name: Pascal Heinz
+ accreditationLevel: 9
+
+bruno:
+ &bruno !user
+ id: magalie_user_bruno
+ login: bmr
+ name: Bruno Menager
+ accreditationLevel: 9
+
+corinne:
+ &corinne !user
+ id: magalie_user_corinne
+ login: ccr
+ name: Corinne Cocolon
+ accreditationLevel: 0
+
+xavier:
+ &xavier !user
+ id: magalie_user_xavier
+ login: xbe
+ name: Xavier Bertini
+ accreditationLevel: 0
+
+users:
+ - *bruno
+ - *corinne
+ - *pascal
+ - *xavier
+
+site1:
+ &site1 !site
+ id: site1
+ storeCode: U01
+ locationCode: A01
+ requiredAccreditationLevel: 0
+
+site2:
+ &site2 !site
+ id: site2
+ storeCode: U01
+ locationCode: B02
+ requiredAccreditationLevel: 9
+
+site3:
+ &site3 !site
+ id: site3
+ storeCode: U01
+ locationCode: C03
+ requiredAccreditationLevel: 0
+
+site4:
+ &site4 !site
+ id: site4
+ storeCode: U01
+ locationCode: D04
+ requiredAccreditationLevel: 9
+
+site5:
+ &site5 !site
+ id: site5
+ storeCode: U02
+ locationCode: F01
+ requiredAccreditationLevel: 0
+
+site6:
+ &site6 !site
+ id: site6
+ storeCode: U02
+ locationCode: G02
+ requiredAccreditationLevel: 0
+
+site7:
+ &site7 !site
+ id: site7
+ storeCode: U02
+ locationCode: H03
+ requiredAccreditationLevel: 9
+
+site8:
+ &site8 !site
+ id: site8
+ storeCode: U04
+ locationCode: A010
+ requiredAccreditationLevel: 0
+
+site9:
+ &site9 !site
+ id: site9
+ storeCode: SOM
+ locationCode: B10
+ requiredAccreditationLevel: 0
+
+site10:
+ &site10 !site
+ id: site10
+ storeCode: SOM
+ locationCode: B24
+ requiredAccreditationLevel: 0
+
+site11:
+ &site11 !site
+ id: site11
+ storeCode: SOM
+ locationCode: B77
+ requiredAccreditationLevel: 0
+
+site12:
+ &site12 !site
+ id: site12
+ storeCode: SOM
+ locationCode: C12
+ requiredAccreditationLevel: 0
+
+site13:
+ &site13 !site
+ id: site13
+ storeCode: U01
+ locationCode: REC
+ requiredAccreditationLevel: 0
+
+sites:
+ - *site1
+ - *site2
+ - *site3
+ - *site4
+ - *site5
+ - *site6
+ - *site7
+ - *site8
+ - *site9
+ - *site10
+ - *site11
+ - *site12
+ - *site13
+
+article1:
+ &article1 !article
+ id: article1
+ fixedSites:
+ - *site4
+ - *site8
+ code: 4034108
+ quantityInKanban: 50
+ unit: M
+ description: Jonc Souple D5
+
+article2:
+ &article2 !article
+ id: article2
+ fixedSites:
+ - *site11
+ code: 4033079
+ quantityInKanban: 3
+ unit: PCE
+ description: Moteur Oréa Slt 50 RTS 50/12
+
+article3:
+ &article3 !article
+ id: article3
+ fixedSites:
+ - *site1
+ code: 4092459
+ quantityInKanban: 50
+ unit: PCE
+ description: Interface ASA/SOMFY + clip
+
+article4:
+ &article4 !article
+ id: article4
+ code: 4019450
+ quantityInKanban: 20
+ unit: PCE
+ description: Kit Tr.PM Fixe 122G D40Plat 10
+
+article5:
+ &article5 !article
+ id: article5
+ fixedSites:
+ - *site5
+ code: 4020012
+ quantityInKanban: 10
+ unit: B60
+ description: Caisson 2005 3F 6000 Brun
+
+article6:
+ &article6 !article
+ id: article6
+ fixedSites:
+ - *site3
+ code: 1421812
+ quantityInKanban: 9
+ unit: PCE
+ description: Ensemble SOLIRIS UNO
+
+articles:
+ - *article1
+ - *article2
+ - *article3
+ - *article4
+ - *article5
+ - *article6
+
+storedArticle1:
+ &storedArticle1 !stored-article
+ id: storedArticle1
+ article: *article1
+ site: *site4
+ quantity: 40
+
+storedArticle2:
+ &storedArticle2 !stored-article
+ id: storedArticle2
+ article: *article1
+ site: *site8
+ quantity: 20
+
+storedArticle3:
+ &storedArticle3 !stored-article
+ id: storedArticle3
+ article: *article2
+ site: *site10
+ quantity: 2
+
+storedArticle4:
+ &storedArticle4 !stored-article
+ id: storedArticle4
+ article: *article3
+ site: *site1
+ quantity: 90
+
+storedArticle5:
+ &storedArticle5 !stored-article
+ id: storedArticle5
+ article: *article1
+ site: *site13
+ quantity: 30
+
+storedArticle6:
+ &storedArticle6 !stored-article
+ id: storedArticle6
+ article: *article2
+ site: *site11
+ quantity: 100
+
+storedArticle7:
+ &storedArticle7 !stored-article
+ id: storedArticle7
+ article: *article2
+ site: *site12
+ quantity: 10
+
+storedArticle8:
+ &storedArticle8 !stored-article
+ id: storedArticle8
+ article: *article3
+ site: *site2
+ quantity: 500
+
+storedArticle9:
+ &storedArticle9 !stored-article
+ id: storedArticle9
+ article: *article3
+ site: *site3
+ quantity: 50
+
+storedArticle10:
+ &storedArticle10 !stored-article
+ id: storedArticle10
+ article: *article5
+ site: *site5
+ quantity: 5
+
+storedArticle11:
+ &storedArticle11 !stored-article
+ id: storedArticle11
+ article: *article5
+ site: *site6
+ quantity: 2
+
+storedArticle12:
+ &storedArticle12 !stored-article
+ id: storedArticle12
+ article: *article5
+ site: *site7
+ quantity: 25
+
+storedArticle13:
+ &storedArticle13 !stored-article
+ id: storedArticle13
+ article: *article6
+ site: *site3
+ quantity: 70
+
+storedArticles:
+ - *storedArticle1
+ - *storedArticle2
+ - *storedArticle3
+ - *storedArticle4
+ - *storedArticle5
+ - *storedArticle6
+ - *storedArticle7
+ - *storedArticle8
+ - *storedArticle9
+ - *storedArticle10
+ - *storedArticle11
+ - *storedArticle12
+ - *storedArticle13
+
+storedArticlesForArticle1:
+ - *storedArticle1
+ - *storedArticle2
+ - *storedArticle5
+
+storedArticlesForArticle2:
+ - *storedArticle3
+ - *storedArticle6
+ - *storedArticle7
+
+storedArticlesForArticle3:
+ - *storedArticle4
+ - *storedArticle8
+ - *storedArticle9
+
+storedArticlesForArticle5:
+ - *storedArticle10
+ - *storedArticle11
+ - *storedArticle12
+
+storedArticlesForArticle6:
+ - *storedArticle13
+
+requestedArticle1:
+ &requestedArticle1 !requested-article
+ id: requestedArticle1
+ article: *article1
+ quantity: 80
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle2:
+ &requestedArticle2 !requested-article
+ id: requestedArticle2
+ article: *article2
+ quantity: 11
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: false
+
+requestedArticle3:
+ &requestedArticle3 !requested-article
+ id: requestedArticle3
+ article: *article3
+ quantity: 111
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle4:
+ &requestedArticle4 !requested-article
+ id: requestedArticle4
+ article: *article4
+ quantity: 2
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle5:
+ &requestedArticle5 !requested-article
+ id: requestedArticle5
+ article: *article5
+ quantity: 5
+ requestList: 987654321
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle6:
+ &requestedArticle6 !requested-article
+ id: requestedArticle6
+ article: *article6
+ quantity: 27
+ requestList: 987654321
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+
+requestedArticles:
+ - *requestedArticle1
+ - *requestedArticle2
+ - *requestedArticle3
+ - *requestedArticle4
+ - *requestedArticle5
+ - *requestedArticle6
Copied: trunk/magalie-services/src/main/resources/fixtures2.yaml (from rev 75, trunk/magalie-services/src/main/resources/fixtures.yaml)
===================================================================
--- trunk/magalie-services/src/main/resources/fixtures2.yaml (rev 0)
+++ trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-04-09 13:05:01 UTC (rev 81)
@@ -0,0 +1,168 @@
+alexandre:
+ &alexandre !user
+ id: magalie_user_alexandre
+ login: ale
+ name: Alexandre
+ accreditationLevel: 9
+
+basile:
+ &basile !user
+ id: magalie_user_basile
+ login: bas
+ name: Basile
+ accreditationLevel: 0
+
+cathy:
+ &cathy !user
+ id: magalie_user_cathy
+ login: cat
+ name: Cathy
+ accreditationLevel: 9
+
+david:
+ &david !user
+ id: magalie_user_david
+ login: dav
+ name: David
+ accreditationLevel: 0
+
+users:
+ - *alexandre
+ - *basile
+ - *cathy
+ - *david
+
+site1:
+ &site1 !site
+ id: site1
+ storeCode: UO1
+ locationCode: A1
+ requiredAccreditationLevel: 0
+
+site2:
+ &site2 !site
+ id: site2
+ storeCode: UO1
+ locationCode: B2
+ requiredAccreditationLevel: 9
+
+site3:
+ &site3 !site
+ id: site3
+ storeCode: UO1
+ locationCode: C3
+ requiredAccreditationLevel: 0
+
+site4:
+ &site4 !site
+ id: site4
+ storeCode: UO1
+ locationCode: D4
+ requiredAccreditationLevel: 9
+
+site5:
+ &site5 !site
+ id: site5
+ storeCode: UO2
+ locationCode: A1
+ requiredAccreditationLevel: 0
+
+sites:
+ - *site1
+ - *site2
+ - *site3
+ - *site4
+ - *site5
+
+article1:
+ &article1 !article
+ id: article1
+ fixedSites:
+ - *site1
+ code: 111111111
+ quantityInKanban: 10
+ unit: kg
+ description: very big screws
+
+article2:
+ &article2 !article
+ id: article2
+ code: 222222222
+ quantityInKanban: 2
+ unit: box
+ description: little buttons
+
+article3:
+ &article3 !article
+ id: article3
+ fixedSites:
+ - *site2
+ code: 333333333
+ quantityInKanban: 50
+ unit: g
+ description: magic powder
+
+articles:
+ - *article1
+ - *article2
+ - *article3
+
+storedArticle1:
+ &storedArticle1 !stored-article
+ id: storedArticle1
+ article: *article1
+ site: *site1
+ quantity: 50
+
+storedArticle2:
+ &storedArticle2 !stored-article
+ id: storedArticle2
+ article: *article1
+ site: *site2
+ quantity: 20
+
+storedArticle3:
+ &storedArticle3 !stored-article
+ id: storedArticle3
+ article: *article2
+ site: *site1
+ quantity: 10
+
+storedArticle4:
+ &storedArticle4 !stored-article
+ id: storedArticle4
+ article: *article3
+ site: *site4
+ quantity: 1000
+
+storedArticles:
+ - *storedArticle1
+ - *storedArticle2
+ - *storedArticle3
+ - *storedArticle4
+
+storedArticlesForArticle1:
+ - *storedArticle1
+ - *storedArticle2
+
+requestedArticle1:
+ &requestedArticle1 !requested-article
+ id: requestedArticle1
+ article: *article3
+ quantity: 100
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle2:
+ &requestedArticle2 !requested-article
+ id: requestedArticle2
+ article: *article3
+ quantity: 250
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: false
+
+requestedArticles:
+ - *requestedArticle1
+ - *requestedArticle2
Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/AbstractMagalieServiceTest.java
===================================================================
--- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/AbstractMagalieServiceTest.java 2013-04-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/AbstractMagalieServiceTest.java 2013-04-09 13:05:01 UTC (rev 81)
@@ -11,15 +11,13 @@
protected static final double DELTA = 0.0001;
- protected static MagalieFixtures fixtures;
-
protected static MagalieApplicationConfig magalieApplicationConfig;
protected JpaEntityManagerRule jpaEntityManagerRule;
protected FakeMagalieServiceContext serviceContext;
- protected FixturesService fixturesService;
+ protected MagalieFixtures magalieFixtures;
protected static MagalieApplicationConfig getMagalieApplicationConfig() {
@@ -53,17 +51,17 @@
}
- protected <E> E fixture(String id) {
+ protected void loadFixtures(String fixturesSetName) {
- if (fixturesService == null) {
+ FixturesService fixturesService = getServiceContext().newService(FixturesService.class);
- fixturesService = getServiceContext().newService(FixturesService.class);
+ magalieFixtures = fixturesService.loadFixtures(fixturesSetName);
- fixturesService.loadFixtures();
+ }
- }
+ protected <E> E fixture(String id) {
- return fixturesService.fixture(id);
+ return magalieFixtures.fixture(id);
}
Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java
===================================================================
--- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-04-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/ArticleStorageServiceTest.java 2013-04-09 13:05:01 UTC (rev 81)
@@ -27,6 +27,8 @@
@Before
public void setUp() throws ParseException {
+ loadFixtures("fixtures2");
+
service = newService(ArticleStorageService.class);
serviceContext.setDate(new Date(1363948427576l));
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-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/RequestedArticleServiceTest.java 2013-04-09 13:05:01 UTC (rev 81)
@@ -18,6 +18,8 @@
@Before
public void setUp() throws ParseException {
+ loadFixtures("fixtures");
+
service = newService(RequestedArticleService.class);
serviceContext.setDate(new Date(1363948427576l));
Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieInterceptor.java
===================================================================
--- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieInterceptor.java 2013-04-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieInterceptor.java 2013-04-09 13:05:01 UTC (rev 81)
@@ -74,7 +74,7 @@
FixturesService fixturesService = serviceContext.newService(FixturesService.class);
- fixturesService.cleanDatabaseAndLoadFixtures();
+ fixturesService.cleanDatabaseAndLoadFixtures("fixtures");
fixturesLoaded = true;
Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RestoreFixturesAction.java
===================================================================
--- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RestoreFixturesAction.java 2013-04-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RestoreFixturesAction.java 2013-04-09 13:05:01 UTC (rev 81)
@@ -17,9 +17,9 @@
}
@Override
- public String execute() throws Exception {
+ public String execute() {
- service.cleanDatabaseAndLoadFixtures();
+ service.cleanDatabaseAndLoadFixtures("fixtures");
addActionMessage("Jeu de données initial restauré");
Deleted: trunk/magalie-web/src/main/resources/fixtures.yaml
===================================================================
--- trunk/magalie-web/src/main/resources/fixtures.yaml 2013-04-09 08:33:34 UTC (rev 80)
+++ trunk/magalie-web/src/main/resources/fixtures.yaml 2013-04-09 13:05:01 UTC (rev 81)
@@ -1,398 +0,0 @@
-pascal:
- &pascal !user
- id: magalie_user_pascal
- login: phe
- name: Pascal Heinz
- accreditationLevel: 9
-
-bruno:
- &bruno !user
- id: magalie_user_bruno
- login: bmr
- name: Bruno Menager
- accreditationLevel: 9
-
-corinne:
- &corinne !user
- id: magalie_user_corinne
- login: ccr
- name: Corinne Cocolon
- accreditationLevel: 0
-
-xavier:
- &xavier !user
- id: magalie_user_xavier
- login: xbe
- name: Xavier Bertini
- accreditationLevel: 0
-
-users:
- - *bruno
- - *corinne
- - *pascal
- - *xavier
-
-site1:
- &site1 !site
- id: site1
- storeCode: U01
- locationCode: A01
- requiredAccreditationLevel: 0
-
-site2:
- &site2 !site
- id: site2
- storeCode: U01
- locationCode: B02
- requiredAccreditationLevel: 9
-
-site3:
- &site3 !site
- id: site3
- storeCode: U01
- locationCode: C03
- requiredAccreditationLevel: 0
-
-site4:
- &site4 !site
- id: site4
- storeCode: U01
- locationCode: D04
- requiredAccreditationLevel: 9
-
-site5:
- &site5 !site
- id: site5
- storeCode: U02
- locationCode: F01
- requiredAccreditationLevel: 0
-
-site6:
- &site6 !site
- id: site6
- storeCode: U02
- locationCode: G02
- requiredAccreditationLevel: 0
-
-site7:
- &site7 !site
- id: site7
- storeCode: U02
- locationCode: H03
- requiredAccreditationLevel: 9
-
-site8:
- &site8 !site
- id: site8
- storeCode: U04
- locationCode: A010
- requiredAccreditationLevel: 0
-
-site9:
- &site9 !site
- id: site9
- storeCode: SOM
- locationCode: B10
- requiredAccreditationLevel: 0
-
-site10:
- &site10 !site
- id: site10
- storeCode: SOM
- locationCode: B24
- requiredAccreditationLevel: 0
-
-site11:
- &site11 !site
- id: site11
- storeCode: SOM
- locationCode: B77
- requiredAccreditationLevel: 0
-
-site12:
- &site12 !site
- id: site12
- storeCode: SOM
- locationCode: C12
- requiredAccreditationLevel: 0
-
-site13:
- &site13 !site
- id: site13
- storeCode: U01
- locationCode: REC
- requiredAccreditationLevel: 0
-
-sites:
- - *site1
- - *site2
- - *site3
- - *site4
- - *site5
- - *site6
- - *site7
- - *site8
- - *site9
- - *site10
- - *site11
- - *site12
- - *site13
-
-article1:
- &article1 !article
- id: article1
- fixedSites:
- - *site4
- - *site8
- code: 4034108
- quantityInKanban: 50
- unit: M
- description: Jonc Souple D5
-
-article2:
- &article2 !article
- id: article2
- fixedSites:
- - *site11
- code: 4033079
- quantityInKanban: 3
- unit: PCE
- description: Moteur Oréa Slt 50 RTS 50/12
-
-article3:
- &article3 !article
- id: article3
- fixedSites:
- - *site1
- code: 4092459
- quantityInKanban: 50
- unit: PCE
- description: Interface ASA/SOMFY + clip
-
-article4:
- &article4 !article
- id: article4
- code: 4019450
- quantityInKanban: 20
- unit: PCE
- description: Kit Tr.PM Fixe 122G D40Plat 10
-
-article5:
- &article5 !article
- id: article5
- fixedSites:
- - *site5
- code: 4020012
- quantityInKanban: 10
- unit: B60
- description: Caisson 2005 3F 6000 Brun
-
-article6:
- &article6 !article
- id: article6
- fixedSites:
- - *site3
- code: 1421812
- quantityInKanban: 9
- unit: PCE
- description: Ensemble SOLIRIS UNO
-
-articles:
- - *article1
- - *article2
- - *article3
- - *article4
- - *article5
- - *article6
-
-storedArticle1:
- &storedArticle1 !stored-article
- id: storedArticle1
- article: *article1
- site: *site4
- quantity: 40
-
-storedArticle2:
- &storedArticle2 !stored-article
- id: storedArticle2
- article: *article1
- site: *site8
- quantity: 20
-
-storedArticle3:
- &storedArticle3 !stored-article
- id: storedArticle3
- article: *article2
- site: *site10
- quantity: 2
-
-storedArticle4:
- &storedArticle4 !stored-article
- id: storedArticle4
- article: *article3
- site: *site1
- quantity: 90
-
-storedArticle5:
- &storedArticle5 !stored-article
- id: storedArticle5
- article: *article1
- site: *site13
- quantity: 30
-
-storedArticle6:
- &storedArticle6 !stored-article
- id: storedArticle6
- article: *article2
- site: *site11
- quantity: 100
-
-storedArticle7:
- &storedArticle7 !stored-article
- id: storedArticle7
- article: *article2
- site: *site12
- quantity: 10
-
-storedArticle8:
- &storedArticle8 !stored-article
- id: storedArticle8
- article: *article3
- site: *site2
- quantity: 500
-
-storedArticle9:
- &storedArticle9 !stored-article
- id: storedArticle9
- article: *article3
- site: *site3
- quantity: 50
-
-storedArticle10:
- &storedArticle10 !stored-article
- id: storedArticle10
- article: *article5
- site: *site5
- quantity: 5
-
-storedArticle11:
- &storedArticle11 !stored-article
- id: storedArticle11
- article: *article5
- site: *site6
- quantity: 2
-
-storedArticle12:
- &storedArticle12 !stored-article
- id: storedArticle12
- article: *article5
- site: *site7
- quantity: 25
-
-storedArticle13:
- &storedArticle13 !stored-article
- id: storedArticle13
- article: *article6
- site: *site3
- quantity: 70
-
-storedArticles:
- - *storedArticle1
- - *storedArticle2
- - *storedArticle3
- - *storedArticle4
- - *storedArticle5
- - *storedArticle6
- - *storedArticle7
- - *storedArticle8
- - *storedArticle9
- - *storedArticle10
- - *storedArticle11
- - *storedArticle12
- - *storedArticle13
-
-storedArticlesForArticle1:
- - *storedArticle1
- - *storedArticle2
- - *storedArticle5
-
-storedArticlesForArticle2:
- - *storedArticle3
- - *storedArticle6
- - *storedArticle7
-
-storedArticlesForArticle3:
- - *storedArticle4
- - *storedArticle8
- - *storedArticle9
-
-storedArticlesForArticle5:
- - *storedArticle10
- - *storedArticle11
- - *storedArticle12
-
-storedArticlesForArticle6:
- - *storedArticle13
-
-requestedArticle1:
- &requestedArticle1 !requested-article
- id: requestedArticle1
- article: *article1
- quantity: 80
- requestList: 123456789
- requestDate: 2013-04-08 12:00:00
- urgent: true
-
-requestedArticle2:
- &requestedArticle2 !requested-article
- id: requestedArticle2
- article: *article2
- quantity: 11
- requestList: 123456789
- requestDate: 2013-04-08 12:00:00
- urgent: false
-
-requestedArticle3:
- &requestedArticle3 !requested-article
- id: requestedArticle3
- article: *article3
- quantity: 111
- requestList: 123456789
- requestDate: 2013-04-08 12:00:00
- urgent: true
-
-requestedArticle4:
- &requestedArticle4 !requested-article
- id: requestedArticle4
- article: *article4
- quantity: 2
- requestList: 123456789
- requestDate: 2013-04-08 12:00:00
- urgent: true
-
-requestedArticle5:
- &requestedArticle5 !requested-article
- id: requestedArticle5
- article: *article5
- quantity: 5
- requestList: 987654321
- requestDate: 2013-04-08 12:00:00
- urgent: true
-
-requestedArticle6:
- &requestedArticle6 !requested-article
- id: requestedArticle6
- article: *article6
- quantity: 27
- requestList: 987654321
- requestDate: 2013-04-08 12:00:00
- urgent: true
-
-
-requestedArticles:
- - *requestedArticle1
- - *requestedArticle2
- - *requestedArticle3
- - *requestedArticle4
- - *requestedArticle5
- - *requestedArticle6
1
0
r80 - in trunk: magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity magalie-services/src/main/java/com/franciaflex/magalie/services/service
by bleny@users.forge.codelutin.com 09 Apr '13
by bleny@users.forge.codelutin.com 09 Apr '13
09 Apr '13
Author: bleny
Date: 2013-04-09 10:33:34 +0200 (Tue, 09 Apr 2013)
New Revision: 80
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
use spec for barcodes
Modified:
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java
Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java
===================================================================
--- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java 2013-04-09 08:30:06 UTC (rev 79)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Site.java 2013-04-09 08:33:34 UTC (rev 80)
@@ -1,7 +1,5 @@
package com.franciaflex.magalie.persistence.entity;
-import com.google.common.base.Joiner;
-
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -55,7 +53,7 @@
}
public String getBarcode() {
- String barcode = Joiner.on('_').join("EMPL", getStoreCode(), getLocationCode());
+ String barcode = getStoreCode() + getLocationCode();
return barcode;
}
}
Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java
===================================================================
--- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java 2013-04-09 08:30:06 UTC (rev 79)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java 2013-04-09 08:33:34 UTC (rev 80)
@@ -5,17 +5,11 @@
import com.franciaflex.magalie.services.MagalieService;
import com.franciaflex.magalie.services.MagalieServiceContext;
import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Iterables;
public class MagalieBarcodeService implements MagalieService {
protected MagalieServiceContext serviceContext;
- protected static final String BARCODE_ELEMENTS_SEPARATOR = "_";
-
- protected static final String ARTICLE_BARCODE_PREFIX = "ART";
-
@Override
public void setServiceContext(MagalieServiceContext serviceContext) {
this.serviceContext = serviceContext;
@@ -23,34 +17,14 @@
public Article getArticle(String articleBarcode) throws InvalidMagalieBarcodeException {
- Iterable<String> split = Splitter.on(BARCODE_ELEMENTS_SEPARATOR).split(articleBarcode);
-
- if (Iterables.size(split) != 2) {
-
- throw new InvalidMagalieBarcodeException("Unexpected barcode format, 2 parts expected");
-
- }
-
- String prefix = Iterables.get(split, 0);
-
- if ( ! ARTICLE_BARCODE_PREFIX.equals(prefix)) {
-
- throw new InvalidMagalieBarcodeException(
- "not an article barcode. expected prefix '"
- + ARTICLE_BARCODE_PREFIX + ", '" + prefix + "' found.");
-
- }
-
- String articleCode = Iterables.get(split, 1);
-
ArticleDao articleDao = serviceContext.getPersistenceContext().getArticleDao();
- Article article = articleDao.findByCode(articleCode);
+ Article article = articleDao.findByCode(articleBarcode);
if (article == null) {
throw new InvalidMagalieBarcodeException(
- "no article with code " + articleCode);
+ "no article with code " + articleBarcode);
}
1
0
Author: bleny
Date: 2013-04-09 10:30:06 +0200 (Tue, 09 Apr 2013)
New Revision: 79
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
add fixtures (not for tests)
Added:
trunk/magalie-web/src/main/resources/fixtures.yaml
Added: trunk/magalie-web/src/main/resources/fixtures.yaml
===================================================================
--- trunk/magalie-web/src/main/resources/fixtures.yaml (rev 0)
+++ trunk/magalie-web/src/main/resources/fixtures.yaml 2013-04-09 08:30:06 UTC (rev 79)
@@ -0,0 +1,398 @@
+pascal:
+ &pascal !user
+ id: magalie_user_pascal
+ login: phe
+ name: Pascal Heinz
+ accreditationLevel: 9
+
+bruno:
+ &bruno !user
+ id: magalie_user_bruno
+ login: bmr
+ name: Bruno Menager
+ accreditationLevel: 9
+
+corinne:
+ &corinne !user
+ id: magalie_user_corinne
+ login: ccr
+ name: Corinne Cocolon
+ accreditationLevel: 0
+
+xavier:
+ &xavier !user
+ id: magalie_user_xavier
+ login: xbe
+ name: Xavier Bertini
+ accreditationLevel: 0
+
+users:
+ - *bruno
+ - *corinne
+ - *pascal
+ - *xavier
+
+site1:
+ &site1 !site
+ id: site1
+ storeCode: U01
+ locationCode: A01
+ requiredAccreditationLevel: 0
+
+site2:
+ &site2 !site
+ id: site2
+ storeCode: U01
+ locationCode: B02
+ requiredAccreditationLevel: 9
+
+site3:
+ &site3 !site
+ id: site3
+ storeCode: U01
+ locationCode: C03
+ requiredAccreditationLevel: 0
+
+site4:
+ &site4 !site
+ id: site4
+ storeCode: U01
+ locationCode: D04
+ requiredAccreditationLevel: 9
+
+site5:
+ &site5 !site
+ id: site5
+ storeCode: U02
+ locationCode: F01
+ requiredAccreditationLevel: 0
+
+site6:
+ &site6 !site
+ id: site6
+ storeCode: U02
+ locationCode: G02
+ requiredAccreditationLevel: 0
+
+site7:
+ &site7 !site
+ id: site7
+ storeCode: U02
+ locationCode: H03
+ requiredAccreditationLevel: 9
+
+site8:
+ &site8 !site
+ id: site8
+ storeCode: U04
+ locationCode: A010
+ requiredAccreditationLevel: 0
+
+site9:
+ &site9 !site
+ id: site9
+ storeCode: SOM
+ locationCode: B10
+ requiredAccreditationLevel: 0
+
+site10:
+ &site10 !site
+ id: site10
+ storeCode: SOM
+ locationCode: B24
+ requiredAccreditationLevel: 0
+
+site11:
+ &site11 !site
+ id: site11
+ storeCode: SOM
+ locationCode: B77
+ requiredAccreditationLevel: 0
+
+site12:
+ &site12 !site
+ id: site12
+ storeCode: SOM
+ locationCode: C12
+ requiredAccreditationLevel: 0
+
+site13:
+ &site13 !site
+ id: site13
+ storeCode: U01
+ locationCode: REC
+ requiredAccreditationLevel: 0
+
+sites:
+ - *site1
+ - *site2
+ - *site3
+ - *site4
+ - *site5
+ - *site6
+ - *site7
+ - *site8
+ - *site9
+ - *site10
+ - *site11
+ - *site12
+ - *site13
+
+article1:
+ &article1 !article
+ id: article1
+ fixedSites:
+ - *site4
+ - *site8
+ code: 4034108
+ quantityInKanban: 50
+ unit: M
+ description: Jonc Souple D5
+
+article2:
+ &article2 !article
+ id: article2
+ fixedSites:
+ - *site11
+ code: 4033079
+ quantityInKanban: 3
+ unit: PCE
+ description: Moteur Oréa Slt 50 RTS 50/12
+
+article3:
+ &article3 !article
+ id: article3
+ fixedSites:
+ - *site1
+ code: 4092459
+ quantityInKanban: 50
+ unit: PCE
+ description: Interface ASA/SOMFY + clip
+
+article4:
+ &article4 !article
+ id: article4
+ code: 4019450
+ quantityInKanban: 20
+ unit: PCE
+ description: Kit Tr.PM Fixe 122G D40Plat 10
+
+article5:
+ &article5 !article
+ id: article5
+ fixedSites:
+ - *site5
+ code: 4020012
+ quantityInKanban: 10
+ unit: B60
+ description: Caisson 2005 3F 6000 Brun
+
+article6:
+ &article6 !article
+ id: article6
+ fixedSites:
+ - *site3
+ code: 1421812
+ quantityInKanban: 9
+ unit: PCE
+ description: Ensemble SOLIRIS UNO
+
+articles:
+ - *article1
+ - *article2
+ - *article3
+ - *article4
+ - *article5
+ - *article6
+
+storedArticle1:
+ &storedArticle1 !stored-article
+ id: storedArticle1
+ article: *article1
+ site: *site4
+ quantity: 40
+
+storedArticle2:
+ &storedArticle2 !stored-article
+ id: storedArticle2
+ article: *article1
+ site: *site8
+ quantity: 20
+
+storedArticle3:
+ &storedArticle3 !stored-article
+ id: storedArticle3
+ article: *article2
+ site: *site10
+ quantity: 2
+
+storedArticle4:
+ &storedArticle4 !stored-article
+ id: storedArticle4
+ article: *article3
+ site: *site1
+ quantity: 90
+
+storedArticle5:
+ &storedArticle5 !stored-article
+ id: storedArticle5
+ article: *article1
+ site: *site13
+ quantity: 30
+
+storedArticle6:
+ &storedArticle6 !stored-article
+ id: storedArticle6
+ article: *article2
+ site: *site11
+ quantity: 100
+
+storedArticle7:
+ &storedArticle7 !stored-article
+ id: storedArticle7
+ article: *article2
+ site: *site12
+ quantity: 10
+
+storedArticle8:
+ &storedArticle8 !stored-article
+ id: storedArticle8
+ article: *article3
+ site: *site2
+ quantity: 500
+
+storedArticle9:
+ &storedArticle9 !stored-article
+ id: storedArticle9
+ article: *article3
+ site: *site3
+ quantity: 50
+
+storedArticle10:
+ &storedArticle10 !stored-article
+ id: storedArticle10
+ article: *article5
+ site: *site5
+ quantity: 5
+
+storedArticle11:
+ &storedArticle11 !stored-article
+ id: storedArticle11
+ article: *article5
+ site: *site6
+ quantity: 2
+
+storedArticle12:
+ &storedArticle12 !stored-article
+ id: storedArticle12
+ article: *article5
+ site: *site7
+ quantity: 25
+
+storedArticle13:
+ &storedArticle13 !stored-article
+ id: storedArticle13
+ article: *article6
+ site: *site3
+ quantity: 70
+
+storedArticles:
+ - *storedArticle1
+ - *storedArticle2
+ - *storedArticle3
+ - *storedArticle4
+ - *storedArticle5
+ - *storedArticle6
+ - *storedArticle7
+ - *storedArticle8
+ - *storedArticle9
+ - *storedArticle10
+ - *storedArticle11
+ - *storedArticle12
+ - *storedArticle13
+
+storedArticlesForArticle1:
+ - *storedArticle1
+ - *storedArticle2
+ - *storedArticle5
+
+storedArticlesForArticle2:
+ - *storedArticle3
+ - *storedArticle6
+ - *storedArticle7
+
+storedArticlesForArticle3:
+ - *storedArticle4
+ - *storedArticle8
+ - *storedArticle9
+
+storedArticlesForArticle5:
+ - *storedArticle10
+ - *storedArticle11
+ - *storedArticle12
+
+storedArticlesForArticle6:
+ - *storedArticle13
+
+requestedArticle1:
+ &requestedArticle1 !requested-article
+ id: requestedArticle1
+ article: *article1
+ quantity: 80
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle2:
+ &requestedArticle2 !requested-article
+ id: requestedArticle2
+ article: *article2
+ quantity: 11
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: false
+
+requestedArticle3:
+ &requestedArticle3 !requested-article
+ id: requestedArticle3
+ article: *article3
+ quantity: 111
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle4:
+ &requestedArticle4 !requested-article
+ id: requestedArticle4
+ article: *article4
+ quantity: 2
+ requestList: 123456789
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle5:
+ &requestedArticle5 !requested-article
+ id: requestedArticle5
+ article: *article5
+ quantity: 5
+ requestList: 987654321
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+requestedArticle6:
+ &requestedArticle6 !requested-article
+ id: requestedArticle6
+ article: *article6
+ quantity: 27
+ requestList: 987654321
+ requestDate: 2013-04-08 12:00:00
+ urgent: true
+
+
+requestedArticles:
+ - *requestedArticle1
+ - *requestedArticle2
+ - *requestedArticle3
+ - *requestedArticle4
+ - *requestedArticle5
+ - *requestedArticle6
1
0
r78 - in trunk: magalie-persistence/src/main/java/com/franciaflex/magalie/persistence magalie-services/src/main/java/com/franciaflex/magalie/services/service
by bleny@users.forge.codelutin.com 08 Apr '13
by bleny@users.forge.codelutin.com 08 Apr '13
08 Apr '13
Author: bleny
Date: 2013-04-08 15:38:09 +0200 (Mon, 08 Apr 2013)
New Revision: 78
Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revision…
Log:
more implementations of requested articles service
Modified:
trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java
trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.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-04-05 13:22:46 UTC (rev 77)
+++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/RequestedArticles.java 2013-04-08 13:38:09 UTC (rev 78)
@@ -4,6 +4,7 @@
import org.apache.commons.collections.comparators.BooleanComparator;
import java.util.Comparator;
+import java.util.Map;
public class RequestedArticles {
@@ -13,9 +14,48 @@
public int compare(RequestedArticle x, RequestedArticle y) {
return BooleanComparator.getTrueFirstComparator().compare(x.isUrgent(), y.isUrgent());
}
+
}
+ protected static class RequestDateFistComparator implements Comparator<RequestedArticle> {
+
+ @Override
+ public int compare(RequestedArticle x, RequestedArticle y) {
+ return x.getRequestDate().compareTo(y.getRequestDate());
+ }
+
+ }
+
+ protected static class FinishEarlyFirstComparator implements Comparator<RequestedArticle> {
+
+ protected Map<String, Integer> requestListToArticleRemainingCount;
+
+ // TODO brendan 05/04/13 something to do here
+
+ protected int getRemainingCount(RequestedArticle requestedArticle) {
+ Integer remainingCount = requestListToArticleRemainingCount.get(requestedArticle.getRequestList());
+ return remainingCount == null ? Integer.MAX_VALUE : remainingCount;
+ }
+
+ @Override
+ public int compare(RequestedArticle x, RequestedArticle y) {
+ return 0;
+// int xRemainingCount = getRemainingCount(x);
+// int yRemainingCount = getRemainingCount(y);
+// return xRemainingCount - yRemainingCount;
+ }
+
+ }
+
public static Comparator<RequestedArticle> urgentFirstComparator() {
return new UrgentFirstComparator();
}
+
+ public static Comparator<RequestedArticle> requestDateFirstComparator() {
+ return new RequestDateFistComparator();
+ }
+
+ public static Comparator<RequestedArticle> finishEarlyFirstComparator() {
+ return new FinishEarlyFirstComparator();
+ }
}
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 13:22:46 UTC (rev 77)
+++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-04-08 13:38:09 UTC (rev 78)
@@ -159,7 +159,9 @@
Comparator<RequestedArticle> priorityComparator =
Ordering.compound(
Lists.newArrayList(
- RequestedArticles.urgentFirstComparator()
+ RequestedArticles.finishEarlyFirstComparator(),
+ RequestedArticles.urgentFirstComparator(),
+ RequestedArticles.requestDateFirstComparator()
)
);
1
0