Skip to content

Commit 1cb42d6

Browse files
fixed #272, fixed #271,fixed #270, fixed #269, fixed #268, fixed #267, fixed #266, fixed #257
1 parent 5c3b29c commit 1cb42d6

File tree

18 files changed

+304
-10
lines changed

18 files changed

+304
-10
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.woehlke.twitterwall.backend.mq.userlist.endpoint.serviceactivator;
2+
3+
public interface ListsFetcher {
4+
5+
6+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package org.woehlke.twitterwall.backend.mq.userlist.endpoint.serviceactivator.impl;
2+
3+
import org.springframework.stereotype.Component;
4+
import org.woehlke.twitterwall.backend.mq.userlist.endpoint.serviceactivator.ListsFetcher;
5+
6+
@Component("mqListsFetcher")
7+
public class ListsFetcherImpl implements ListsFetcher {
8+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package org.woehlke.twitterwall.backend.mq.userlist.endpoint.splitter;
2+
3+
4+
import org.springframework.messaging.Message;
5+
import org.woehlke.twitterwall.backend.mq.userlist.msg.UserListMessage;
6+
import org.woehlke.twitterwall.backend.mq.users.msg.UserMessage;
7+
8+
import java.util.List;
9+
10+
public interface FetchUserListsForUsers {
11+
12+
List<Message<UserListMessage>> splitUserListMessage(Message<UserMessage> incomingTaskMessage);
13+
14+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package org.woehlke.twitterwall.backend.mq.userlist.endpoint.splitter.impl;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.messaging.Message;
5+
import org.springframework.stereotype.Component;
6+
import org.woehlke.twitterwall.backend.mq.userlist.endpoint.splitter.FetchUserListsForUsers;
7+
import org.woehlke.twitterwall.backend.mq.userlist.msg.UserListMessage;
8+
import org.woehlke.twitterwall.backend.mq.userlist.msg.UserListMessageBuilder;
9+
import org.woehlke.twitterwall.backend.mq.users.msg.UserMessage;
10+
import org.woehlke.twitterwall.backend.service.remote.TwitterApiService;
11+
import org.woehlke.twitterwall.oodm.service.CountedEntitiesService;
12+
import org.woehlke.twitterwall.oodm.service.TaskService;
13+
import org.woehlke.twitterwall.oodm.service.UserService;
14+
15+
import java.util.List;
16+
17+
@Component("mqFetchUserListsForUsers")
18+
public class FetchUserListsForUsersImpl implements FetchUserListsForUsers {
19+
20+
21+
@Override
22+
public List<Message<UserListMessage>> splitUserListMessage(Message<UserMessage> incomingTaskMessage) {
23+
return null;
24+
}
25+
26+
private final TwitterApiService twitterApiService;
27+
28+
private final TaskService taskService;
29+
30+
private final UserService userService;
31+
32+
private final CountedEntitiesService countedEntitiesService;
33+
34+
private final UserListMessageBuilder userListMessageBuilder;
35+
36+
@Autowired
37+
public FetchUserListsForUsersImpl(TwitterApiService twitterApiService, TaskService taskService, UserService userService, CountedEntitiesService countedEntitiesService, UserListMessageBuilder userListMessageBuilder) {
38+
this.twitterApiService = twitterApiService;
39+
this.taskService = taskService;
40+
this.userService = userService;
41+
this.countedEntitiesService = countedEntitiesService;
42+
this.userListMessageBuilder = userListMessageBuilder;
43+
}
44+
}

src/main/java/org/woehlke/twitterwall/backend/mq/userlist/endpoint/splitter/impl/ListsSplitterImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ public ListsSplitterImpl(TwitterApiService twitterApiService, TaskService taskSe
3636
this.userListMessageBuilder = userListMessageBuilder;
3737
}
3838

39-
//TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252
4039
@Override
4140
public List<Message<UserListMessage>> splitUserListMessage(Message<TaskMessage> incomingTaskMessage) {
4241
CountedEntities countedEntities = countedEntitiesService.countAll();
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.woehlke.twitterwall.backend.mq.users.endpoint.splitter;
2+
3+
import org.woehlke.twitterwall.backend.mq.common.UserSplitter;
4+
5+
public interface FetchListsForUsers extends UserSplitter {
6+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.woehlke.twitterwall.backend.mq.users.endpoint.splitter.impl;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.messaging.Message;
5+
import org.springframework.stereotype.Component;
6+
import org.woehlke.twitterwall.backend.mq.tasks.TaskMessage;
7+
import org.woehlke.twitterwall.backend.mq.userlist.msg.UserListMessageBuilder;
8+
import org.woehlke.twitterwall.backend.mq.users.endpoint.splitter.FetchListsForUsers;
9+
import org.woehlke.twitterwall.backend.mq.users.msg.UserMessage;
10+
import org.woehlke.twitterwall.oodm.service.CountedEntitiesService;
11+
import org.woehlke.twitterwall.oodm.service.TaskService;
12+
import org.woehlke.twitterwall.oodm.service.UserService;
13+
14+
import java.util.List;
15+
16+
@Component("mqFetchListsForUsers")
17+
public class FetchListsForUsersImpl implements FetchListsForUsers {
18+
19+
20+
@Override
21+
public List<Message<UserMessage>> splitUserMessage(Message<TaskMessage> incomingTaskMessage) {
22+
return null;
23+
}
24+
25+
private final TaskService taskService;
26+
27+
private final UserService userService;
28+
29+
private final CountedEntitiesService countedEntitiesService;
30+
31+
private final UserListMessageBuilder userListMessageBuilder;
32+
33+
@Autowired
34+
public FetchListsForUsersImpl(TaskService taskService, UserService userService, CountedEntitiesService countedEntitiesService, UserListMessageBuilder userListMessageBuilder) {
35+
this.taskService = taskService;
36+
this.userService = userService;
37+
this.countedEntitiesService = countedEntitiesService;
38+
this.userListMessageBuilder = userListMessageBuilder;
39+
}
40+
41+
}

src/main/java/org/woehlke/twitterwall/oodm/model/UserList.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@
3535
query = "select t from UserList as t where t.idTwitter=:idTwitter"
3636
)
3737
})
38+
39+
@NamedNativeQueries({
40+
@NamedNativeQuery(
41+
name = "UserList.countUserList2Subcriber",
42+
query = "SELECT count(*) AS z FROM userlist_subcriber"
43+
),
44+
@NamedNativeQuery(
45+
query = "SELECT count(*) AS z FROM userlist_members"
46+
)
47+
})
3848
@EntityListeners(UserListListener.class)
3949
public class UserList extends AbstractDomainObject<UserList> implements DomainObjectWithTask<UserList>,DomainObjectWithIdTwitter<UserList> {
4050

src/main/java/org/woehlke/twitterwall/oodm/model/tasks/TaskBasedCaching.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ public class TaskBasedCaching implements Serializable {
7373
@Column(name=COLUMN_PREFIX+"fetch_userlist_owners")
7474
private Date fetchUserlistOwners;
7575

76+
@Column(name=COLUMN_PREFIX+"fetch_userlists_for_users")
77+
private Date fetchListsForUsers;
78+
7679
@Column(name=COLUMN_PREFIX+"start_garbage_collection")
7780
private Date startGarbageCollection;
7881

@@ -140,6 +143,9 @@ public Boolean isCached(TaskType taskType, long timeToLive){
140143
case FETCH_USERLIST_OWNERS:
141144
lastApiCall = fetchUserlistOwners;
142145
break;
146+
case FETCH_LISTS_FOR_USERS:
147+
lastApiCall = fetchListsForUsers;
148+
break;
143149
case GARBAGE_COLLECTION:
144150
lastApiCall = startGarbageCollection;
145151
break;
@@ -225,6 +231,9 @@ public void store(TaskType taskType){
225231
case FETCH_USERLIST_OWNERS:
226232
fetchUserlistOwners = lastApiCall;
227233
break;
234+
case FETCH_LISTS_FOR_USERS:
235+
fetchListsForUsers = lastApiCall;
236+
break;
228237
case GARBAGE_COLLECTION:
229238
startGarbageCollection = lastApiCall;
230239
break;
@@ -237,7 +246,7 @@ public void store(TaskType taskType){
237246
}
238247
}
239248

240-
public TaskBasedCaching(Date fetchTweetsFromSearch, Date updateTweets, Date updateUsers, Date updateUsersFromMentions, Date fetchUsersFromList, Date controllerGetTestdataTweets, Date controllerGetTestdataUser, Date controllerAddUserForScreenName, Date controllerCreateImprintUser, Date removeOldDataFromStorage, Date fetchFollower, Date fetchFriends, Date getHomeTimeline, Date getUserTimeline, Date getMentions, Date getFavorites, Date getRetweetsOfMe, Date getLists,Date fetchUserlistOwners,Date startGarbageCollection, Date updatedUrls, Date noType) {
249+
public TaskBasedCaching(Date fetchTweetsFromSearch, Date updateTweets, Date updateUsers, Date updateUsersFromMentions, Date fetchUsersFromList, Date controllerGetTestdataTweets, Date controllerGetTestdataUser, Date controllerAddUserForScreenName, Date controllerCreateImprintUser, Date removeOldDataFromStorage, Date fetchFollower, Date fetchFriends, Date getHomeTimeline, Date getUserTimeline, Date getMentions, Date getFavorites, Date getRetweetsOfMe, Date getLists,Date fetchUserlistOwners,Date fetchListsForUsers,Date startGarbageCollection, Date updatedUrls, Date noType) {
241250
this.fetchTweetsFromSearch = fetchTweetsFromSearch;
242251
this.updateTweets = updateTweets;
243252
this.updateUsers = updateUsers;
@@ -257,6 +266,7 @@ public TaskBasedCaching(Date fetchTweetsFromSearch, Date updateTweets, Date upda
257266
this.getRetweetsOfMe = getRetweetsOfMe;
258267
this.getLists = getLists;
259268
this.fetchUserlistOwners = fetchUserlistOwners;
269+
this.fetchListsForUsers = fetchListsForUsers;
260270
this.startGarbageCollection = startGarbageCollection;
261271
this.updatedUrls = updatedUrls;
262272
this.noType = noType;
@@ -281,6 +291,7 @@ public TaskBasedCaching() {
281291
this.getRetweetsOfMe = null;
282292
this.getLists = null;
283293
this.fetchUserlistOwners = null;
294+
this.fetchListsForUsers = null;
284295
this.startGarbageCollection = null;
285296
this.updatedUrls = null;
286297
this.noType = null;
@@ -362,6 +373,10 @@ public Date getFetchUserlistOwners() {
362373
return fetchUserlistOwners;
363374
}
364375

376+
public Date getFetchListsForUsers() {
377+
return fetchListsForUsers;
378+
}
379+
365380
public Date getStartGarbageCollection() {
366381
return startGarbageCollection;
367382
}
@@ -414,6 +429,8 @@ public boolean equals(Object o) {
414429
if (getLists != null ? !getLists.equals(that.getLists) : that.getLists != null) return false;
415430
if (fetchUserlistOwners != null ? !fetchUserlistOwners.equals(that.fetchUserlistOwners) : that.fetchUserlistOwners != null)
416431
return false;
432+
if (fetchListsForUsers != null ? !fetchListsForUsers.equals(that.fetchListsForUsers) : that.fetchListsForUsers != null)
433+
return false;
417434
if (startGarbageCollection != null ? !startGarbageCollection.equals(that.startGarbageCollection) : that.startGarbageCollection != null)
418435
return false;
419436
return noType != null ? noType.equals(that.noType) : that.noType == null;
@@ -441,6 +458,7 @@ public int hashCode() {
441458
result = 31 * result + (getRetweetsOfMe != null ? getRetweetsOfMe.hashCode() : 0);
442459
result = 31 * result + (getLists != null ? getLists.hashCode() : 0);
443460
result = 31 * result + (fetchUserlistOwners != null ? fetchUserlistOwners.hashCode() : 0);
461+
result = 31 * result + (fetchListsForUsers != null ? fetchListsForUsers.hashCode() : 0);
444462
result = 31 * result + (startGarbageCollection != null ? startGarbageCollection.hashCode() : 0);
445463
result = 31 * result + (noType != null ? noType.hashCode() : 0);
446464
return result;
@@ -469,6 +487,7 @@ public String toString() {
469487
", getRetweetsOfMe=" + getRetweetsOfMe +
470488
", getLists=" + getLists +
471489
", fetchUserlistOwners=" + fetchUserlistOwners +
490+
", fetchListsForUsers=" + fetchListsForUsers +
472491
", startGarbageCollection=" + startGarbageCollection +
473492
", noType=" + noType +
474493
'}';

src/main/java/org/woehlke/twitterwall/oodm/model/tasks/TaskInfo.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import javax.persistence.Transient;
99
import javax.validation.constraints.NotNull;
1010
import java.io.Serializable;
11-
import java.util.Date;
1211

1312
/**
1413
* Created by tw on 10.07.17.
@@ -93,6 +92,10 @@ public class TaskInfo implements Serializable {
9392
@Column(nullable = false,name="fetch_userlist_owners")
9493
private Boolean fetchUserlistOwners = false;
9594

95+
@NotNull
96+
@Column(nullable = false,name="fetch_userlists_for_users")
97+
private Boolean fetchListsForUsers = true;
98+
9699
@NotNull
97100
@Column(nullable = false,name="start_garbage_collection")
98101
private Boolean startGarbageCollection = false;
@@ -163,6 +166,9 @@ public void setTaskInfoFromTask(Task task) {
163166
case FETCH_USERLIST_OWNERS:
164167
fetchUserlistOwners = true;
165168
break;
169+
case FETCH_LISTS_FOR_USERS:
170+
fetchListsForUsers = true;
171+
break;
166172
case GARBAGE_COLLECTION:
167173
startGarbageCollection = true;
168174
break;
@@ -267,6 +273,10 @@ public Boolean getFetchUserlistOwners() {
267273
return fetchUserlistOwners;
268274
}
269275

276+
public Boolean getFetchListsForUsers() {
277+
return fetchListsForUsers;
278+
}
279+
270280
public Boolean getStartGarbageCollection() {
271281
return startGarbageCollection;
272282
}
@@ -323,6 +333,8 @@ public boolean equals(Object o) {
323333
if (getLists != null ? !getLists.equals(taskInfo.getLists) : taskInfo.getLists != null) return false;
324334
if (fetchUserlistOwners != null ? !fetchUserlistOwners.equals(taskInfo.fetchUserlistOwners) : taskInfo.fetchUserlistOwners != null)
325335
return false;
336+
if (fetchListsForUsers != null ? !fetchListsForUsers.equals(taskInfo.fetchListsForUsers) : taskInfo.fetchListsForUsers != null)
337+
return false;
326338
if (startGarbageCollection != null ? !startGarbageCollection.equals(taskInfo.startGarbageCollection) : taskInfo.startGarbageCollection != null)
327339
return false;
328340
return noType != null ? noType.equals(taskInfo.noType) : taskInfo.noType == null;
@@ -349,6 +361,7 @@ public int hashCode() {
349361
result = 31 * result + (getRetweetsOfMe != null ? getRetweetsOfMe.hashCode() : 0);
350362
result = 31 * result + (getLists != null ? getLists.hashCode() : 0);
351363
result = 31 * result + (fetchUserlistOwners != null ? fetchUserlistOwners.hashCode() : 0);
364+
result = 31 * result + (fetchListsForUsers != null ? fetchListsForUsers.hashCode() : 0);
352365
result = 31 * result + (startGarbageCollection != null ? startGarbageCollection.hashCode() : 0);
353366
result = 31 * result + (noType != null ? noType.hashCode() : 0);
354367
return result;
@@ -376,6 +389,7 @@ public String toString() {
376389
", getRetweetsOfMe=" + getRetweetsOfMe +
377390
", getLists=" + getLists +
378391
", fetchUserlistOwners=" + fetchUserlistOwners +
392+
", fetchListsForUsers=" + fetchListsForUsers +
379393
", startGarbageCollection=" + startGarbageCollection +
380394
", noType=" + noType +
381395
'}';

0 commit comments

Comments
 (0)