Przeglądaj źródła

A few checkstyle report fixes - only ~1200 errors to go!

Moved DDD pattern interfaces to doman.shared
peter_backlund 17 lat temu
rodzic
commit
01c65767cf
29 zmienionych plików z 109 dodań i 36 usunięć
  1. 2
    0
      dddsample/pom.xml
  2. 12
    3
      dddsample/src/main/java/com/pathfinder/api/GraphTraversalService.java
  3. 2
    2
      dddsample/src/main/java/se/citerus/dddsample/application/BookingService.java
  4. 18
    4
      dddsample/src/main/java/se/citerus/dddsample/application/util/DateTestUtil.java
  5. 7
    3
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Cargo.java
  6. 0
    2
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/CargoRepository.java
  7. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Delivery.java
  8. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/HandlingActivity.java
  9. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Itinerary.java
  10. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Leg.java
  11. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/RouteSpecification.java
  12. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/RoutingStatus.java
  13. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/TrackingId.java
  14. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/TransportStatus.java
  15. 2
    2
      dddsample/src/main/java/se/citerus/dddsample/domain/model/handling/HandlingEvent.java
  16. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/handling/HandlingHistory.java
  17. 6
    0
      dddsample/src/main/java/se/citerus/dddsample/domain/model/handling/UnknownCargoException.java
  18. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/location/Location.java
  19. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/location/UnLocode.java
  20. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/CarrierMovement.java
  21. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/Schedule.java
  22. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/Voyage.java
  23. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/VoyageNumber.java
  24. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/shared/DomainEvent.java
  25. 19
    0
      dddsample/src/main/java/se/citerus/dddsample/domain/shared/DomainObjectUtils.java
  26. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/shared/Entity.java
  27. 1
    1
      dddsample/src/main/java/se/citerus/dddsample/domain/shared/ValueObject.java
  28. 5
    0
      dddsample/src/main/java/se/citerus/dddsample/interfaces/booking/facade/internal/assembler/CargoRoutingDTOAssembler.java
  29. 18
    2
      dddsample/src/main/java/se/citerus/dddsample/interfaces/booking/facade/internal/assembler/ItineraryCandidateDTOAssembler.java

+ 2
- 0
dddsample/pom.xml Wyświetl plik

@@ -356,6 +356,8 @@
356 356
         <artifactId>maven-checkstyle-plugin</artifactId>
357 357
         <configuration>
358 358
           <configLocation>checkstyle.xml</configLocation>
359
+          <!-- Java source code generated from WSDL -->
360
+          <excludes>**/com/aggregator/**/*</excludes>
359 361
         </configuration>
360 362
       </plugin>
361 363
     </plugins>

+ 12
- 3
dddsample/src/main/java/com/pathfinder/api/GraphTraversalService.java Wyświetl plik

@@ -8,10 +8,19 @@ import java.util.Properties;
8 8
 /**
9 9
  * Part of the external graph traversal API exposed by the routing team
10 10
  * and used by us (booking and tracking team).
11
- * 
11
+ *
12 12
  */
13 13
 public interface GraphTraversalService extends Remote {
14 14
 
15
-  List<TransitPath> findShortestPath(String originUnLocode, String destinationUnLocode, Properties limitations) throws RemoteException;
15
+  /**
16
+   * @param originUnLocode origin UN Locode
17
+   * @param destinationUnLocode destination UN Locode
18
+   * @param limitations restrictions on the path selection, as key-value according to some API specification
19
+   * @return A list of transit paths
20
+   * @throws RemoteException RMI problem
21
+   */
22
+  List<TransitPath> findShortestPath(String originUnLocode,
23
+                                     String destinationUnLocode,
24
+                                     Properties limitations) throws RemoteException;
16 25
 
17
-}
26
+}

+ 2
- 2
dddsample/src/main/java/se/citerus/dddsample/application/BookingService.java Wyświetl plik

@@ -24,9 +24,9 @@ public interface BookingService {
24 24
 
25 25
   /**
26 26
    * Requests a list of itineraries describing possible routes for this cargo.
27
-   * 
27
+   *
28 28
    * @param trackingId cargo tracking id
29
-   * @return A list of possible itineraries for this cargo 
29
+   * @return A list of possible itineraries for this cargo
30 30
    */
31 31
   List<Itinerary> requestPossibleRoutesForCargo(TrackingId trackingId);
32 32
 

+ 18
- 4
dddsample/src/main/java/se/citerus/dddsample/application/util/DateTestUtil.java Wyświetl plik

@@ -8,18 +8,32 @@ import java.util.Date;
8 8
  * A few utils for working with Date in tests.
9 9
  *
10 10
  */
11
-public class DateTestUtil {
11
+public final class DateTestUtil {
12 12
 
13
-  public static Date toDate(String date) {
13
+  /**
14
+   * @param date date string as yyyy-MM-dd
15
+   * @return Date representation
16
+   */
17
+  public static Date toDate(final String date) {
14 18
     return toDate(date, "00:00.00.000");
15 19
   }
16 20
 
17
-  public static Date toDate(String date, String time) {
21
+  /**
22
+   * @param date date string as yyyy-MM-dd
23
+   * @param time time string as HH:mm
24
+   * @return Date representation
25
+   */
26
+  public static Date toDate(final String date, final String time) {
18 27
     try {
19
-      return new SimpleDateFormat("yyyy-MM-dd hh:mm").parse(date + " " + time);
28
+      return new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(date + " " + time);
20 29
     } catch (ParseException e) {
21 30
       throw new RuntimeException(e);
22 31
     }
23 32
   }
24 33
 
34
+  /**
35
+   * Prevent instantiation.
36
+   */
37
+  private DateTestUtil() {
38
+  }
25 39
 }

+ 7
- 3
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Cargo.java Wyświetl plik

@@ -1,11 +1,11 @@
1 1
 package se.citerus.dddsample.domain.model.cargo;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.Entity;
5 4
 import se.citerus.dddsample.domain.model.handling.HandlingEvent;
6 5
 import se.citerus.dddsample.domain.model.handling.HandlingHistory;
7 6
 import se.citerus.dddsample.domain.model.location.Location;
8 7
 import se.citerus.dddsample.domain.shared.DomainObjectUtils;
8
+import se.citerus.dddsample.domain.shared.Entity;
9 9
 
10 10
 /**
11 11
  * A Cargo. This is the central class in the domain model,
@@ -61,7 +61,9 @@ public class Cargo implements Entity<Cargo> {
61 61
     this.origin = routeSpecification.origin();
62 62
     this.routeSpecification = routeSpecification;
63 63
 
64
-    this.delivery = Delivery.derivedFrom(this.routeSpecification, this.itinerary, HandlingHistory.EMPTY);
64
+    this.delivery = Delivery.derivedFrom(
65
+      this.routeSpecification, this.itinerary, HandlingHistory.EMPTY
66
+    );
65 67
   }
66 68
 
67 69
   /**
@@ -140,9 +142,11 @@ public class Cargo implements Entity<Cargo> {
140 142
    * but changes to the delivery history (when a cargo is handled) cause the status update
141 143
    * to happen <b>asynchronously</b> since {@link HandlingEvent} is in a different aggregate.
142 144
    *
143
-   * @param handlingHistory delivery history
145
+   * @param handlingHistory handling history
144 146
    */
145 147
   public void deriveDeliveryProgress(final HandlingHistory handlingHistory) {
148
+    // TODO filter events on cargo (must be same as this cargo)
149
+
146 150
     // Delivery is a value object, so we can simply discard the old one
147 151
     // and replace it with a new
148 152
     this.delivery = Delivery.derivedFrom(routeSpecification(), itinerary(), handlingHistory);

+ 0
- 2
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/CargoRepository.java Wyświetl plik

@@ -31,6 +31,4 @@ public interface CargoRepository {
31 31
    */
32 32
   TrackingId nextTrackingId();
33 33
 
34
-  // TODO perhaps it belongs in a factory instead
35
-
36 34
 }

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Delivery.java Wyświetl plik

@@ -3,7 +3,6 @@ package se.citerus.dddsample.domain.model.cargo;
3 3
 import org.apache.commons.lang.Validate;
4 4
 import org.apache.commons.lang.builder.EqualsBuilder;
5 5
 import org.apache.commons.lang.builder.HashCodeBuilder;
6
-import se.citerus.dddsample.domain.model.ValueObject;
7 6
 import static se.citerus.dddsample.domain.model.cargo.RoutingStatus.*;
8 7
 import static se.citerus.dddsample.domain.model.cargo.TransportStatus.*;
9 8
 import se.citerus.dddsample.domain.model.handling.HandlingEvent;
@@ -11,6 +10,7 @@ import se.citerus.dddsample.domain.model.handling.HandlingHistory;
11 10
 import se.citerus.dddsample.domain.model.location.Location;
12 11
 import se.citerus.dddsample.domain.model.voyage.Voyage;
13 12
 import se.citerus.dddsample.domain.shared.DomainObjectUtils;
13
+import se.citerus.dddsample.domain.shared.ValueObject;
14 14
 
15 15
 import java.util.Date;
16 16
 import java.util.Iterator;

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/HandlingActivity.java Wyświetl plik

@@ -3,10 +3,10 @@ package se.citerus.dddsample.domain.model.cargo;
3 3
 import org.apache.commons.lang.Validate;
4 4
 import org.apache.commons.lang.builder.EqualsBuilder;
5 5
 import org.apache.commons.lang.builder.HashCodeBuilder;
6
-import se.citerus.dddsample.domain.model.ValueObject;
7 6
 import se.citerus.dddsample.domain.model.handling.HandlingEvent;
8 7
 import se.citerus.dddsample.domain.model.location.Location;
9 8
 import se.citerus.dddsample.domain.model.voyage.Voyage;
9
+import se.citerus.dddsample.domain.shared.ValueObject;
10 10
 
11 11
 /**
12 12
  * A handling activity represents how and where a cargo can be handled,

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Itinerary.java Wyświetl plik

@@ -1,9 +1,9 @@
1 1
 package se.citerus.dddsample.domain.model.cargo;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.ValueObject;
5 4
 import se.citerus.dddsample.domain.model.handling.HandlingEvent;
6 5
 import se.citerus.dddsample.domain.model.location.Location;
6
+import se.citerus.dddsample.domain.shared.ValueObject;
7 7
 
8 8
 import java.util.Collections;
9 9
 import java.util.Date;

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/Leg.java Wyświetl plik

@@ -3,9 +3,9 @@ package se.citerus.dddsample.domain.model.cargo;
3 3
 import org.apache.commons.lang.Validate;
4 4
 import org.apache.commons.lang.builder.EqualsBuilder;
5 5
 import org.apache.commons.lang.builder.HashCodeBuilder;
6
-import se.citerus.dddsample.domain.model.ValueObject;
7 6
 import se.citerus.dddsample.domain.model.location.Location;
8 7
 import se.citerus.dddsample.domain.model.voyage.Voyage;
8
+import se.citerus.dddsample.domain.shared.ValueObject;
9 9
 
10 10
 import java.util.Date;
11 11
 

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/RouteSpecification.java Wyświetl plik

@@ -3,9 +3,9 @@ package se.citerus.dddsample.domain.model.cargo;
3 3
 import org.apache.commons.lang.Validate;
4 4
 import org.apache.commons.lang.builder.EqualsBuilder;
5 5
 import org.apache.commons.lang.builder.HashCodeBuilder;
6
-import se.citerus.dddsample.domain.model.ValueObject;
7 6
 import se.citerus.dddsample.domain.model.location.Location;
8 7
 import se.citerus.dddsample.domain.shared.AbstractSpecification;
8
+import se.citerus.dddsample.domain.shared.ValueObject;
9 9
 
10 10
 import java.util.Date;
11 11
 

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/RoutingStatus.java Wyświetl plik

@@ -1,6 +1,6 @@
1 1
 package se.citerus.dddsample.domain.model.cargo;
2 2
 
3
-import se.citerus.dddsample.domain.model.ValueObject;
3
+import se.citerus.dddsample.domain.shared.ValueObject;
4 4
 
5 5
 /**
6 6
  * Routing status. 

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/TrackingId.java Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 package se.citerus.dddsample.domain.model.cargo;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.ValueObject;
4
+import se.citerus.dddsample.domain.shared.ValueObject;
5 5
 
6 6
 /**
7 7
  * Uniquely identifies a particular cargo. Automatically generated by the application.

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/cargo/TransportStatus.java Wyświetl plik

@@ -1,6 +1,6 @@
1 1
 package se.citerus.dddsample.domain.model.cargo;
2 2
 
3
-import se.citerus.dddsample.domain.model.ValueObject;
3
+import se.citerus.dddsample.domain.shared.ValueObject;
4 4
 
5 5
 /**
6 6
  * Represents the different transport statuses for a cargo.

+ 2
- 2
dddsample/src/main/java/se/citerus/dddsample/domain/model/handling/HandlingEvent.java Wyświetl plik

@@ -5,12 +5,12 @@ import org.apache.commons.lang.builder.EqualsBuilder;
5 5
 import org.apache.commons.lang.builder.HashCodeBuilder;
6 6
 import org.apache.commons.lang.builder.ToStringBuilder;
7 7
 import org.apache.commons.lang.builder.ToStringStyle;
8
-import se.citerus.dddsample.domain.model.DomainEvent;
9
-import se.citerus.dddsample.domain.model.ValueObject;
10 8
 import se.citerus.dddsample.domain.model.cargo.Cargo;
11 9
 import se.citerus.dddsample.domain.model.location.Location;
12 10
 import se.citerus.dddsample.domain.model.voyage.Voyage;
11
+import se.citerus.dddsample.domain.shared.DomainEvent;
13 12
 import se.citerus.dddsample.domain.shared.DomainObjectUtils;
13
+import se.citerus.dddsample.domain.shared.ValueObject;
14 14
 
15 15
 import java.util.Date;
16 16
 

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/handling/HandlingHistory.java Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 package se.citerus.dddsample.domain.model.handling;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.ValueObject;
4
+import se.citerus.dddsample.domain.shared.ValueObject;
5 5
 
6 6
 import java.util.*;
7 7
 import static java.util.Collections.sort;

+ 6
- 0
dddsample/src/main/java/se/citerus/dddsample/domain/model/handling/UnknownCargoException.java Wyświetl plik

@@ -9,10 +9,16 @@ public final class UnknownCargoException extends CannotCreateHandlingEventExcept
9 9
 
10 10
   private final TrackingId trackingId;
11 11
 
12
+  /**
13
+   * @param trackingId cargo tracking id
14
+   */
12 15
   public UnknownCargoException(final TrackingId trackingId) {
13 16
     this.trackingId = trackingId;
14 17
   }
15 18
 
19
+  /**
20
+   * {@inheritDoc}
21
+   */            
16 22
   @Override
17 23
   public String getMessage() {
18 24
     return "No cargo with tracking id " + trackingId.idString() + " exists in the system";

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/location/Location.java Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 package se.citerus.dddsample.domain.model.location;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.Entity;
4
+import se.citerus.dddsample.domain.shared.Entity;
5 5
 
6 6
 /**
7 7
  * A location is our model is stops on a journey, such as cargo

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/location/UnLocode.java Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 package se.citerus.dddsample.domain.model.location;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.ValueObject;
4
+import se.citerus.dddsample.domain.shared.ValueObject;
5 5
 
6 6
 import java.util.regex.Pattern;
7 7
 

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/CarrierMovement.java Wyświetl plik

@@ -3,8 +3,8 @@ package se.citerus.dddsample.domain.model.voyage;
3 3
 import org.apache.commons.lang.Validate;
4 4
 import org.apache.commons.lang.builder.EqualsBuilder;
5 5
 import org.apache.commons.lang.builder.HashCodeBuilder;
6
-import se.citerus.dddsample.domain.model.ValueObject;
7 6
 import se.citerus.dddsample.domain.model.location.Location;
7
+import se.citerus.dddsample.domain.shared.ValueObject;
8 8
 
9 9
 import java.util.Date;
10 10
 

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/Schedule.java Wyświetl plik

@@ -2,7 +2,7 @@ package se.citerus.dddsample.domain.model.voyage;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4 4
 import org.apache.commons.lang.builder.HashCodeBuilder;
5
-import se.citerus.dddsample.domain.model.ValueObject;
5
+import se.citerus.dddsample.domain.shared.ValueObject;
6 6
 
7 7
 import java.util.Collections;
8 8
 import java.util.List;

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/Voyage.java Wyświetl plik

@@ -1,8 +1,8 @@
1 1
 package se.citerus.dddsample.domain.model.voyage;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.Entity;
5 4
 import se.citerus.dddsample.domain.model.location.Location;
5
+import se.citerus.dddsample.domain.shared.Entity;
6 6
 
7 7
 import java.util.ArrayList;
8 8
 import java.util.Date;

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/domain/model/voyage/VoyageNumber.java Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 package se.citerus.dddsample.domain.model.voyage;
2 2
 
3 3
 import org.apache.commons.lang.Validate;
4
-import se.citerus.dddsample.domain.model.ValueObject;
4
+import se.citerus.dddsample.domain.shared.ValueObject;
5 5
 
6 6
 /**
7 7
  * Identifies a voyage.

dddsample/src/main/java/se/citerus/dddsample/domain/model/DomainEvent.java → dddsample/src/main/java/se/citerus/dddsample/domain/shared/DomainEvent.java Wyświetl plik

@@ -1,4 +1,4 @@
1
-package se.citerus.dddsample.domain.model;
1
+package se.citerus.dddsample.domain.shared;
2 2
 
3 3
 /**
4 4
  * A domain event is something that is unique, but does not have a lifecycle.

+ 19
- 0
dddsample/src/main/java/se/citerus/dddsample/domain/shared/DomainObjectUtils.java Wyświetl plik

@@ -5,7 +5,26 @@ package se.citerus.dddsample.domain.shared;
5 5
  *
6 6
  */
7 7
 public class DomainObjectUtils {
8
+
9
+  /**
10
+   * @param actual actual value
11
+   * @param safe a null-safe value
12
+   * @param <T> type
13
+   * @return actual value, if it's not null, or safe value if the actual value is null.
14
+   */
8 15
   public static <T> T nullSafe(T actual, T safe) {
9 16
     return actual == null ? safe : actual;
10 17
   }
18
+
19
+  // TODO wrappers for some of the commons-lang code:
20
+  //
21
+  // EqualsBuilder that uses sameIdentity/sameValue,
22
+  // better validation (varargs etc) 
23
+
24
+  /**
25
+   * Prevent instantiation.
26
+   */
27
+  private DomainObjectUtils() {
28
+  }
29
+
11 30
 }

dddsample/src/main/java/se/citerus/dddsample/domain/model/Entity.java → dddsample/src/main/java/se/citerus/dddsample/domain/shared/Entity.java Wyświetl plik

@@ -1,4 +1,4 @@
1
-package se.citerus.dddsample.domain.model;
1
+package se.citerus.dddsample.domain.shared;
2 2
 
3 3
 /**
4 4
  * An entity, as explained in the DDD book.

dddsample/src/main/java/se/citerus/dddsample/domain/model/ValueObject.java → dddsample/src/main/java/se/citerus/dddsample/domain/shared/ValueObject.java Wyświetl plik

@@ -1,4 +1,4 @@
1
-package se.citerus.dddsample.domain.model;
1
+package se.citerus.dddsample.domain.shared;
2 2
 
3 3
 import java.io.Serializable;
4 4
 

+ 5
- 0
dddsample/src/main/java/se/citerus/dddsample/interfaces/booking/facade/internal/assembler/CargoRoutingDTOAssembler.java Wyświetl plik

@@ -10,6 +10,11 @@ import se.citerus.dddsample.interfaces.booking.facade.dto.CargoRoutingDTO;
10 10
  */
11 11
 public class CargoRoutingDTOAssembler {
12 12
 
13
+  /**
14
+   *
15
+   * @param cargo cargo
16
+   * @return A cargo routing DTO
17
+   */
13 18
   public CargoRoutingDTO toDTO(final Cargo cargo) {
14 19
     final CargoRoutingDTO dto = new CargoRoutingDTO(
15 20
       cargo.trackingId().idString(),

+ 18
- 2
dddsample/src/main/java/se/citerus/dddsample/interfaces/booking/facade/internal/assembler/ItineraryCandidateDTOAssembler.java Wyświetl plik

@@ -18,7 +18,11 @@ import java.util.List;
18 18
  * Assembler class for the ItineraryCandidateDTO.
19 19
  */
20 20
 public class ItineraryCandidateDTOAssembler {
21
-  
21
+
22
+  /**
23
+   * @param itinerary itinerary
24
+   * @return A route candidate DTO
25
+   */
22 26
   public RouteCandidateDTO toDTO(final Itinerary itinerary) {
23 27
     final List<LegDTO> legDTOs = new ArrayList<LegDTO>(itinerary.legs().size());
24 28
     for (Leg leg : itinerary.legs()) {
@@ -27,6 +31,10 @@ public class ItineraryCandidateDTOAssembler {
27 31
     return new RouteCandidateDTO(legDTOs);
28 32
   }
29 33
 
34
+  /**
35
+   * @param leg leg
36
+   * @return A leg DTO
37
+   */
30 38
   protected LegDTO toLegDTO(final Leg leg) {
31 39
     final VoyageNumber voyageNumber = leg.voyage().voyageNumber();
32 40
     final UnLocode from = leg.loadLocation().unLocode();
@@ -34,7 +42,15 @@ public class ItineraryCandidateDTOAssembler {
34 42
     return new LegDTO(voyageNumber.idString(), from.idString(), to.idString(), leg.loadTime(), leg.unloadTime());
35 43
   }
36 44
 
37
-  public Itinerary fromDTO(RouteCandidateDTO routeCandidateDTO, VoyageRepository voyageRepository, LocationRepository locationRepository) {
45
+  /**
46
+   * @param routeCandidateDTO route candidate DTO
47
+   * @param voyageRepository voyage repository
48
+   * @param locationRepository location repository
49
+   * @return An itinerary
50
+   */
51
+  public Itinerary fromDTO(final RouteCandidateDTO routeCandidateDTO,
52
+                           final VoyageRepository voyageRepository,
53
+                           final LocationRepository locationRepository) {
38 54
     final List<Leg> legs = new ArrayList<Leg>(routeCandidateDTO.getLegs().size());
39 55
     for (LegDTO legDTO : routeCandidateDTO.getLegs()) {
40 56
       final VoyageNumber voyageNumber = new VoyageNumber(legDTO.getVoyageNumber());