Skip to content
This repository was archived by the owner on Jul 13, 2022. It is now read-only.

Commit 0d4086f

Browse files
committed
Updates to business chapter code
1 parent e0525d0 commit 0d4086f

16 files changed

+86
-67
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package siia.business;
2+
3+
/**
4+
* @author Marius Bogoevici
5+
*/
6+
public class AuditService {
7+
public void audit(Object payload) {
8+
9+
}
10+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package siia.business;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.integration.Message;
5+
import org.springframework.integration.MessageChannel;
6+
import org.springframework.integration.channel.interceptor.ChannelInterceptorAdapter;
7+
8+
public class ChannelAuditor extends ChannelInterceptorAdapter {
9+
10+
@Autowired
11+
private AuditService auditService;
12+
13+
public Message<?> preSend(Message<?> message,
14+
MessageChannel channel) {
15+
this.auditService.audit(message.getPayload());
16+
return message;
17+
}
18+
}

siia-examples-parent/business/src/main/java/siia/business/EmailHeaderEnricher.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@
88

99
import java.util.Map;
1010

11-
/**
12-
* @author Marius Bogoevici
13-
*/
1411
@MessageEndpoint
1512
public class EmailHeaderEnricher {
1613

17-
public Message<Passenger> populateEmailHeader(Passenger passenger, @Headers Map<String, Object> headers) {
14+
public Message<Passenger> populateEmailHeader(Passenger passenger,
15+
@Headers Map<String, Object> headers) {
1816

19-
MessageBuilder<Passenger> responseBuilder = MessageBuilder.withPayload(passenger).copyHeaders(headers);
17+
MessageBuilder<Passenger> responseBuilder =
18+
MessageBuilder.withPayload(passenger).copyHeaders(headers);
2019
Profile profile = passenger.getProfile();
2120
if (profile != null) {
2221
String emailAddress = profile.getEmailAddress();

siia-examples-parent/business/src/main/java/siia/business/Flight.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import java.util.Date;
44
import java.util.Map;
55

6-
/**
7-
* @author Marius Bogoevici
8-
*/
96
public class Flight {
107
private String number;
118
private Date scheduledDeparture;

siia-examples-parent/business/src/main/java/siia/business/FlightEventTransformer.java

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,28 @@
66

77
import java.util.Calendar;
88

9-
/**
10-
* @author Marius Bogoevici
11-
*/
129
@MessageEndpoint
1310
public class FlightEventTransformer {
14-
private final FlightScheduler flightScheduler;
11+
private final FlightScheduler flightScheduler;
1512

16-
@Autowired
17-
public FlightEventTransformer(FlightScheduler flightScheduler) {
18-
Assert.notNull(flightScheduler, "flightScheduler must not be null");
19-
this.flightScheduler = flightScheduler;
20-
}
13+
@Autowired
14+
public FlightEventTransformer(FlightScheduler flightScheduler) {
15+
Assert.notNull(flightScheduler,
16+
"flightScheduler must not be null");
17+
this.flightScheduler = flightScheduler;
18+
}
2119

22-
public FlightDelayEvent convertToDelayEvent(String flightNumberAndDelay) {
23-
String[] splits = flightNumberAndDelay.split("[+]");
24-
Flight flight =
25-
this.flightScheduler.nextFlightForNumber(splits[0]);
26-
int hours = Integer.parseInt(splits[1].substring(0, 2));
27-
int minutes = Integer.parseInt(splits[1].substring(2));
28-
Calendar cal = Calendar.getInstance();
29-
cal.setTime(flight.getScheduledDeparture());
30-
cal.add(Calendar.HOUR, hours);
31-
cal.add(Calendar.MINUTE, minutes);
32-
return new FlightDelayEvent(flight, cal.getTime());
33-
}
20+
public FlightDelayEvent convertToDelayEvent(
21+
String flightNumberAndDelay) {
22+
String[] splits = flightNumberAndDelay.split("[+]");
23+
Flight flight =
24+
this.flightScheduler.nextFlightForNumber(splits[0]);
25+
int hours = Integer.parseInt(splits[1].substring(0, 2));
26+
int minutes = Integer.parseInt(splits[1].substring(2));
27+
Calendar cal = Calendar.getInstance();
28+
cal.setTime(flight.getScheduledDeparture());
29+
cal.add(Calendar.HOUR, hours);
30+
cal.add(Calendar.MINUTE, minutes);
31+
return new FlightDelayEvent(flight, cal.getTime());
32+
}
3433
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package siia.business;
22

33
public interface FlightStatusService {
4-
FlightStatus updateStatus(FlightDelayEvent flightDelayEvent);
4+
void updateStatus(FlightDelayEvent flightDelayEvent);
55
}
66

siia-examples-parent/business/src/main/java/siia/business/PassengerProfileEnricher.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.integration.annotation.MessageEndpoint;
55

6-
/**
7-
* @author Marius Bogoevici
8-
*/
96
@MessageEndpoint
107
public class PassengerProfileEnricher {
118

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
package siia.business;
22

3+
4+
import org.springframework.integration.annotation.Payload;
35
import org.springframework.integration.annotation.Publisher;
46

57
/**
68
* @author Marius Bogoevici
79
*/
810
public class SimpleFlightStatusService implements FlightStatusService {
11+
912
@Override
1013
@Publisher(channel = "statisticsChannel")
11-
public FlightStatus updateStatus(FlightDelayEvent flightDelayEvent) {
12-
return new FlightStatus();
14+
public void updateStatus(@Payload FlightDelayEvent
15+
flightDelayEvent) {
16+
// update status
1317
}
1418
}

siia-examples-parent/business/src/main/resources/chain.xml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,24 @@
33
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
44
xmlns:mail="http://www.springframework.org/schema/integration/mail"
55
xmlns="http://www.springframework.org/schema/integration"
6-
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
7-
http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/mail/spring-integration.xsd
8-
http://www.springframework.org/schema/integration/mail http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd">
6+
xsi:schemaLocation="http://www.springframework.org/schema/beans
7+
http://www.springframework.org/schema/beans/spring-beans.xsd
8+
http://www.springframework.org/schema/integration
9+
http://www.springframework.org/schema/integration/mail/spring-integration.xsd
10+
http://www.springframework.org/schema/integration/mail
11+
http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd">
912

1013
<chain input-channel="passengers">
11-
<transformer ref="frequentFlyerService" method="configureProfile"/>
14+
<transformer ref="frequentFlyerService"
15+
method="configureProfile"/>
1216
<header-enricher>
13-
<header name="#{MailHeaders.TO}" value="#{payload.emailAddress}"/>
17+
<header name="#{MailHeaders.TO}"
18+
value="#{payload.emailAddress}"/>
1419
</header-enricher>
1520
<mail:outbound-channel-adapter mail-sender="mailSender"/>
1621
</chain>
1722

18-
<beans:bean class="com.manning.siia.business.StubFrequentFlyerService"/>
23+
<beans:bean class="siia.business.StubFrequentFlyerService"/>
1924

2025

2126
</beans:beans>

siia-examples-parent/business/src/main/resources/flightStatus.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@
66
http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd">
77

88
<service-activator input-channel="flightDelays" ref="flightStatusService" method="updateStatus"/>
9-
<beans:bean id="flightStatusService" class="com.manning.siia.business.SimpleFlightStatusService"/>
9+
<beans:bean id="flightStatusService" class="siia.business
10+
.SimpleFlightStatusService"/>
1011
</beans:beans>

0 commit comments

Comments
 (0)