Skip to content

Commit 83e3e1c

Browse files
fixed #270
1 parent 6acbded commit 83e3e1c

File tree

19 files changed

+380
-64
lines changed

19 files changed

+380
-64
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package org.woehlke.twitterwall.backend.mq.common;
22

33
import org.springframework.messaging.Message;
4+
import org.woehlke.twitterwall.backend.mq.tasks.TaskMessage;
45
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessage;
56

67
import java.util.List;
78

89
public interface UrlSplitter {
910

10-
List<Message<UrlMessage>> splitUrlMessage(Message<UrlMessage> incomingTaskMessage);
11+
List<Message<UrlMessage>> splitUrlMessage(Message<TaskMessage> incomingTaskMessage);
1112
}

src/main/java/org/woehlke/twitterwall/backend/mq/urls/endpoint/services/UrlFinisher.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
import org.springframework.messaging.Message;
44
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessage;
5+
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlResultList;
56

67
import java.util.List;
78

89
public interface UrlFinisher {
910

10-
Message<UrlMessage> finish(Message<List<UrlMessage>> incomingMessageList);
11+
Message<UrlResultList> finish(Message<List<UrlMessage>> incomingMessageList);
1112

1213
void finishAsnyc(Message<List<UrlMessage>> incomingMessageList);
1314
}

src/main/java/org/woehlke/twitterwall/backend/mq/urls/endpoint/services/UrlTransformator.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/main/java/org/woehlke/twitterwall/backend/mq/urls/endpoint/services/impl/UrFetcherImpl.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,40 @@
66
import org.woehlke.twitterwall.backend.mq.urls.endpoint.services.UrFetcher;
77
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessage;
88
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessageBuilder;
9+
import org.woehlke.twitterwall.backend.service.remote.TwitterUrlService;
10+
import org.woehlke.twitterwall.oodm.model.Task;
11+
import org.woehlke.twitterwall.oodm.model.Url;
12+
import org.woehlke.twitterwall.oodm.service.TaskService;
913

1014
@Component("mqUrFetcher")
1115
public class UrFetcherImpl implements UrFetcher {
1216

1317

1418
@Override
1519
public Message<UrlMessage> fetchUrl(Message<UrlMessage> incomingUserMessage) {
16-
return null;
20+
UrlMessage urlMessage =incomingUserMessage.getPayload();
21+
Task task = taskService.findById(urlMessage.getTaskMessage().getTaskId());
22+
String url = urlMessage.getUrlString();
23+
Url foundUrl = twitterUrlService.fetchTransientUrl(url,task);
24+
if((!foundUrl.isRawUrlsFromDescription()) && (foundUrl.isUrlAndExpandedTheSame())){
25+
return urlMessageBuilder.createUrlMessage(incomingUserMessage, foundUrl);
26+
} else {
27+
boolean ignoreNextSteps = true;
28+
return urlMessageBuilder.createUrlMessage(incomingUserMessage, ignoreNextSteps);
29+
}
1730
}
1831

32+
33+
private final TaskService taskService;
34+
1935
private final UrlMessageBuilder urlMessageBuilder;
2036

37+
private final TwitterUrlService twitterUrlService;
38+
2139
@Autowired
22-
public UrFetcherImpl(UrlMessageBuilder urlMessageBuilder) {
40+
public UrFetcherImpl(TaskService taskService, UrlMessageBuilder urlMessageBuilder, TwitterUrlService twitterUrlService) {
41+
this.taskService = taskService;
2342
this.urlMessageBuilder = urlMessageBuilder;
43+
this.twitterUrlService = twitterUrlService;
2444
}
2545
}
Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,68 @@
11
package org.woehlke.twitterwall.backend.mq.urls.endpoint.services.impl;
22

3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
35
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.integration.support.MessageBuilder;
47
import org.springframework.messaging.Message;
58
import org.springframework.stereotype.Component;
69
import org.woehlke.twitterwall.backend.mq.urls.endpoint.services.UrlFinisher;
710
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessage;
811
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessageBuilder;
12+
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlResultList;
13+
import org.woehlke.twitterwall.oodm.model.Task;
14+
import org.woehlke.twitterwall.oodm.model.parts.CountedEntities;
15+
import org.woehlke.twitterwall.oodm.service.CountedEntitiesService;
16+
import org.woehlke.twitterwall.oodm.service.TaskService;
917

18+
import java.util.ArrayList;
1019
import java.util.List;
1120

1221
@Component("mqUrlFinisher")
1322
public class UrlFinisherImpl implements UrlFinisher {
1423

1524

1625
@Override
17-
public Message<UrlMessage> finish(Message<List<UrlMessage>> incomingMessageList) {
18-
return null;
26+
public Message<UrlResultList> finish(Message<List<UrlMessage>> incomingMessageList) {
27+
List<Long> urlIdList = new ArrayList<>();
28+
long taskId = 0L;
29+
for(UrlMessage msg:incomingMessageList.getPayload()){
30+
urlIdList.add(msg.getUrlId());
31+
taskId = msg.getTaskMessage().getTaskId();
32+
}
33+
UrlResultList result = new UrlResultList(taskId,urlIdList);
34+
Message<UrlResultList> mqMessageOut = MessageBuilder.withPayload(result)
35+
.copyHeaders(incomingMessageList.getHeaders())
36+
.build();
37+
return mqMessageOut;
1938
}
2039

2140
@Override
2241
public void finishAsnyc(Message<List<UrlMessage>> incomingMessageList) {
23-
42+
CountedEntities countedEntities = countedEntitiesService.countAll();
43+
long taskId = 0L;
44+
for(UrlMessage msg:incomingMessageList.getPayload()){
45+
taskId = msg.getTaskMessage().getTaskId();
46+
break;
47+
}
48+
Task task = taskService.findById(taskId);
49+
String msgDone = "Sucessfully finished task "+task.getTaskType()+" via MQ by FIRE_AND_FORGET_SENDER";
50+
taskService.done(msgDone,task,countedEntities);
51+
log.info(msgDone);
2452
}
2553

2654
private final UrlMessageBuilder urlMessageBuilder;
2755

56+
private final TaskService taskService;
57+
58+
private final CountedEntitiesService countedEntitiesService;
59+
60+
private static final Logger log = LoggerFactory.getLogger(UrlFinisherImpl.class);
61+
2862
@Autowired
29-
public UrlFinisherImpl(UrlMessageBuilder urlMessageBuilder) {
63+
public UrlFinisherImpl(UrlMessageBuilder urlMessageBuilder, TaskService taskService, CountedEntitiesService countedEntitiesService) {
3064
this.urlMessageBuilder = urlMessageBuilder;
65+
this.taskService = taskService;
66+
this.countedEntitiesService = countedEntitiesService;
3167
}
3268
}

src/main/java/org/woehlke/twitterwall/backend/mq/urls/endpoint/services/impl/UrlPersistorImpl.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,41 @@
66
import org.woehlke.twitterwall.backend.mq.urls.endpoint.services.UrlPersistor;
77
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessage;
88
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessageBuilder;
9+
import org.woehlke.twitterwall.oodm.model.Task;
10+
import org.woehlke.twitterwall.oodm.model.Url;
11+
import org.woehlke.twitterwall.oodm.service.TaskService;
12+
import org.woehlke.twitterwall.oodm.service.UrlService;
913

1014
@Component("mqUrlPersistor")
1115
public class UrlPersistorImpl implements UrlPersistor {
1216

1317
@Override
1418
public Message<UrlMessage> persistUrl(Message<UrlMessage> incomingUserMessage) {
15-
return null;
19+
20+
UrlMessage in =incomingUserMessage.getPayload();
21+
Task task = taskService.findById(in.getTaskMessage().getTaskId());
22+
if(in.isIgnoreNextSteps()){
23+
return urlMessageBuilder.createUrlMessage(incomingUserMessage);
24+
} else {
25+
Url urlPers = urlService.findById(in.getUrlId());
26+
urlPers.setExpanded(in.getExpanded());
27+
urlPers.setDisplay(in.getDisplay());
28+
urlPers.setUpdatedBy(task);
29+
urlPers = urlService.update(urlPers,task);
30+
return urlMessageBuilder.createUrlMessage(incomingUserMessage);
31+
}
1632
}
1733

34+
private final UrlService urlService;
35+
36+
private final TaskService taskService;
37+
1838
private final UrlMessageBuilder urlMessageBuilder;
1939

2040
@Autowired
21-
public UrlPersistorImpl(UrlMessageBuilder urlMessageBuilder) {
41+
public UrlPersistorImpl(UrlService urlService, TaskService taskService, UrlMessageBuilder urlMessageBuilder) {
42+
this.urlService = urlService;
43+
this.taskService = taskService;
2244
this.urlMessageBuilder = urlMessageBuilder;
2345
}
2446

src/main/java/org/woehlke/twitterwall/backend/mq/urls/endpoint/services/impl/UrlTransformatorImpl.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/main/java/org/woehlke/twitterwall/backend/mq/urls/endpoint/splitter/impl/UpdateUrlsImpl.java

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,67 @@
33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.messaging.Message;
55
import org.springframework.stereotype.Component;
6+
import org.woehlke.twitterwall.backend.mq.tasks.TaskMessage;
67
import org.woehlke.twitterwall.backend.mq.urls.endpoint.splitter.UpdateUrls;
78
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessage;
89
import org.woehlke.twitterwall.backend.mq.urls.msg.UrlMessageBuilder;
10+
import org.woehlke.twitterwall.backend.mq.userlist.msg.UserListMessage;
11+
import org.woehlke.twitterwall.oodm.model.Task;
12+
import org.woehlke.twitterwall.oodm.model.Url;
13+
import org.woehlke.twitterwall.oodm.model.parts.CountedEntities;
14+
import org.woehlke.twitterwall.oodm.service.CountedEntitiesService;
15+
import org.woehlke.twitterwall.oodm.service.TaskService;
16+
import org.woehlke.twitterwall.oodm.service.UrlService;
917

18+
import java.util.ArrayList;
1019
import java.util.List;
1120

1221
@Component("mqUpdateUrls")
1322
public class UpdateUrlsImpl implements UpdateUrls {
1423

1524
@Override
16-
public List<Message<UrlMessage>> splitUrlMessage(Message<UrlMessage> incomingTaskMessage) {
25+
public List<Message<UrlMessage>> splitUrlMessage(Message<TaskMessage> incomingTaskMessage) {
26+
CountedEntities countedEntities = countedEntitiesService.countAll();
27+
List<Message<UrlMessage>> messageListOut = new ArrayList<>();
28+
TaskMessage taskMessage = incomingTaskMessage.getPayload();
29+
long id = taskMessage.getTaskId();
30+
Task task = taskService.findById(id);
31+
task = taskService.start(task,countedEntities);
32+
33+
List<Url> foundRawUrlsFromDescription = urlService.findRawUrlsFromDescription();
34+
for(Url url :foundRawUrlsFromDescription){
35+
long urlId = url.getId();
36+
String urlString = url.getUrl();
37+
Message<UrlMessage> msg = urlMessageBuilder.createUrlMessage(incomingTaskMessage,urlId,urlString);
38+
messageListOut.add(msg);
39+
}
40+
41+
List<Url> foundUrlAndExpandedTheSame = urlService.findUrlAndExpandedTheSame();
42+
for(Url url :foundUrlAndExpandedTheSame){
43+
long urlId = url.getId();
44+
String urlString = url.getUrl();
45+
Message<UrlMessage> msg = urlMessageBuilder.createUrlMessage(incomingTaskMessage,urlId,urlString);
46+
messageListOut.add(msg);
47+
}
48+
1749
return null;
1850
}
1951

2052

53+
54+
private final CountedEntitiesService countedEntitiesService;
55+
2156
private final UrlMessageBuilder urlMessageBuilder;
2257

58+
private final UrlService urlService;
59+
60+
private final TaskService taskService;
61+
2362
@Autowired
24-
public UpdateUrlsImpl(UrlMessageBuilder urlMessageBuilder) {
63+
public UpdateUrlsImpl(CountedEntitiesService countedEntitiesService, UrlMessageBuilder urlMessageBuilder, UrlService urlService, TaskService taskService) {
64+
this.countedEntitiesService = countedEntitiesService;
2565
this.urlMessageBuilder = urlMessageBuilder;
66+
this.urlService = urlService;
67+
this.taskService = taskService;
2668
}
2769
}

0 commit comments

Comments
 (0)