Skip to content

Commit 871dba4

Browse files
fixed #271
1 parent f079d75 commit 871dba4

File tree

9 files changed

+81
-30
lines changed

9 files changed

+81
-30
lines changed

src/main/java/org/woehlke/twitterwall/backend/mq/mentions/endpoint/serviceactivator/impl/MentionFinisherImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ public Message<MentionResultList> finish(Message<List<MentionMessage>> incomingM
3636
List<MentionMessage> mentionMessageList = incomingMessageList.getPayload();
3737
for(MentionMessage msg :mentionMessageList){
3838
taskId = msg.getTaskMessage().getTaskId();
39-
mentionIds.add(msg.getMentionId());
39+
if(!msg.isIgnoreNextSteps()){
40+
mentionIds.add(msg.getMentionId());
41+
}
4042
}
4143
MentionResultList userResultList = new MentionResultList(taskId,mentionIds);
4244
Message<MentionResultList> mqMessageOut = MessageBuilder.withPayload(userResultList)

src/main/java/org/woehlke/twitterwall/backend/mq/mentions/endpoint/serviceactivator/impl/UpdateMentionWithUserImpl.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,8 @@ public class UpdateMentionWithUserImpl implements UpdateMentionWithUser {
1919
@Override
2020
public Message<MentionMessage> updateMentionWithUser(Message<MentionMessage> incomingMessage) {
2121
MentionMessage receivedMessage = incomingMessage.getPayload();
22-
if(receivedMessage.getTwitterProfile()==null) {
23-
return MessageBuilder.withPayload(receivedMessage)
24-
.copyHeaders(incomingMessage.getHeaders())
25-
.setHeader("persisted",Boolean.TRUE)
26-
.build();
22+
if(receivedMessage.isIgnoreNextSteps()) {
23+
return mentionMessageBuilder.buildMentionMessage(incomingMessage);
2724
} else {
2825
long taskId = receivedMessage.getTaskMessage().getTaskId();
2926
Task task = taskService.findById(taskId);

src/main/java/org/woehlke/twitterwall/backend/mq/mentions/endpoint/serviceactivator/impl/UserforMentionPersistorImpl.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,8 @@ public class UserforMentionPersistorImpl implements UserforMentionPersistor {
1818
@Override
1919
public Message<MentionMessage> persistUserforMention(Message<MentionMessage> incomingMessage) {
2020
MentionMessage receivedMessage = incomingMessage.getPayload();
21-
if(receivedMessage.getTwitterProfile()==null) {
22-
return MessageBuilder.withPayload(receivedMessage)
23-
.copyHeaders(incomingMessage.getHeaders())
24-
.setHeader("persisted",Boolean.TRUE)
25-
.build();
21+
if(receivedMessage.isIgnoreNextSteps()) {
22+
return mentionMessageBuilder.buildMentionMessage(incomingMessage);
2623
} else {
2724
long taskId = receivedMessage.getTaskMessage().getTaskId();
2825
Task task = taskService.findById(taskId);

src/main/java/org/woehlke/twitterwall/backend/mq/mentions/endpoint/serviceactivator/impl/UserforMentionTransformatorImpl.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,16 @@ public class UserforMentionTransformatorImpl implements UserforMentionTransforma
1717
@Override
1818
public Message<MentionMessage> transformUserforMention(Message<MentionMessage> incomingMessage) {
1919
MentionMessage receivedMessage = incomingMessage.getPayload();
20-
long id = receivedMessage.getTaskMessage().getTaskId();
21-
Task task = taskService.findById(id);
22-
User user = userTransformService.transform(receivedMessage.getTwitterProfile(),task);
23-
Message<MentionMessage> mqMessageOut = mentionMessageBuilder.buildMentionMessage(incomingMessage,user);
24-
return mqMessageOut;
20+
if(receivedMessage.isIgnoreNextSteps()){
21+
Message<MentionMessage> mqMessageOut = mentionMessageBuilder.buildMentionMessage(incomingMessage);
22+
return mqMessageOut;
23+
} else {
24+
long id = receivedMessage.getTaskMessage().getTaskId();
25+
Task task = taskService.findById(id);
26+
User user = userTransformService.transform(receivedMessage.getTwitterProfile(),task);
27+
Message<MentionMessage> mqMessageOut = mentionMessageBuilder.buildMentionMessage(incomingMessage,user);
28+
return mqMessageOut;
29+
}
2530
}
2631

2732
private final UserTransformService userTransformService;

src/main/java/org/woehlke/twitterwall/backend/mq/mentions/msg/MentionMessage.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,20 @@ public class MentionMessage implements Serializable {
1818
private final long idOfUser;
1919
private final long mentionId;
2020

21+
private final boolean ignoreNextSteps;
22+
23+
24+
public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName, boolean ignoreNextSteps) {
25+
this.taskMessage = taskMessage;
26+
this.screenName = screenName;
27+
this.mentionId = mentionId;
28+
this.twitterProfile = null;
29+
this.user = null;
30+
this.idTwitterOfUser = Mention.HAS_NO_USER;
31+
this.idOfUser = Mention.HAS_NO_USER;
32+
this.ignoreNextSteps = ignoreNextSteps;
33+
}
34+
2135
public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName) {
2236
this.taskMessage = taskMessage;
2337
this.screenName = screenName;
@@ -26,6 +40,7 @@ public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName
2640
this.user = null;
2741
this.idTwitterOfUser = Mention.HAS_NO_USER;
2842
this.idOfUser = Mention.HAS_NO_USER;
43+
this.ignoreNextSteps = false;
2944
}
3045

3146
public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName, TwitterProfile userFromTwitter) {
@@ -36,6 +51,7 @@ public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName
3651
this.user = null;
3752
this.idTwitterOfUser = Mention.HAS_NO_USER;
3853
this.idOfUser = Mention.HAS_NO_USER;
54+
this.ignoreNextSteps = false;
3955
}
4056

4157
public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName, TwitterProfile twitterProfile, User user) {
@@ -46,6 +62,7 @@ public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName
4662
this.user = user;
4763
this.idTwitterOfUser = Mention.HAS_NO_USER;
4864
this.idOfUser = Mention.HAS_NO_USER;
65+
this.ignoreNextSteps = false;
4966
}
5067

5168
public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName, TwitterProfile twitterProfile, User user, long idOfUser, long idTwitterOfUser) {
@@ -56,6 +73,7 @@ public MentionMessage(TaskMessage taskMessage, long mentionId, String screenName
5673
this.user = user;
5774
this.idTwitterOfUser = idTwitterOfUser;
5875
this.idOfUser = idOfUser;
76+
this.ignoreNextSteps = false;
5977
}
6078

6179
public TaskMessage getTaskMessage() {
@@ -86,6 +104,10 @@ public User getUser() {
86104
return user;
87105
}
88106

107+
public boolean isIgnoreNextSteps() {
108+
return ignoreNextSteps;
109+
}
110+
89111
@Override
90112
public boolean equals(Object o) {
91113
if (this == o) return true;
@@ -96,6 +118,7 @@ public boolean equals(Object o) {
96118
if (idTwitterOfUser != that.idTwitterOfUser) return false;
97119
if (idOfUser != that.idOfUser) return false;
98120
if (mentionId != that.mentionId) return false;
121+
if (ignoreNextSteps != that.ignoreNextSteps) return false;
99122
if (taskMessage != null ? !taskMessage.equals(that.taskMessage) : that.taskMessage != null) return false;
100123
if (screenName != null ? !screenName.equals(that.screenName) : that.screenName != null) return false;
101124
if (twitterProfile != null ? !twitterProfile.equals(that.twitterProfile) : that.twitterProfile != null)
@@ -112,6 +135,7 @@ public int hashCode() {
112135
result = 31 * result + (int) (idTwitterOfUser ^ (idTwitterOfUser >>> 32));
113136
result = 31 * result + (int) (idOfUser ^ (idOfUser >>> 32));
114137
result = 31 * result + (int) (mentionId ^ (mentionId >>> 32));
138+
result = 31 * result + (ignoreNextSteps ? 1 : 0);
115139
return result;
116140
}
117141

@@ -125,6 +149,7 @@ public String toString() {
125149
", idTwitterOfUser=" + idTwitterOfUser +
126150
", idOfUser=" + idOfUser +
127151
", mentionId=" + mentionId +
152+
", ignoreNextSteps=" + ignoreNextSteps +
128153
'}';
129154
}
130155
}

src/main/java/org/woehlke/twitterwall/backend/mq/mentions/msg/MentionMessageBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,6 @@ public interface MentionMessageBuilder {
1616

1717
Message<MentionMessage> buildMentionMessage(Message<MentionMessage> incomingMessage, Mention mention);
1818

19+
Message<MentionMessage> buildMentionMessage(Message<MentionMessage> incomingMessage);
20+
1921
}

src/main/java/org/woehlke/twitterwall/backend/mq/mentions/msg/impl/MentionMessageBuilderImpl.java

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,34 @@ public Message<MentionMessage> buildMentionMessageForTask(Message<TaskMessage> i
3030

3131
@Override
3232
public Message<MentionMessage> buildMentionMessage(Message<MentionMessage> incomingMessage, TwitterProfile userFromTwitter) {
33-
MentionMessage outputPayload = new MentionMessage(
34-
incomingMessage.getPayload().getTaskMessage(),
35-
incomingMessage.getPayload().getMentionId(),
36-
incomingMessage.getPayload().getScreenName(),
37-
userFromTwitter
38-
);
39-
Message<MentionMessage> mqMessageOut =
40-
MessageBuilder.withPayload(outputPayload)
41-
.copyHeaders(incomingMessage.getHeaders())
42-
.setHeader("twitter_profile_id", userFromTwitter.getId())
43-
.build();
44-
return mqMessageOut;
33+
if(userFromTwitter == null){
34+
boolean ignoreNextSteps = true;
35+
MentionMessage outputPayload = new MentionMessage(
36+
incomingMessage.getPayload().getTaskMessage(),
37+
incomingMessage.getPayload().getMentionId(),
38+
incomingMessage.getPayload().getScreenName(),
39+
ignoreNextSteps
40+
);
41+
Message<MentionMessage> mqMessageOut =
42+
MessageBuilder.withPayload(outputPayload)
43+
.copyHeaders(incomingMessage.getHeaders())
44+
.setHeader("twitter_profile_id", userFromTwitter.getId())
45+
.build();
46+
return mqMessageOut;
47+
} else {
48+
MentionMessage outputPayload = new MentionMessage(
49+
incomingMessage.getPayload().getTaskMessage(),
50+
incomingMessage.getPayload().getMentionId(),
51+
incomingMessage.getPayload().getScreenName(),
52+
userFromTwitter
53+
);
54+
Message<MentionMessage> mqMessageOut =
55+
MessageBuilder.withPayload(outputPayload)
56+
.copyHeaders(incomingMessage.getHeaders())
57+
.setHeader("twitter_profile_id", userFromTwitter.getId())
58+
.build();
59+
return mqMessageOut;
60+
}
4561
}
4662

4763
@Override
@@ -82,4 +98,13 @@ public Message<MentionMessage> buildMentionMessage(Message<MentionMessage> incom
8298
return mqMessageOut;
8399
}
84100

101+
@Override
102+
public Message<MentionMessage> buildMentionMessage(Message<MentionMessage> incomingMessage) {
103+
Message<MentionMessage> mqMessageOut =
104+
MessageBuilder.withPayload(incomingMessage.getPayload())
105+
.copyHeaders(incomingMessage.getHeaders())
106+
.build();
107+
return mqMessageOut;
108+
}
109+
85110
}

src/main/resources/integration.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -835,8 +835,6 @@
835835
</int:chain>
836836

837837

838-
839-
840838
<int:chain id="chain.async.FetchTweetsFromSearch" input-channel="channel.async.FetchTweetsFromSearch">
841839
<int:splitter
842840
id="splitter.async.FetchTweetsFromSearch"
22 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)