Skip to content

Commit 5913b4a

Browse files
author
Eugen
committed
Merge pull request eugenp#204 from Doha2012/master
code cleanup
2 parents 9f9ddea + 746fe17 commit 5913b4a

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

spring-security-oauth/src/main/java/org/baeldung/config/WebConfig.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.baeldung.reddit.classifier.RedditClassifier;
1010
import org.baeldung.reddit.util.MyFeatures;
1111
import org.baeldung.reddit.util.UserAgentInterceptor;
12-
import org.baeldung.web.schedule.ScheduledTasks;
1312
import org.springframework.beans.factory.annotation.Autowired;
1413
import org.springframework.beans.factory.annotation.Value;
1514
import org.springframework.context.annotation.Bean;
@@ -76,14 +75,12 @@ public void addViewControllers(final ViewControllerRegistry registry) {
7675
}
7776

7877
@Bean
79-
public ScheduledTasks scheduledTasks(OAuth2ProtectedResourceDetails reddit) {
80-
final ScheduledTasks s = new ScheduledTasks();
78+
public OAuth2RestTemplate schedulerRedditTemplate(OAuth2ProtectedResourceDetails reddit) {
8179
final List<ClientHttpRequestInterceptor> list = new ArrayList<ClientHttpRequestInterceptor>();
8280
list.add(new UserAgentInterceptor());
8381
final OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(reddit);
8482
restTemplate.setInterceptors(list);
85-
s.setRedditRestTemplate(restTemplate);
86-
return s;
83+
return restTemplate;
8784
}
8885

8986
@Bean

spring-security-oauth/src/main/java/org/baeldung/web/RedditController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.slf4j.Logger;
2323
import org.slf4j.LoggerFactory;
2424
import org.springframework.beans.factory.annotation.Autowired;
25+
import org.springframework.beans.factory.annotation.Qualifier;
2526
import org.springframework.http.HttpStatus;
2627
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
2728
import org.springframework.security.core.authority.SimpleGrantedAuthority;
@@ -52,6 +53,7 @@ public class RedditController {
5253
public static final String REMEMBER_ME_COOKIE = "CustomRememberMe";
5354

5455
@Autowired
56+
@Qualifier("redditRestTemplate")
5557
private OAuth2RestTemplate redditRestTemplate;
5658

5759
@Autowired

spring-security-oauth/src/main/java/org/baeldung/web/schedule/ScheduledTasks.java renamed to spring-security-oauth/src/main/java/org/baeldung/web/schedule/RedditScheduler.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,47 @@
1212
import org.slf4j.Logger;
1313
import org.slf4j.LoggerFactory;
1414
import org.springframework.beans.factory.annotation.Autowired;
15+
import org.springframework.beans.factory.annotation.Qualifier;
1516
import org.springframework.scheduling.annotation.Scheduled;
1617
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
1718
import org.springframework.security.core.authority.SimpleGrantedAuthority;
1819
import org.springframework.security.core.context.SecurityContextHolder;
1920
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
2021
import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken;
2122
import org.springframework.security.oauth2.common.DefaultOAuth2RefreshToken;
23+
import org.springframework.stereotype.Component;
2224
import org.springframework.util.LinkedMultiValueMap;
2325
import org.springframework.util.MultiValueMap;
2426

2527
import com.fasterxml.jackson.databind.JsonNode;
2628

27-
public class ScheduledTasks {
29+
@Component
30+
public class RedditScheduler {
2831

32+
@Autowired
33+
@Qualifier("schedulerRedditTemplate")
2934
private OAuth2RestTemplate redditRestTemplate;
30-
private final Logger logger = LoggerFactory.getLogger(getClass());
3135

3236
@Autowired
3337
private PostRepository postReopsitory;
3438

39+
private final Logger logger = LoggerFactory.getLogger(getClass());
40+
3541
@Scheduled(fixedRate = 1 * 60 * 1000)
36-
public void reportCurrentTime() {
42+
public void schedulePosts() {
3743
final List<Post> posts = postReopsitory.findBySubmissionDateBeforeAndIsSent(new Date(), false);
3844
logger.info(posts.size() + " Posts in the queue.");
3945
for (final Post post : posts) {
4046
submitPost(post);
4147
}
48+
}
4249

50+
@Scheduled(fixedRate = 3 * 60 * 1000)
51+
public void checkAndReSubmitPosts() {
4352
final List<Post> submitted = postReopsitory.findByRedditIDNotNullAndNoOfAttemptsGreaterThan(0);
4453
logger.info(submitted.size() + " Posts to check their score");
4554
for (final Post post : submitted) {
46-
checkIfNeedResubmit(post);
55+
checkAndReSubmit(post);
4756
}
4857
}
4958

@@ -113,7 +122,15 @@ private void deletePost(String redditId) {
113122
logger.info(node.toString());
114123
}
115124

116-
private void checkIfNeedResubmit(Post post) {
125+
private void checkAndReSubmit(Post post) {
126+
try {
127+
checkAndReSubmitInternal(post);
128+
} catch (final Exception e) {
129+
logger.error("Error occurred while check post " + post.toString(), e);
130+
}
131+
}
132+
133+
private void checkAndReSubmitInternal(Post post) {
117134
final long currentTime = new Date().getTime();
118135
final long interval = currentTime - post.getSubmissionDate().getTime();
119136
final long intervalInMinutes = TimeUnit.MINUTES.convert(interval, TimeUnit.MILLISECONDS);

0 commit comments

Comments
 (0)