Skip to content

Commit 363bd12

Browse files
new use cases
1 parent df0b788 commit 363bd12

File tree

6 files changed

+195
-9
lines changed

6 files changed

+195
-9
lines changed

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

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,60 @@ public void updateUserProfiles() {
8787
}
8888
}
8989

90+
@Scheduled(initialDelay= TEN_SECONDS *9, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_HOME_TIMELINE)
91+
public void getHomeTimeline() {
92+
String msg = "get Home Timeline Tweets ";
93+
if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) {
94+
Task task = asyncStartTask.getHomeTimeline();
95+
log.info(msg+ "SCHEDULED: task "+task.getUniqueId());
96+
}
97+
}
98+
99+
@Scheduled(initialDelay= TEN_SECONDS *10, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_TIMELINE)
100+
public void getUserTimeline() {
101+
String msg = " get User Timeline Tweets ";
102+
if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) {
103+
Task task = asyncStartTask.getUserTimeline();
104+
log.info(msg+ "SCHEDULED: task "+task.getUniqueId());
105+
}
106+
}
107+
108+
@Scheduled(initialDelay= TEN_SECONDS *11, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_MENTIONS)
109+
public void getMentions() {
110+
String msg = " get Mentions ";
111+
if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) {
112+
Task task = asyncStartTask.getMentions();
113+
log.info(msg+ "SCHEDULED: task "+task.getUniqueId());
114+
}
115+
}
116+
117+
@Scheduled(initialDelay= TEN_SECONDS *12, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_FAVORITES)
118+
public void getFavorites() {
119+
String msg = " get Favorites ";
120+
if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) {
121+
Task task = asyncStartTask.getFavorites();
122+
log.info(msg+ "SCHEDULED: task "+task.getUniqueId());
123+
}
124+
}
125+
126+
@Scheduled(initialDelay= TEN_SECONDS *13, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_RETWEETS_OF_ME)
127+
public void getRetweetsOfMe() {
128+
String msg = " get Retweets Of Me ";
129+
if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) {
130+
Task task = asyncStartTask.getRetweetsOfMe();
131+
log.info(msg+ "SCHEDULED: task "+task.getUniqueId());
132+
}
133+
}
134+
135+
@Scheduled(initialDelay= TEN_SECONDS *14, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_LISTS)
136+
public void getLists() {
137+
String msg = " get Lists ";
138+
if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) {
139+
Task task = asyncStartTask.getLists();
140+
log.info(msg+ "SCHEDULED: task "+task.getUniqueId());
141+
}
142+
}
143+
90144
@Autowired
91145
public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mqAsyncStartTask) {
92146
this.schedulerProperties = schedulerProperties;
@@ -113,6 +167,18 @@ public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mq
113167

114168
private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER_BY_MENTION = ONE_HOUR;
115169

170+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_LISTS = TWELVE_HOURS;
171+
172+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_FAVORITES = TWELVE_HOURS;
173+
174+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_RETWEETS_OF_ME = TWELVE_HOURS;
175+
176+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_MENTIONS = TWELVE_HOURS;
177+
178+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_TIMELINE = TWELVE_HOURS;
179+
180+
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_HOME_TIMELINE = TWELVE_HOURS;
181+
116182
private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_USER_LIST = TWELVE_HOURS;
117183

118184
private final static long FIXED_RATE_FOR_SCHEDULAR_REMOVE_OLD_DATA_FROM_STORAGE = ONE_HOUR;

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

Lines changed: 67 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@
1818
import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper;
1919
import org.woehlke.twitterwall.oodm.entities.Task;
2020
import org.woehlke.twitterwall.oodm.entities.TaskHistory;
21-
import org.woehlke.twitterwall.oodm.entities.Tweet;
2221
import org.woehlke.twitterwall.oodm.entities.User;
2322
import org.woehlke.twitterwall.oodm.service.TaskHistoryService;
2423
import org.woehlke.twitterwall.oodm.service.TaskService;
2524
import org.woehlke.twitterwall.oodm.service.UserService;
2625
import org.woehlke.twitterwall.scheduled.mq.endpoint.AsyncStartTask;
27-
import org.woehlke.twitterwall.scheduled.mq.endpoint.StartTask;
2826

29-
import java.util.List;
3027

3128
/**
3229
* Created by tw on 11.07.17.
@@ -183,18 +180,79 @@ public String updateUserProfilesFromMentionsStartTask(Model model){
183180
return PATH+"/start/taskStarted";
184181
}
185182

186-
@RequestMapping(path="/start/users/update")
187-
public String updateUserProfilesStartTask(Model model) {
188-
String msg = "/start/users/update";
189-
String title = "Scheduled Task started: update Users";
190-
String subtitle = "/start/users/update";
183+
@RequestMapping(path="/start/tweets/timeline/home")
184+
public String getHomeTimeline(Model model) {
185+
String msg = "/start/tweets/timeline/home";
186+
String title = "Scheduled Task started: getHomeTimeline";
187+
String subtitle = "/start/tweets/timeline/home";
191188
String symbol = Symbols.TASK.toString();
192189
model = controllerHelper.setupPage(model,title,subtitle,symbol);
193-
Task task = mqAsyncStartTask.updateUsers();
190+
Task task = mqAsyncStartTask.getHomeTimeline();
194191
model.addAttribute("task",task);
195192
return PATH+"/start/taskStarted";
196193
}
197194

195+
@RequestMapping(path="/start/tweets/timeline/user")
196+
public String getUserTimeline(Model model) {
197+
String msg = "/start/tweets/timeline/user";
198+
String title = "Scheduled Task started: getUserTimeline";
199+
String subtitle = "/start/tweets/timeline/user";
200+
String symbol = Symbols.TASK.toString();
201+
model = controllerHelper.setupPage(model,title,subtitle,symbol);
202+
Task task = mqAsyncStartTask.getUserTimeline();
203+
model.addAttribute("task",task);
204+
return PATH+"/start/taskStarted";
205+
}
206+
207+
@RequestMapping(path="/start/tweets/mentions")
208+
public String getMentions(Model model) {
209+
String msg = "/start/tweets/mentions";
210+
String title = "Scheduled Task started: getMentions";
211+
String subtitle = "/start/tweets/mentions";
212+
String symbol = Symbols.TASK.toString();
213+
model = controllerHelper.setupPage(model,title,subtitle,symbol);
214+
Task task = mqAsyncStartTask.getMentions();
215+
model.addAttribute("task",task);
216+
return PATH+"/start/taskStarted";
217+
}
218+
219+
@RequestMapping(path="/start/tweets/favorites")
220+
public String getFavorites(Model model) {
221+
String msg = "/start/tweets/favorites";
222+
String title = "Scheduled Task started: getFavorites";
223+
String subtitle = "/start/tweets/favorites";
224+
String symbol = Symbols.TASK.toString();
225+
model = controllerHelper.setupPage(model,title,subtitle,symbol);
226+
Task task = mqAsyncStartTask.getFavorites();
227+
model.addAttribute("task",task);
228+
return PATH+"/start/taskStarted";
229+
}
230+
231+
@RequestMapping(path="/start/tweets/myretweets")
232+
public String getRetweetsOfMe(Model model) {
233+
String msg = "/start/tweets/myretweets";
234+
String title = "Scheduled Task started: getRetweetsOfMe";
235+
String subtitle = "/start/tweets/myretweets";
236+
String symbol = Symbols.TASK.toString();
237+
model = controllerHelper.setupPage(model,title,subtitle,symbol);
238+
Task task = mqAsyncStartTask.getRetweetsOfMe();
239+
model.addAttribute("task",task);
240+
return PATH+"/start/taskStarted";
241+
}
242+
243+
@RequestMapping(path="/start/userlists")
244+
public String getLists(Model model) {
245+
String msg = "/start/userlists";
246+
String title = "Scheduled Task started: getLists";
247+
String subtitle = "/start/userlists";
248+
String symbol = Symbols.TASK.toString();
249+
model = controllerHelper.setupPage(model,title,subtitle,symbol);
250+
Task task = mqAsyncStartTask.getLists();
251+
model.addAttribute("task",task);
252+
return PATH+"/start/taskStarted";
253+
}
254+
255+
198256
private static final Logger log = LoggerFactory.getLogger(TaskController.class);
199257

200258
private final String PATH = "task";

src/main/resources/templates/application/management.html

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,31 @@ <h3>Your Options:</h3>
6565
<i class="fa fa-plus-square" aria-hidden="true"></i>
6666
<span>Start Task: update Users</span>
6767
</a>
68+
<hr class="divider" role="separator" />
69+
<a href="/task/start/tweets/timeline/home" th:href="@{/task/start/tweets/timeline/home}">
70+
<i class="fa fa-plus-square" aria-hidden="true"></i>
71+
<span>Start Task: getHomeTimeline</span>
72+
</a>
73+
<a href="/task/start/tweets/timeline/user" th:href="@{/task/start/tweets/timeline/user}">
74+
<i class="fa fa-plus-square" aria-hidden="true"></i>
75+
<span>Start Task: getUserTimeline</span>
76+
</a>
77+
<a href="/task/start/tweets/mentions" th:href="@{/task/start/tweets/mentions}">
78+
<i class="fa fa-plus-square" aria-hidden="true"></i>
79+
<span>Start Task: getMentions</span>
80+
</a>
81+
<a href="/task/start/tweets/favorites" th:href="@{/task/start/tweets/favorites}">
82+
<i class="fa fa-plus-square" aria-hidden="true"></i>
83+
<span>Start Task: getFavorites</span>
84+
</a>
85+
<a href="/task/start/tweets/myretweets" th:href="@{/task/start/tweets/myretweets}">
86+
<i class="fa fa-plus-square" aria-hidden="true"></i>
87+
<span>Start Task: getRetweetsOfMe</span>
88+
</a>
89+
<a href="/task/start/userlists" th:href="@{/task/start/userlists}">
90+
<i class="fa fa-plus-square" aria-hidden="true"></i>
91+
<span>Start Task: getLists</span>
92+
</a>
6893
<hr class="divider" role="separator" />
6994
<a class="list-group-item" href="/user/list/tweets" th:href="@{/user/list/tweets}">
7095
<i class="fa fa-user" aria-hidden="true"></i>

src/main/resources/templates/layoutMain.html

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,43 @@
137137
</a>
138138
</li>
139139
<li role="separator" class="divider"></li>
140+
<li>
141+
<a href="/task/start/tweets/timeline/home" th:href="@{/task/start/tweets/timeline/home}">
142+
<i class="fa fa-plus-square" aria-hidden="true"></i>
143+
<span>Start Task: getHomeTimeline</span>
144+
</a>
145+
</li>
146+
<li>
147+
<a href="/task/start/tweets/timeline/user" th:href="@{/task/start/tweets/timeline/user}">
148+
<i class="fa fa-plus-square" aria-hidden="true"></i>
149+
<span>Start Task: getUserTimeline</span>
150+
</a>
151+
</li>
152+
<li>
153+
<a href="/task/start/tweets/mentions" th:href="@{/task/start/tweets/mentions}">
154+
<i class="fa fa-plus-square" aria-hidden="true"></i>
155+
<span>Start Task: getMentions</span>
156+
</a>
157+
</li>
158+
<li>
159+
<a href="/task/start/tweets/favorites" th:href="@{/task/start/tweets/favorites}">
160+
<i class="fa fa-plus-square" aria-hidden="true"></i>
161+
<span>Start Task: getFavorites</span>
162+
</a>
163+
</li>
164+
<li>
165+
<a href="/task/start/tweets/myretweets" th:href="@{/task/start/tweets/myretweets}">
166+
<i class="fa fa-plus-square" aria-hidden="true"></i>
167+
<span>Start Task: getRetweetsOfMe</span>
168+
</a>
169+
</li>
170+
<li>
171+
<a href="/task/start/userlists" th:href="@{/task/start/userlists}">
172+
<i class="fa fa-plus-square" aria-hidden="true"></i>
173+
<span>Start Task: getLists</span>
174+
</a>
175+
</li>
176+
<li role="separator" class="divider"></li>
140177
<li>
141178
<a href="/application/domain/delete/all" th:href="@{/application/domain/delete/all}">
142179
<i class="fa fa-database" aria-hidden="true"></i>

src/main/resources/templates/userlist/all.html

Whitespace-only changes.

src/main/resources/templates/userlist/id.html

Whitespace-only changes.

0 commit comments

Comments
 (0)