Selaa lähdekoodia

Introduced infrastructure.messagning.jms package and moved all consumers and the implementation of SystemEvents there.

peter_backlund 18 vuotta sitten
vanhempi
commit
f1ee998456

dddsample/src/main/java/se/citerus/dddsample/application/messaging/HandlingEventRegistrationAttempt.java → dddsample/src/main/java/se/citerus/dddsample/application/HandlingEventRegistrationAttempt.java Näytä tiedosto

@@ -1,4 +1,4 @@
1
-package se.citerus.dddsample.application.messaging;
1
+package se.citerus.dddsample.application;
2 2
 
3 3
 import se.citerus.dddsample.domain.model.cargo.TrackingId;
4 4
 import se.citerus.dddsample.domain.model.carrier.VoyageNumber;

+ 0
- 3
dddsample/src/main/java/se/citerus/dddsample/application/HandlingEventService.java Näytä tiedosto

@@ -1,8 +1,5 @@
1 1
 package se.citerus.dddsample.application;
2 2
 
3
-import se.citerus.dddsample.application.messaging.HandlingEventRegistrationAttempt;
4
-
5
-
6 3
 /**
7 4
  * Handling event service.
8 5
  */

+ 0
- 1
dddsample/src/main/java/se/citerus/dddsample/application/SystemEvents.java Näytä tiedosto

@@ -1,6 +1,5 @@
1 1
 package se.citerus.dddsample.application;
2 2
 
3
-import se.citerus.dddsample.application.messaging.HandlingEventRegistrationAttempt;
4 3
 import se.citerus.dddsample.domain.model.cargo.Cargo;
5 4
 import se.citerus.dddsample.domain.model.handling.CannotCreateHandlingEventException;
6 5
 import se.citerus.dddsample.domain.model.handling.HandlingEvent;

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/application/impl/HandlingEventServiceImpl.java Näytä tiedosto

@@ -1,9 +1,9 @@
1 1
 package se.citerus.dddsample.application.impl;
2 2
 
3 3
 import org.springframework.transaction.annotation.Transactional;
4
+import se.citerus.dddsample.application.HandlingEventRegistrationAttempt;
4 5
 import se.citerus.dddsample.application.HandlingEventService;
5 6
 import se.citerus.dddsample.application.SystemEvents;
6
-import se.citerus.dddsample.application.messaging.HandlingEventRegistrationAttempt;
7 7
 import se.citerus.dddsample.domain.model.handling.CannotCreateHandlingEventException;
8 8
 import se.citerus.dddsample.domain.model.handling.HandlingEvent;
9 9
 import se.citerus.dddsample.domain.model.handling.HandlingEventFactory;

+ 0
- 75
dddsample/src/main/java/se/citerus/dddsample/application/messaging/JmsDomainEventNotifierImpl.java Näytä tiedosto

@@ -1,75 +0,0 @@
1
-package se.citerus.dddsample.application.messaging;
2
-
3
-import org.springframework.jms.core.JmsOperations;
4
-import org.springframework.jms.core.MessageCreator;
5
-import se.citerus.dddsample.domain.model.cargo.Cargo;
6
-import se.citerus.dddsample.domain.model.handling.CannotCreateHandlingEventException;
7
-import se.citerus.dddsample.domain.model.handling.HandlingEvent;
8
-import se.citerus.dddsample.domain.service.DomainEventNotifier;
9
-
10
-import javax.jms.Destination;
11
-import javax.jms.JMSException;
12
-import javax.jms.Message;
13
-import javax.jms.Session;
14
-
15
-/**
16
- * JMS based implementation.
17
- */
18
-public final class JmsDomainEventNotifierImpl implements DomainEventNotifier {
19
-
20
-  private JmsOperations jmsOperations;
21
-  private Destination cargoHandledTopic;
22
-  private Destination misdirectedCargoTopic;
23
-  private Destination deliveredCargoTopic;
24
-
25
-  @Override
26
-  public void cargoWasHandled(final HandlingEvent event) {
27
-    final Cargo cargo = event.cargo();
28
-    jmsOperations.send(cargoHandledTopic, new MessageCreator() {
29
-      public Message createMessage(final Session session) throws JMSException {
30
-        return session.createTextMessage(cargo.trackingId().idString());
31
-      }
32
-    });
33
-  }
34
-
35
-  @Override
36
-  public void cargoWasMisdirected(final Cargo cargo) {
37
-    jmsOperations.send(misdirectedCargoTopic, new MessageCreator() {
38
-      public Message createMessage(Session session) throws JMSException {
39
-        return session.createTextMessage(cargo.trackingId().idString());
40
-      }
41
-    });
42
-  }
43
-
44
-  @Override
45
-  public void cargoHasArrived(final Cargo cargo) {
46
-    jmsOperations.send(deliveredCargoTopic, new MessageCreator() {
47
-      public Message createMessage(Session session) throws JMSException {
48
-        return session.createTextMessage(cargo.trackingId().idString());
49
-      }
50
-    });
51
-  }
52
-
53
-  @Override
54
-  public void rejectHandlingEventRegistrationAttempt(CannotCreateHandlingEventException e) {
55
-    // TODO send to dedicated queue
56
-    System.err.println("Rejected handling event registration attempt: " + e);
57
-  }
58
-
59
-  public void setJmsOperations(final JmsOperations jmsOperations) {
60
-    this.jmsOperations = jmsOperations;
61
-  }
62
-
63
-  public void setCargoHandledTopic(final Destination cargoHandledTopic) {
64
-    this.cargoHandledTopic = cargoHandledTopic;
65
-  }
66
-
67
-  public void setMisdirectedCargoTopic(Destination misdirectedCargoTopic) {
68
-    this.misdirectedCargoTopic = misdirectedCargoTopic;
69
-  }
70
-
71
-  public void setDeliveredCargoTopic(Destination deliveredCargoTopic) {
72
-    this.deliveredCargoTopic = deliveredCargoTopic;
73
-  }
74
-  
75
-}

+ 1
- 1
dddsample/src/main/java/se/citerus/dddsample/application/ws/HandlingEventServiceEndpointImpl.java Näytä tiedosto

@@ -5,7 +5,7 @@ import org.apache.commons.logging.Log;
5 5
 import org.apache.commons.logging.LogFactory;
6 6
 import org.springframework.jms.core.JmsOperations;
7 7
 import org.springframework.jms.core.MessageCreator;
8
-import se.citerus.dddsample.application.messaging.HandlingEventRegistrationAttempt;
8
+import se.citerus.dddsample.application.HandlingEventRegistrationAttempt;
9 9
 import se.citerus.dddsample.domain.model.cargo.TrackingId;
10 10
 import se.citerus.dddsample.domain.model.carrier.VoyageNumber;
11 11
 import se.citerus.dddsample.domain.model.handling.HandlingEvent;

dddsample/src/main/java/se/citerus/dddsample/application/messaging/CargoHandledConsumer.java → dddsample/src/main/java/se/citerus/dddsample/infrastructure/messaging/jms/CargoHandledConsumer.java Näytä tiedosto

@@ -1,4 +1,4 @@
1
-package se.citerus.dddsample.application.messaging;
1
+package se.citerus.dddsample.infrastructure.messaging.jms;
2 2
 
3 3
 import org.apache.commons.logging.Log;
4 4
 import org.apache.commons.logging.LogFactory;

dddsample/src/main/java/se/citerus/dddsample/application/messaging/HandlingEventRegistrationAttemptConsumer.java → dddsample/src/main/java/se/citerus/dddsample/infrastructure/messaging/jms/HandlingEventRegistrationAttemptConsumer.java Näytä tiedosto

@@ -1,7 +1,8 @@
1
-package se.citerus.dddsample.application.messaging;
1
+package se.citerus.dddsample.infrastructure.messaging.jms;
2 2
 
3 3
 import org.apache.commons.logging.Log;
4 4
 import org.apache.commons.logging.LogFactory;
5
+import se.citerus.dddsample.application.HandlingEventRegistrationAttempt;
5 6
 import se.citerus.dddsample.application.HandlingEventService;
6 7
 
7 8
 import javax.jms.Message;

dddsample/src/main/java/se/citerus/dddsample/application/messaging/JmsSystemEventsImpl.java → dddsample/src/main/java/se/citerus/dddsample/infrastructure/messaging/jms/JmsSystemEventsImpl.java Näytä tiedosto

@@ -1,7 +1,8 @@
1
-package se.citerus.dddsample.application.messaging;
1
+package se.citerus.dddsample.infrastructure.messaging.jms;
2 2
 
3 3
 import org.springframework.jms.core.JmsOperations;
4 4
 import org.springframework.jms.core.MessageCreator;
5
+import se.citerus.dddsample.application.HandlingEventRegistrationAttempt;
5 6
 import se.citerus.dddsample.application.SystemEvents;
6 7
 import se.citerus.dddsample.domain.model.cargo.Cargo;
7 8
 import se.citerus.dddsample.domain.model.handling.CannotCreateHandlingEventException;

dddsample/src/main/java/se/citerus/dddsample/application/messaging/package.html → dddsample/src/main/java/se/citerus/dddsample/infrastructure/messaging/jms/package.html Näytä tiedosto


+ 3
- 3
dddsample/src/main/resources/context-messaging-jms.xml Näytä tiedosto

@@ -31,7 +31,7 @@
31 31
     <property name="connectionFactory" ref="jmsConnectionFactory"/>
32 32
   </bean>
33 33
 
34
-  <bean id="systemEvents" class="se.citerus.dddsample.application.messaging.JmsSystemEventsImpl">
34
+  <bean id="systemEvents" class="se.citerus.dddsample.infrastructure.messaging.jms.JmsSystemEventsImpl">
35 35
     <property name="jmsOperations" ref="jmsOperations"/>
36 36
     <property name="cargoHandledTopic" ref="cargoHandledTopic"/>
37 37
     <property name="misdirectedCargoTopic" ref="misdirectedCargoTopic"/>
@@ -39,11 +39,11 @@
39 39
     <property name="rejectedRegistrationAttemptsQueue" ref="rejectedRegistrationAttemptsQueue"/>
40 40
   </bean>
41 41
 
42
-  <bean id="cargoHandledConsumer" class="se.citerus.dddsample.application.messaging.CargoHandledConsumer">
42
+  <bean id="cargoHandledConsumer" class="se.citerus.dddsample.infrastructure.messaging.jms.CargoHandledConsumer">
43 43
     <property name="trackingService" ref="trackingService"/>
44 44
   </bean>
45 45
 
46
-  <bean id="handlingEventRegistrationAttemptConsumer" class="se.citerus.dddsample.application.messaging.HandlingEventRegistrationAttemptConsumer">
46
+  <bean id="handlingEventRegistrationAttemptConsumer" class="se.citerus.dddsample.infrastructure.messaging.jms.HandlingEventRegistrationAttemptConsumer">
47 47
     <property name="handlingEventService" ref="handlingEventService"/>
48 48
   </bean>
49 49
   

+ 0
- 1
dddsample/src/test/java/se/citerus/dddsample/application/HandlingEventServiceTest.java Näytä tiedosto

@@ -3,7 +3,6 @@ package se.citerus.dddsample.application;
3 3
 import junit.framework.TestCase;
4 4
 import static org.easymock.EasyMock.*;
5 5
 import se.citerus.dddsample.application.impl.HandlingEventServiceImpl;
6
-import se.citerus.dddsample.application.messaging.HandlingEventRegistrationAttempt;
7 6
 import se.citerus.dddsample.domain.model.cargo.Cargo;
8 7
 import se.citerus.dddsample.domain.model.cargo.CargoRepository;
9 8
 import se.citerus.dddsample.domain.model.cargo.TrackingId;

+ 1
- 1
dddsample/src/test/java/se/citerus/dddsample/scenario/CargoHandlingScenarioTest.java Näytä tiedosto

@@ -1,12 +1,12 @@
1 1
 package se.citerus.dddsample.scenario;
2 2
 
3 3
 import junit.framework.TestCase;
4
+import se.citerus.dddsample.application.HandlingEventRegistrationAttempt;
4 5
 import se.citerus.dddsample.application.HandlingEventService;
5 6
 import se.citerus.dddsample.application.SystemEvents;
6 7
 import se.citerus.dddsample.application.TrackingService;
7 8
 import se.citerus.dddsample.application.impl.HandlingEventServiceImpl;
8 9
 import se.citerus.dddsample.application.impl.TrackingServiceImpl;
9
-import se.citerus.dddsample.application.messaging.HandlingEventRegistrationAttempt;
10 10
 import se.citerus.dddsample.domain.model.cargo.*;
11 11
 import static se.citerus.dddsample.domain.model.carrier.SampleVoyages.*;
12 12
 import se.citerus.dddsample.domain.model.carrier.Voyage;