Просмотр исходного кода

Moved tracking id generator to domain service package.

Moved EventSequenceNumber to handling aggregate.
peter_backlund 17 лет назад
Родитель
Сommit
a68345516b
12 измененных файлов: 10 добавлений и 69 удалений
  1. 1
    1
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/application/event/CargoUpdater.java
  2. 1
    0
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/cargo/CargoFactory.java
  3. 0
    10
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/cargo/TrackingIdGenerator.java
  4. 1
    1
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/handling/HandlingEvent.java
  5. 1
    1
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/handling/HandlingEventRepository.java
  6. 0
    51
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/shared/EventSequenceNumber.java
  7. 1
    1
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/hibernate/DatabaseTrackingIdGenerator.java
  8. 1
    1
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/hibernate/HandlingEventRepositoryHibernate.java
  9. 1
    1
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/inmemory/HandlingEventRepositoryInMem.java
  10. 1
    1
      dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/inmemory/TrackingIdGeneratorInMem.java
  11. 1
    0
      dddsample/tracking/core/src/test/java/se/citerus/dddsample/tracking/core/application/booking/BookingServiceTest.java
  12. 1
    1
      dddsample/tracking/core/src/test/java/se/citerus/dddsample/tracking/core/infrastructure/TrackingIdGeneratorTest.java

+ 1
- 1
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/application/event/CargoUpdater.java Просмотреть файл

@@ -7,7 +7,7 @@ import se.citerus.dddsample.tracking.core.domain.model.cargo.Cargo;
7 7
 import se.citerus.dddsample.tracking.core.domain.model.cargo.CargoRepository;
8 8
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingEvent;
9 9
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingEventRepository;
10
-import se.citerus.dddsample.tracking.core.domain.model.shared.EventSequenceNumber;
10
+import se.citerus.dddsample.tracking.core.domain.model.handling.EventSequenceNumber;
11 11
 import se.citerus.dddsample.tracking.core.domain.model.shared.HandlingActivity;
12 12
 
13 13
 public class CargoUpdater {

+ 1
- 0
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/cargo/CargoFactory.java Просмотреть файл

@@ -9,6 +9,7 @@ package se.citerus.dddsample.tracking.core.domain.model.cargo;
9 9
 import se.citerus.dddsample.tracking.core.domain.model.location.Location;
10 10
 import se.citerus.dddsample.tracking.core.domain.model.location.LocationRepository;
11 11
 import se.citerus.dddsample.tracking.core.domain.model.location.UnLocode;
12
+import se.citerus.dddsample.tracking.core.domain.service.TrackingIdGenerator;
12 13
 
13 14
 import java.util.Date;
14 15
 

+ 0
- 10
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/cargo/TrackingIdGenerator.java Просмотреть файл

@@ -1,10 +0,0 @@
1
-package se.citerus.dddsample.tracking.core.domain.model.cargo;
2
-
3
-/**
4
- * Generates tracking ids for cargos. This is a domain service.
5
- */
6
-public interface TrackingIdGenerator {
7
-
8
-  TrackingId nextTrackingId();
9
-
10
-}

+ 1
- 1
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/handling/HandlingEvent.java Просмотреть файл

@@ -5,7 +5,7 @@ import org.apache.commons.lang.builder.EqualsBuilder;
5 5
 import org.apache.commons.lang.builder.HashCodeBuilder;
6 6
 import se.citerus.dddsample.tracking.core.domain.model.cargo.Cargo;
7 7
 import se.citerus.dddsample.tracking.core.domain.model.location.Location;
8
-import se.citerus.dddsample.tracking.core.domain.model.shared.EventSequenceNumber;
8
+import se.citerus.dddsample.tracking.core.domain.model.handling.EventSequenceNumber;
9 9
 import se.citerus.dddsample.tracking.core.domain.model.shared.HandlingActivity;
10 10
 import se.citerus.dddsample.tracking.core.domain.model.voyage.Voyage;
11 11
 import se.citerus.dddsample.tracking.core.domain.shared.DomainEvent;

+ 1
- 1
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/handling/HandlingEventRepository.java Просмотреть файл

@@ -1,7 +1,7 @@
1 1
 package se.citerus.dddsample.tracking.core.domain.model.handling;
2 2
 
3 3
 import se.citerus.dddsample.tracking.core.domain.model.cargo.Cargo;
4
-import se.citerus.dddsample.tracking.core.domain.model.shared.EventSequenceNumber;
4
+import se.citerus.dddsample.tracking.core.domain.model.handling.EventSequenceNumber;
5 5
 
6 6
 /**
7 7
  * Handling event repository.

+ 0
- 51
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/domain/model/shared/EventSequenceNumber.java Просмотреть файл

@@ -1,51 +0,0 @@
1
-package se.citerus.dddsample.tracking.core.domain.model.shared;
2
-
3
-import se.citerus.dddsample.tracking.core.domain.shared.ValueObject;
4
-
5
-import java.util.concurrent.atomic.AtomicLong;
6
-
7
-public class EventSequenceNumber implements ValueObject<EventSequenceNumber> {
8
-
9
-  private long value;
10
-  private static final AtomicLong SEQUENCE = new AtomicLong(System.currentTimeMillis());
11
-
12
-  private EventSequenceNumber(final long value) {
13
-    this.value = value;
14
-  }
15
-
16
-  public static EventSequenceNumber next() {
17
-    return new EventSequenceNumber(SEQUENCE.getAndIncrement());
18
-  }
19
-
20
-  public long longValue() {
21
-    return value;
22
-  }
23
-
24
-  @Override
25
-  public boolean sameValueAs(final EventSequenceNumber other) {
26
-    return false;
27
-  }
28
-
29
-  @Override
30
-  public boolean equals(Object o) {
31
-    if (this == o) return true;
32
-    if (o == null || getClass() != o.getClass()) return false;
33
-
34
-    return sameValueAs((EventSequenceNumber) o);
35
-  }
36
-
37
-  @Override
38
-  public int hashCode() {
39
-    return Long.valueOf(value).hashCode();
40
-  }
41
-
42
-  @Override
43
-  public String toString() {
44
-    return String.valueOf(value);
45
-  }
46
-
47
-  EventSequenceNumber() {
48
-    // Needed by Hibernate
49
-  }
50
-
51
-}

+ 1
- 1
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/hibernate/DatabaseTrackingIdGenerator.java Просмотреть файл

@@ -8,7 +8,7 @@ package se.citerus.dddsample.tracking.core.infrastructure.persistence.hibernate;
8 8
 
9 9
 import org.hibernate.SessionFactory;
10 10
 import se.citerus.dddsample.tracking.core.domain.model.cargo.TrackingId;
11
-import se.citerus.dddsample.tracking.core.domain.model.cargo.TrackingIdGenerator;
11
+import se.citerus.dddsample.tracking.core.domain.service.TrackingIdGenerator;
12 12
 
13 13
 public class DatabaseTrackingIdGenerator implements TrackingIdGenerator {
14 14
 

+ 1
- 1
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/hibernate/HandlingEventRepositoryHibernate.java Просмотреть файл

@@ -5,7 +5,7 @@ import se.citerus.dddsample.tracking.core.domain.model.cargo.Cargo;
5 5
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingEvent;
6 6
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingEventRepository;
7 7
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingHistory;
8
-import se.citerus.dddsample.tracking.core.domain.model.shared.EventSequenceNumber;
8
+import se.citerus.dddsample.tracking.core.domain.model.handling.EventSequenceNumber;
9 9
 
10 10
 import java.util.List;
11 11
 

+ 1
- 1
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/inmemory/HandlingEventRepositoryInMem.java Просмотреть файл

@@ -5,7 +5,7 @@ import se.citerus.dddsample.tracking.core.domain.model.cargo.TrackingId;
5 5
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingEvent;
6 6
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingEventRepository;
7 7
 import se.citerus.dddsample.tracking.core.domain.model.handling.HandlingHistory;
8
-import se.citerus.dddsample.tracking.core.domain.model.shared.EventSequenceNumber;
8
+import se.citerus.dddsample.tracking.core.domain.model.handling.EventSequenceNumber;
9 9
 
10 10
 import java.util.*;
11 11
 

+ 1
- 1
dddsample/tracking/core/src/main/java/se/citerus/dddsample/tracking/core/infrastructure/persistence/inmemory/TrackingIdGeneratorInMem.java Просмотреть файл

@@ -7,7 +7,7 @@
7 7
 package se.citerus.dddsample.tracking.core.infrastructure.persistence.inmemory;
8 8
 
9 9
 import se.citerus.dddsample.tracking.core.domain.model.cargo.TrackingId;
10
-import se.citerus.dddsample.tracking.core.domain.model.cargo.TrackingIdGenerator;
10
+import se.citerus.dddsample.tracking.core.domain.service.TrackingIdGenerator;
11 11
 
12 12
 import java.util.concurrent.atomic.AtomicLong;
13 13
 

+ 1
- 0
dddsample/tracking/core/src/test/java/se/citerus/dddsample/tracking/core/application/booking/BookingServiceTest.java Просмотреть файл

@@ -8,6 +8,7 @@ import static se.citerus.dddsample.tracking.core.domain.model.location.SampleLoc
8 8
 import static se.citerus.dddsample.tracking.core.domain.model.location.SampleLocations.STOCKHOLM;
9 9
 import se.citerus.dddsample.tracking.core.domain.model.location.UnLocode;
10 10
 import se.citerus.dddsample.tracking.core.domain.service.RoutingService;
11
+import se.citerus.dddsample.tracking.core.domain.service.TrackingIdGenerator;
11 12
 
12 13
 import java.util.Date;
13 14
 

+ 1
- 1
dddsample/tracking/core/src/test/java/se/citerus/dddsample/tracking/core/infrastructure/TrackingIdGeneratorTest.java Просмотреть файл

@@ -3,7 +3,7 @@ package se.citerus.dddsample.tracking.core.infrastructure;
3 3
 import junit.framework.Assert;
4 4
 import junit.framework.TestCase;
5 5
 import se.citerus.dddsample.tracking.core.domain.model.cargo.TrackingId;
6
-import se.citerus.dddsample.tracking.core.domain.model.cargo.TrackingIdGenerator;
6
+import se.citerus.dddsample.tracking.core.domain.service.TrackingIdGenerator;
7 7
 import se.citerus.dddsample.tracking.core.infrastructure.persistence.inmemory.TrackingIdGeneratorInMem;
8 8
 
9 9
 public class TrackingIdGeneratorTest extends TestCase {