Browse Source

Removed loadForRouting() from domain service layer, since it only delegated to repository. Remote facade in application layer now calls repository directly.

Also, there's no "load for routing" in the ubiquitous language as it's a technical aspect.
peter_backlund 18 years ago
parent
commit
41f76db69e

+ 3
- 1
dddsample/src/main/java/se/citerus/dddsample/application/remoting/BookingServiceFacadeImpl.java View File

@@ -47,7 +47,8 @@ public class BookingServiceFacadeImpl implements BookingServiceFacade {
47 47
   }
48 48
 
49 49
   public CargoRoutingDTO loadCargoForRouting(String trackingId) {
50
-    final Cargo cargo = bookingService.loadCargoForRouting(new TrackingId(trackingId));
50
+    // TODO lock
51
+    final Cargo cargo = cargoRepository.find(new TrackingId(trackingId));
51 52
     final CargoRoutingDTOAssembler assembler = new CargoRoutingDTOAssembler();
52 53
     return assembler.toDTO(cargo);
53 54
   }
@@ -55,6 +56,7 @@ public class BookingServiceFacadeImpl implements BookingServiceFacade {
55 56
   public void assignCargoToRoute(String trackingId, ItineraryCandidateDTO itineraryCandidateDTO) {
56 57
     final Itinerary itinerary = new ItineraryCandidateDTOAssembler().fromDTO(itineraryCandidateDTO, carrierMovementRepository, locationRepository);
57 58
     bookingService.assignCargoToRoute(new TrackingId(trackingId), itinerary);
59
+    // TODO unlock
58 60
   }
59 61
 
60 62
   public List<CargoRoutingDTO> listAllCargos() {

+ 0
- 9
dddsample/src/main/java/se/citerus/dddsample/domain/service/BookingService.java View File

@@ -1,6 +1,5 @@
1 1
 package se.citerus.dddsample.domain.service;
2 2
 
3
-import se.citerus.dddsample.domain.model.cargo.Cargo;
4 3
 import se.citerus.dddsample.domain.model.cargo.Itinerary;
5 4
 import se.citerus.dddsample.domain.model.cargo.TrackingId;
6 5
 import se.citerus.dddsample.domain.model.location.UnLocode;
@@ -22,14 +21,6 @@ public interface BookingService {
22 21
   TrackingId bookNewCargo(UnLocode origin, UnLocode destination);
23 22
 
24 23
   /**
25
-   * Loads a cargo for routing operations.
26
-   *
27
-   * @param trackingId cargo tracking id
28
-   * @return A cargo with it's itinerary, or null if none found.
29
-   */
30
-  Cargo loadCargoForRouting(TrackingId trackingId);
31
-
32
-  /**
33 24
    * Requests a list of itineraries describing possible routes for this cargo.
34 25
    * 
35 26
    * @param trackingId cargo tracking id

+ 2
- 17
dddsample/src/main/java/se/citerus/dddsample/domain/service/impl/BookingServiceImpl.java View File

@@ -19,8 +19,6 @@ public final class BookingServiceImpl implements BookingService {
19 19
   private CargoRepository cargoRepository;
20 20
   private LocationRepository locationRepository;
21 21
   private RoutingService routingService;
22
-  // TODO
23
-  //private LockManager lockManager;
24 22
 
25 23
   private final Log logger = LogFactory.getLog(getClass());
26 24
 
@@ -41,20 +39,10 @@ public final class BookingServiceImpl implements BookingService {
41 39
   }
42 40
 
43 41
   @Transactional(readOnly = true)
44
-  public Cargo loadCargoForRouting(final TrackingId trackingId) {
42
+  public List<Itinerary> requestPossibleRoutesForCargo(TrackingId trackingId) {
45 43
     Validate.notNull(trackingId);
46
-
47
-    // TODO
48
-    //CargoLock cargoLock = lockManager.lockCargo(trackingId);
49
-
44
+    
50 45
     final Cargo cargo = cargoRepository.find(trackingId);
51
-
52
-    return cargo;
53
-  }
54
-
55
-  @Transactional(readOnly = true)
56
-  public List<Itinerary> requestPossibleRoutesForCargo(TrackingId trackingId) {
57
-    final Cargo cargo = loadCargoForRouting(trackingId);
58 46
     final RouteSpecification routeSpecification = RouteSpecification.forCargo(cargo, new Date());
59 47
 
60 48
     return routingService.fetchRoutesForSpecification(routeSpecification);
@@ -74,9 +62,6 @@ public final class BookingServiceImpl implements BookingService {
74 62
     cargoRepository.save(cargo);
75 63
 
76 64
     logger.info("Assigned cargo " + trackingId + " to new route");
77
-
78
-    // TODO
79
-    //lockManager.unlockCargo(cargoLock, trackingId);
80 65
   }
81 66
 
82 67
   public void setCargoRepository(final CargoRepository cargoRepository) {