Skip to content

Commit cff391b

Browse files
, working on #240
1 parent 5227fcd commit cff391b

File tree

53 files changed

+667
-463
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+667
-463
lines changed

src/main/java/org/woehlke/twitterwall/ScheduledTasks.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public void fetchUsersFromDefinedUserList(){
3333
}
3434
}
3535

36-
@Scheduled(initialDelay= TEN_SECONDS *3, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_USER_LIST)
36+
@Scheduled(initialDelay= TEN_SECONDS *3, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_FOLLOWER)
3737
public void fetchFollower(){
3838
String msg = "fetch Follower ";
3939
if(schedulerProperties.getFetchFollowerAllow() && ! schedulerProperties.getSkipFortesting()) {
@@ -79,6 +79,15 @@ public void updateUserProfiles() {
7979
}
8080
}
8181

82+
@Scheduled(initialDelay= TEN_SECONDS *8, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_FRIENDS)
83+
public void fetchFriends(){
84+
String msg = "fetch Friends ";
85+
if(schedulerProperties.getFetchFriendsAllow() && !schedulerProperties.getSkipFortesting()) {
86+
Task task = asyncStartTask.fetchFriends();
87+
log.info(msg+ "SCHEDULED: task "+task.getUniqueId());
88+
}
89+
}
90+
8291
@Autowired
8392
public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mqAsyncStartTask) {
8493
this.schedulerProperties = schedulerProperties;
@@ -97,6 +106,10 @@ public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mq
97106

98107
private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER = TWELVE_HOURS;
99108

109+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_FOLLOWER = TWELVE_HOURS;
110+
111+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_FRIENDS = TWELVE_HOURS;
112+
100113
private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_TWEETS = TWELVE_HOURS;
101114

102115
private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER_BY_MENTION = ONE_HOUR;

src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ public class SchedulerProperties {
4242
@NotNull
4343
private Boolean fetchFollowerAllow;
4444

45+
@NotNull
46+
private Boolean fetchFriendsAllow;
47+
4548
public Boolean getAllowFetchTweetsFromTwitterSearch() {
4649
return allowFetchTweetsFromTwitterSearch;
4750
}
@@ -121,4 +124,12 @@ public void setFetchFollowerAllow(Boolean fetchFollowerAllow) {
121124
public Boolean getFetchFollowerAllow() {
122125
return fetchFollowerAllow;
123126
}
127+
128+
public void setFetchFriendsAllow(Boolean fetchFriendsAllow) {
129+
this.fetchFriendsAllow = fetchFriendsAllow;
130+
}
131+
132+
public Boolean getFetchFriendsAllow() {
133+
return fetchFriendsAllow;
134+
}
124135
}

src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public String getTaskById(
7272
}
7373

7474
@RequestMapping("/start/createTestData")
75-
public String getTestData(Model model) {
75+
public String createTTestData(Model model) {
7676
model = controllerHelper.setupPage(
7777
model,"Test Data Tweets",
7878
twitterProperties.getSearchQuery(),
@@ -97,7 +97,7 @@ public String getOnListRenew(
9797
) {
9898
Pageable pageRequest = new PageRequest(page, frontendProperties.getPageSize());
9999
String msg = "getOnListRenew: ";
100-
log.info(msg+"START startTask.fetchUsersFromList: ");
100+
log.info(msg+"START startTask.fetchUsersFromList");
101101
Task task = mqAsyncStartTask.fetchUsersFromList();
102102
model.addAttribute("task",task);
103103
log.info(msg+"DONE startTask.fetchUsersFromList: ");
@@ -114,7 +114,7 @@ public String getOnListRenew(
114114
@RequestMapping(path="/start/tweets/search")
115115
public String fetchTweetsFromTwitterSearchStartTask(Model model) {
116116
String msg = "/start/tweets/search";
117-
String title = "Scheduled Task started";
117+
String title = "Scheduled Task started: fetch Tweets from Search";
118118
String subtitle = "/start/tweets/search";
119119
String symbol = Symbols.TASK.toString();
120120
model = controllerHelper.setupPage(model,title,subtitle,symbol);
@@ -126,7 +126,7 @@ public String fetchTweetsFromTwitterSearchStartTask(Model model) {
126126
@RequestMapping(path="/start/tweets/update")
127127
public String updateTweetsStartTask(Model model) {
128128
String msg = "/start/tweets/fetch";
129-
String title = "Scheduled Task started";
129+
String title = "Scheduled Task started: update Tweets";
130130
String subtitle = "/start/tweets/update";
131131
String symbol = Symbols.TASK.toString();
132132
model = controllerHelper.setupPage(model,title,subtitle,symbol);
@@ -138,7 +138,7 @@ public String updateTweetsStartTask(Model model) {
138138
@RequestMapping(path="/start/users/list/fetch")
139139
public String fetchUsersFromDefinedUserListStartTask(Model model){
140140
String msg = "/start/users/list/fetch";
141-
String title = "Scheduled Task started";
141+
String title = "Scheduled Task started: fetch Users from List";
142142
String subtitle = "/start/users/list/fetch";
143143
String symbol = Symbols.TASK.toString();
144144
model = controllerHelper.setupPage(model,title,subtitle,symbol);
@@ -150,7 +150,7 @@ public String fetchUsersFromDefinedUserListStartTask(Model model){
150150
@RequestMapping(path="/start/users/follower/fetch")
151151
public String fetchFollowerStartTask(Model model){
152152
String msg = "/start/users/follower/fetch";
153-
String title = "Scheduled Task started";
153+
String title = "Scheduled Task started: fetch Follower";
154154
String subtitle = "/start/users/follower/fetch";
155155
String symbol = Symbols.TASK.toString();
156156
model = controllerHelper.setupPage(model,title,subtitle,symbol);
@@ -159,10 +159,22 @@ public String fetchFollowerStartTask(Model model){
159159
return PATH+"/start/taskStarted";
160160
}
161161

162+
@RequestMapping(path="/start/users/friends/fetch")
163+
public String fetchFriendsStartTask(Model model){
164+
String msg = "/start/users/friends/fetch";
165+
String title = "Scheduled Task started: fetch Friends";
166+
String subtitle = "/start/users/friends/fetch";
167+
String symbol = Symbols.TASK.toString();
168+
model = controllerHelper.setupPage(model,title,subtitle,symbol);
169+
Task task = mqAsyncStartTask.fetchFriends();
170+
model.addAttribute("task",task);
171+
return PATH+"/start/taskStarted";
172+
}
173+
162174
@RequestMapping(path="/start/users/mentions/update")
163175
public String updateUserProfilesFromMentionsStartTask(Model model){
164176
String msg = "/start/users/mentions/update";
165-
String title = "Scheduled Task started";
177+
String title = "Scheduled Task started: update Users from Mentions";
166178
String subtitle = "/start/users/mentions/update";
167179
String symbol = Symbols.TASK.toString();
168180
model = controllerHelper.setupPage(model,title,subtitle,symbol);
@@ -174,7 +186,7 @@ public String updateUserProfilesFromMentionsStartTask(Model model){
174186
@RequestMapping(path="/start/users/update")
175187
public String updateUserProfilesStartTask(Model model) {
176188
String msg = "/start/users/update";
177-
String title = "Scheduled Task started";
189+
String title = "Scheduled Task started: update Users";
178190
String subtitle = "/start/users/update";
179191
String symbol = Symbols.TASK.toString();
180192
model = controllerHelper.setupPage(model,title,subtitle,symbol);

src/main/java/org/woehlke/twitterwall/oodm/entities/Tweet.java

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@
66
import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithTask;
77
import org.woehlke.twitterwall.oodm.entities.parts.Entities;
88
import org.woehlke.twitterwall.oodm.entities.listener.TweetListener;
9-
import org.woehlke.twitterwall.oodm.entities.parts.TwitterApiCaching;
109

1110
import javax.persistence.*;
12-
import javax.validation.Valid;
1311
import javax.validation.constraints.NotNull;
1412
import java.util.Date;
1513

@@ -35,16 +33,7 @@
3533
@Index(name="idx_tweet_in_reply_to_user_id", columnList="in_reply_to_user_id"),
3634
@Index(name="idx_tweet_in_reply_to_screen_name", columnList="in_reply_to_screen_name"),
3735
@Index(name="idx_tweet_from_user_id", columnList="from_user_id"),
38-
@Index(name="idx_tweet_id_str", columnList="id_str"),
39-
@Index(name="idx_tweet_fetch_tweets_from_twitter_search", columnList="remote_api_cache_fetch_tweets_from_twitter_search"),
40-
@Index(name="idx_tweet_update_tweets", columnList="remote_api_cache_update_tweets"),
41-
@Index(name="idx_tweet_update_user_profiles", columnList="remote_api_cache_update_user_profiles"),
42-
@Index(name="idx_tweet_update_user_profiles_from_mentions", columnList="remote_api_cache_update_user_profiles_from_mentions"),
43-
@Index(name="idx_tweet_fetch_users_from_defined_user_list", columnList="remote_api_cache_fetch_users_from_defined_user_list"),
44-
@Index(name="idx_tweet_controller_get_testdata_tweets", columnList="remote_api_cache_controller_get_testdata_tweets"),
45-
@Index(name="idx_tweet_controller_get_testdata_user", columnList="remote_api_cache_controller_get_testdata_user"),
46-
@Index(name="idx_tweet_controller_add_user_for_screen_name", columnList="remote_api_cache_controller_add_user_for_screen_name"),
47-
@Index(name="idx_tweet_controller_create_imprint_user", columnList="remote_api_cache_controller_create_imprint_user")
36+
@Index(name="idx_tweet_id_str", columnList="id_str")
4837
}
4938
)
5039
@NamedQueries({
@@ -153,11 +142,6 @@ public class Tweet extends AbstractDomainObject<Tweet> implements DomainObjectWi
153142
@Column(name="favorite_count")
154143
private Integer favoriteCount;
155144

156-
@Valid
157-
@NotNull
158-
@Embedded
159-
private TwitterApiCaching twitterApiCaching = new TwitterApiCaching();
160-
161145
@Embedded
162146
@AssociationOverrides({
163147
@AssociationOverride(
@@ -204,11 +188,6 @@ public Tweet(Task createdBy, Task updatedBy, long idTwitter, String idStr, Strin
204188
this.idStr = idStr;
205189
this.text = text;
206190
this.createdAt = createdAt;
207-
if(updatedBy != null){
208-
twitterApiCaching.store(updatedBy.getTaskType());
209-
} else {
210-
twitterApiCaching.store(createdBy.getTaskType());
211-
}
212191
}
213192

214193
public Tweet(Task createdBy, Task updatedBy, long idTwitter, String idStr, String text, Date createdAt, String fromUser, String profileImageUrl, Long toUserId, long fromUserId, String languageCode, String source) {
@@ -223,14 +202,9 @@ public Tweet(Task createdBy, Task updatedBy, long idTwitter, String idStr, Strin
223202
this.fromUserId = fromUserId;
224203
this.languageCode = languageCode;
225204
this.source = source;
226-
if(updatedBy != null){
227-
twitterApiCaching.store(updatedBy.getTaskType());
228-
} else {
229-
twitterApiCaching.store(createdBy.getTaskType());
230-
}
231205
}
232206

233-
private Tweet() {
207+
protected Tweet() {
234208
}
235209

236210
public void removeAllEntities(){
@@ -425,14 +399,6 @@ public void setUser(User user) {
425399
this.user = user;
426400
}
427401

428-
public TwitterApiCaching getTwitterApiCaching() {
429-
return twitterApiCaching;
430-
}
431-
432-
public void setTwitterApiCaching(TwitterApiCaching twitterApiCaching) {
433-
this.twitterApiCaching = twitterApiCaching;
434-
}
435-
436402
private String toStringRetweetedStatus(){
437403
if(retweetedStatus==null){
438404
return " null ";

src/main/java/org/woehlke/twitterwall/oodm/entities/Url.java

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithTask;
88
import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithUrl;
99
import org.woehlke.twitterwall.oodm.entities.listener.UrlListener;
10-
import org.woehlke.twitterwall.oodm.entities.parts.TwitterApiCaching;
10+
import org.woehlke.twitterwall.oodm.entities.parts.TaskBasedCaching;
1111

1212
import javax.persistence.*;
1313
import javax.validation.Valid;
@@ -25,16 +25,7 @@
2525
},
2626
indexes = {
2727
@Index(name="idx_url_expanded", columnList="expanded"),
28-
@Index(name="idx_url_display", columnList="display"),
29-
@Index(name="idx_url_fetch_tweets_from_twitter_search", columnList="remote_api_cache_fetch_tweets_from_twitter_search"),
30-
@Index(name="idx_url_update_tweets", columnList="remote_api_cache_update_tweets"),
31-
@Index(name="idx_url_update_user_profiles", columnList="remote_api_cache_update_user_profiles"),
32-
@Index(name="idx_url_update_user_profiles_from_mentions", columnList="remote_api_cache_update_user_profiles_from_mentions"),
33-
@Index(name="idx_url_fetch_users_from_defined_user_list", columnList="remote_api_cache_fetch_users_from_defined_user_list"),
34-
@Index(name="idx_url_controller_get_testdata_tweets", columnList="remote_api_cache_controller_get_testdata_tweets"),
35-
@Index(name="idx_url_controller_get_testdata_user", columnList="remote_api_cache_controller_get_testdata_user"),
36-
@Index(name="idx_url_controller_add_user_for_screen_name", columnList="remote_api_cache_controller_add_user_for_screen_name"),
37-
@Index(name="idx_url_ontroller_create_imprint_user", columnList="remote_api_cache_controller_create_imprint_user")
28+
@Index(name="idx_url_display", columnList="display")
3829
}
3930
)
4031
@NamedQueries({
@@ -58,7 +49,6 @@ public class Url extends AbstractDomainObject<Url> implements DomainObjectEntity
5849
@Column(length=4096,nullable = false)
5950
private String display="";
6051

61-
//@URL
6252
@NotNull
6353
@Column(length=4096,nullable = false)
6454
private String expanded="";
@@ -75,7 +65,7 @@ public class Url extends AbstractDomainObject<Url> implements DomainObjectEntity
7565
@Valid
7666
@NotNull
7767
@Embedded
78-
private TwitterApiCaching twitterApiCaching = new TwitterApiCaching();
68+
private TaskBasedCaching taskBasedCaching = new TaskBasedCaching();
7969

8070
@Transient
8171
public boolean isUrlAndExpandedTheSame(){
@@ -135,9 +125,9 @@ public Url(Task createdBy, Task updatedBy,String display, String expanded, Strin
135125
this.expanded = expanded;
136126
this.url = url;
137127
if(updatedBy != null){
138-
twitterApiCaching.store(updatedBy.getTaskType());
128+
taskBasedCaching.store(updatedBy.getTaskType());
139129
} else {
140-
twitterApiCaching.store(createdBy.getTaskType());
130+
taskBasedCaching.store(createdBy.getTaskType());
141131
}
142132
}
143133

@@ -147,13 +137,13 @@ public Url(Task createdBy, Task updatedBy,String url) {
147137
this.expanded = Url.UNDEFINED;
148138
this.url = url;
149139
if(updatedBy != null){
150-
twitterApiCaching.store(updatedBy.getTaskType());
140+
taskBasedCaching.store(updatedBy.getTaskType());
151141
} else {
152-
twitterApiCaching.store(createdBy.getTaskType());
142+
taskBasedCaching.store(createdBy.getTaskType());
153143
}
154144
}
155145

156-
private Url() {
146+
protected Url() {
157147
}
158148

159149
public static long getSerialVersionUID() {
@@ -192,12 +182,12 @@ public void setUrl(String url) {
192182
this.url = url;
193183
}
194184

195-
public TwitterApiCaching getTwitterApiCaching() {
196-
return twitterApiCaching;
185+
public TaskBasedCaching getTaskBasedCaching() {
186+
return taskBasedCaching;
197187
}
198188

199-
public void setTwitterApiCaching(TwitterApiCaching twitterApiCaching) {
200-
this.twitterApiCaching = twitterApiCaching;
189+
public void setTaskBasedCaching(TaskBasedCaching taskBasedCaching) {
190+
this.taskBasedCaching = taskBasedCaching;
201191
}
202192

203193
@Override

0 commit comments

Comments
 (0)