Skip to content

Commit 5a7b4e7

Browse files
workin on #161
1 parent ac5493c commit 5a7b4e7

25 files changed

+41
-88
lines changed

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

+3-5
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
import java.util.HashMap;
1616
import java.util.Map;
1717

18-
import static javax.persistence.CascadeType.DETACH;
19-
import static javax.persistence.CascadeType.REFRESH;
20-
import static javax.persistence.CascadeType.REMOVE;
18+
import static javax.persistence.CascadeType.*;
2119
import static javax.persistence.FetchType.EAGER;
2220

2321
/**
@@ -137,7 +135,7 @@ public class Tweet extends AbstractDomainObject<Tweet> implements DomainObjectWi
137135
private Boolean retweeted;
138136

139137
@JoinColumn(name="fk_tweet_retweeted")
140-
@ManyToOne(cascade = {DETACH, REFRESH, REMOVE}, fetch = EAGER, optional = true)
138+
@ManyToOne(cascade = {ALL}, fetch = EAGER, optional = true)
141139
private Tweet retweetedStatus;
142140

143141
@Column(name="favorited")
@@ -186,7 +184,7 @@ public class Tweet extends AbstractDomainObject<Tweet> implements DomainObjectWi
186184
@Valid
187185
@NotNull
188186
@JoinColumn(name="fk_user")
189-
@ManyToOne(cascade = {DETACH, REFRESH, REMOVE}, fetch = EAGER, optional = false)
187+
@ManyToOne(cascade = { ALL }, fetch = EAGER, optional = false)
190188
private User user;
191189

192190
@AssertTrue

src/main/java/org/woehlke/twitterwall/oodm/entities/parts/Entities.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
import java.util.List;
1313
import java.util.Set;
1414

15-
import static javax.persistence.CascadeType.DETACH;
16-
import static javax.persistence.CascadeType.REFRESH;
17-
import static javax.persistence.CascadeType.REMOVE;
15+
import static javax.persistence.CascadeType.*;
1816
import static javax.persistence.FetchType.EAGER;
1917

2018
/**
@@ -25,23 +23,24 @@
2523
public class Entities extends EntitiesFilter implements DomainObjectEmbededField {
2624

2725
@NotNull
28-
@ManyToMany(cascade = { DETACH, REFRESH, REMOVE }, fetch = EAGER)
26+
//@ManyToMany(cascade = { DETACH, REFRESH, REMOVE }, fetch = EAGER)
27+
@ManyToMany(cascade = { ALL }, fetch = EAGER)
2928
private Set<Url> urls = new LinkedHashSet<Url>();
3029

3130
@NotNull
32-
@ManyToMany(cascade = { DETACH, REFRESH, REMOVE }, fetch = EAGER)
31+
@ManyToMany(cascade = { ALL }, fetch = EAGER)
3332
private Set<HashTag> hashTags = new LinkedHashSet<HashTag>();
3433

3534
@NotNull
36-
@ManyToMany(cascade = { DETACH, REFRESH, REMOVE }, fetch = EAGER)
35+
@ManyToMany(cascade = { ALL }, fetch = EAGER)
3736
private Set<Mention> mentions = new LinkedHashSet<Mention>();
3837

3938
@NotNull
40-
@ManyToMany(cascade = { DETACH, REFRESH, REMOVE }, fetch = EAGER)
39+
@ManyToMany(cascade = { ALL }, fetch = EAGER)
4140
private Set<Media> media = new LinkedHashSet<Media>();
4241

4342
@NotNull
44-
@ManyToMany(cascade = { DETACH, REFRESH, REMOVE }, fetch = EAGER)
43+
@ManyToMany(cascade = { ALL }, fetch = EAGER)
4544
private Set<TickerSymbol> tickerSymbols = new LinkedHashSet<TickerSymbol>();
4645

4746
public Entities(Set<Url> urls, Set<HashTag> hashTags, Set<Mention> mentions, Set<Media> media, Set<TickerSymbol> tickerSymbols) {

src/main/java/org/woehlke/twitterwall/oodm/service/impl/DomainServiceWithTaskImpl.java

-4
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,13 @@
44
import org.slf4j.LoggerFactory;
55
import org.springframework.data.domain.Page;
66
import org.springframework.data.domain.Pageable;
7-
import org.springframework.transaction.annotation.Propagation;
8-
import org.springframework.transaction.annotation.Transactional;
97
import org.woehlke.twitterwall.oodm.entities.Task;
108
import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithTask;
119
import org.woehlke.twitterwall.oodm.repositories.TaskRepository;
1210
import org.woehlke.twitterwall.oodm.repositories.common.DomainRepository;
1311
import org.woehlke.twitterwall.oodm.service.common.DomainService;
1412

1513

16-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
1714
public abstract class DomainServiceWithTaskImpl<T extends DomainObjectWithTask> implements DomainService<T> {
1815

1916
private static final Logger log = LoggerFactory.getLogger(DomainServiceWithTaskImpl.class);
@@ -43,7 +40,6 @@ public long count() {
4340
}
4441

4542
@Override
46-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
4743
public T store(T domainObject, Task task) {
4844
String msg = "store "+domainObject.getUniqueId()+" in Task "+task.getUniqueId()+" ";
4945
T domainObjectResult = null;

src/main/java/org/woehlke/twitterwall/oodm/service/impl/HashTagServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Created by tw on 12.06.17.
1616
*/
1717
@Service
18-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
18+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
1919
public class HashTagServiceImpl extends DomainServiceWithTaskImpl<HashTag> implements HashTagService {
2020

2121
private static final Logger log = LoggerFactory.getLogger(HashTagServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/MediaServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Created by tw on 12.06.17.
1616
*/
1717
@Service
18-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
18+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
1919
public class MediaServiceImpl extends DomainServiceWithTaskImpl<Media> implements MediaService {
2020

2121
private static final Logger log = LoggerFactory.getLogger(MediaServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/MentionServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* Created by tw on 12.06.17.
2222
*/
2323
@Service
24-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
24+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
2525
public class MentionServiceImpl extends DomainServiceWithTaskImpl<Mention> implements MentionService {
2626

2727
private static final Logger log = LoggerFactory.getLogger(MentionServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskHistoryServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
* Created by tw on 11.07.17.
1818
*/
1919
@Service
20-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
20+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
2121
public class TaskHistoryServiceImpl implements TaskHistoryService {
2222

2323
private static final Logger log = LoggerFactory.getLogger(TaskHistoryServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* Created by tw on 09.07.17.
2424
*/
2525
@Service
26-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
26+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
2727
public class TaskServiceImpl implements TaskService {
2828

2929
private static final Logger log = LoggerFactory.getLogger(TaskServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/TickerSymbolServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Created by tw on 12.06.17.
1717
*/
1818
@Service
19-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
19+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
2020
public class TickerSymbolServiceImpl extends DomainServiceWithTaskImpl<TickerSymbol> implements TickerSymbolService {
2121

2222
private static final Logger log = LoggerFactory.getLogger(TickerSymbolServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* Created by tw on 10.06.17.
2222
*/
2323
@Service
24-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
24+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
2525
public class TweetServiceImpl extends DomainServiceWithTaskImpl<Tweet> implements TweetService {
2626

2727
private static final Logger log = LoggerFactory.getLogger(TweetServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlCacheServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* Created by tw on 23.06.17.
1717
*/
1818
@Service
19-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
19+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
2020
public class UrlCacheServiceImpl extends DomainServiceWithTaskImpl<UrlCache> implements UrlCacheService {
2121

2222
private static final Logger log = LoggerFactory.getLogger(TickerSymbolServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Created by tw on 12.06.17.
1616
*/
1717
@Service
18-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
18+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
1919
public class UrlServiceImpl extends DomainServiceWithTaskImpl<Url> implements UrlService {
2020

2121
private static final Logger log = LoggerFactory.getLogger(UrlServiceImpl.class);

src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* Created by tw on 11.06.17.
2222
*/
2323
@Service
24-
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
24+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
2525
public class UserServiceImpl extends DomainServiceWithTaskImpl<User> implements UserService {
2626

2727
private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class);

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/CountedEntitiesServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Created by tw on 09.07.17.
1616
*/
1717
@Service
18-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
18+
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true)
1919
public class CountedEntitiesServiceImpl implements CountedEntitiesService {
2020

2121

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/CreatePersistentMentionImpl.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
6-
import org.springframework.stereotype.Service;
7-
import org.springframework.transaction.annotation.Propagation;
8-
import org.springframework.transaction.annotation.Transactional;
6+
import org.springframework.stereotype.Component;
97
import org.woehlke.twitterwall.oodm.entities.User;
108
import org.woehlke.twitterwall.oodm.entities.Task;
119
import org.woehlke.twitterwall.oodm.entities.Mention;
@@ -16,8 +14,8 @@
1614
/**
1715
* Created by tw on 14.07.17.
1816
*/
19-
@Service
20-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
17+
18+
@Component
2119
public class CreatePersistentMentionImpl implements CreatePersistentMention {
2220

2321
/**

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/CreatePersistentUrlImpl.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import org.springframework.stereotype.Component;
77
import org.woehlke.twitterwall.oodm.entities.Task;
88
import org.woehlke.twitterwall.oodm.entities.parts.UrlField;
9-
import org.woehlke.twitterwall.oodm.repositories.UrlCacheRepository;
10-
import org.woehlke.twitterwall.oodm.repositories.UrlRepository;
119
import org.woehlke.twitterwall.oodm.service.UrlCacheService;
1210
import org.woehlke.twitterwall.oodm.service.UrlService;
1311
import org.woehlke.twitterwall.scheduled.service.backend.TwitterUrlService;
@@ -120,22 +118,16 @@ public Url createPersistentUrlFor(String url, Task task) {
120118

121119
private static final Logger log = LoggerFactory.getLogger(CreatePersistentUrlImpl.class);
122120

123-
//private final UrlRepository urlRepository;
124-
125-
//private final UrlCacheRepository urlCacheRepository;
126-
127121
private final UrlService urlService;
128122

129123
private final UrlCacheService urlCacheService;
130124

131125
private final TwitterUrlService twitterUrlService;
132126

133127
@Autowired
134-
public CreatePersistentUrlImpl(UrlRepository urlRepository, UrlCacheRepository urlCacheRepository, UrlService urlService, UrlCacheService urlCacheService, TwitterUrlService twitterUrlService) {
128+
public CreatePersistentUrlImpl(UrlService urlService, UrlCacheService urlCacheService, TwitterUrlService twitterUrlService) {
135129
this.urlService = urlService;
136130
this.urlCacheService = urlCacheService;
137-
//this.urlRepository = urlRepository;
138-
//this.urlCacheRepository = urlCacheRepository;
139131
this.twitterUrlService = twitterUrlService;
140132
}
141133
}

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreEntitiesProcessImpl.java

-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
66
import org.springframework.stereotype.Component;
7-
import org.springframework.stereotype.Service;
8-
import org.springframework.transaction.annotation.Propagation;
9-
import org.springframework.transaction.annotation.Transactional;
107
import org.woehlke.twitterwall.oodm.entities.*;
118
import org.woehlke.twitterwall.oodm.entities.parts.Entities;
129
import org.woehlke.twitterwall.oodm.service.*;

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreOneTweetImpl.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
6-
import org.springframework.stereotype.Service;
7-
import org.springframework.transaction.annotation.Propagation;
8-
import org.springframework.transaction.annotation.Transactional;
6+
import org.springframework.stereotype.Component;
97
import org.woehlke.twitterwall.oodm.entities.Tweet;
108
import org.woehlke.twitterwall.oodm.entities.Task;
119
import org.woehlke.twitterwall.scheduled.service.persist.StoreOneTweet;
@@ -15,8 +13,7 @@
1513
/**
1614
* Created by tw on 09.07.17.
1715
*/
18-
@Service
19-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
16+
@Component
2017
public class StoreOneTweetImpl implements StoreOneTweet {
2118

2219
@Override

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreOneTweetPerformImpl.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
6-
import org.springframework.stereotype.Service;
7-
import org.springframework.transaction.annotation.Propagation;
8-
import org.springframework.transaction.annotation.Transactional;
6+
import org.springframework.stereotype.Component;
97
import org.woehlke.twitterwall.oodm.entities.parts.Entities;
108
import org.woehlke.twitterwall.oodm.entities.Tweet;
119
import org.woehlke.twitterwall.oodm.entities.User;
@@ -16,8 +14,7 @@
1614
/**
1715
* Created by tw on 09.07.17.
1816
*/
19-
@Service
20-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
17+
@Component
2118
public class StoreOneTweetPerformImpl implements StoreOneTweetPerform {
2219

2320
/** Method because of recursive Method Call in this Method **/

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreTwitterProfileForProxyMentionForUserImpl.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
import org.slf4j.LoggerFactory;
55
import org.springframework.social.ApiException;
66
import org.springframework.social.twitter.api.TwitterProfile;
7-
import org.springframework.stereotype.Service;
8-
import org.springframework.transaction.annotation.Propagation;
9-
import org.springframework.transaction.annotation.Transactional;
7+
import org.springframework.stereotype.Component;
108
import org.woehlke.twitterwall.oodm.entities.*;
119
import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities;
1210
import org.woehlke.twitterwall.oodm.entities.parts.Entities;
@@ -24,9 +22,7 @@
2422
/**
2523
* Created by tw on 14.07.17.
2624
*/
27-
28-
@Service
29-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
25+
@Component
3026
public class StoreTwitterProfileForProxyMentionForUserImpl implements StoreTwitterProfileForProxyMentionForUser {
3127

3228

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreUserFromMentionImpl.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
6-
import org.springframework.stereotype.Service;
7-
import org.springframework.transaction.annotation.Propagation;
8-
import org.springframework.transaction.annotation.Transactional;
6+
import org.springframework.stereotype.Component;
97
import org.woehlke.twitterwall.oodm.entities.User;
108
import org.woehlke.twitterwall.oodm.entities.Task;
119
import org.woehlke.twitterwall.oodm.entities.Mention;
@@ -15,8 +13,7 @@
1513
/**
1614
* Created by tw on 11.07.17.
1715
*/
18-
@Service
19-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
16+
@Component
2017
public class StoreUserFromMentionImpl implements StoreUserFromMention {
2118

2219
@Override

src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreUserProfileForScreenNameImpl.java

+3-11
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,20 @@
33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
6-
import org.springframework.dao.EmptyResultDataAccessException;
76
import org.springframework.social.RateLimitExceededException;
87
import org.springframework.social.twitter.api.TwitterProfile;
9-
import org.springframework.stereotype.Service;
10-
import org.springframework.transaction.annotation.Propagation;
11-
import org.springframework.transaction.annotation.Transactional;
8+
import org.springframework.stereotype.Component;
129
import org.woehlke.twitterwall.oodm.entities.User;
1310
import org.woehlke.twitterwall.oodm.entities.Task;
1411
import org.woehlke.twitterwall.oodm.service.UserService;
15-
import org.woehlke.twitterwall.oodm.service.TaskService;
1612
import org.woehlke.twitterwall.scheduled.service.backend.TwitterApiService;
1713
import org.woehlke.twitterwall.scheduled.service.persist.StoreUserProfile;
1814
import org.woehlke.twitterwall.scheduled.service.persist.StoreUserProfileForScreenName;
1915

2016
/**
2117
* Created by tw on 11.07.17.
2218
*/
23-
@Service
24-
@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false)
19+
@Component
2520
public class StoreUserProfileForScreenNameImpl implements StoreUserProfileForScreenName {
2621

2722
@Override
@@ -59,14 +54,11 @@ public User storeUserProfileForScreenName(String screenName, Task task){
5954

6055
private final StoreUserProfile storeUserProfile;
6156

62-
private final TaskService taskService;
63-
6457
@Autowired
65-
public StoreUserProfileForScreenNameImpl(UserService userService, TwitterApiService twitterApiService, StoreUserProfile storeUserProfile, TaskService taskService) {
58+
public StoreUserProfileForScreenNameImpl(UserService userService, TwitterApiService twitterApiService, StoreUserProfile storeUserProfile) {
6659
this.userService = userService;
6760
this.twitterApiService = twitterApiService;
6861
this.storeUserProfile = storeUserProfile;
69-
this.taskService = taskService;
7062
}
7163

7264
}

0 commit comments

Comments
 (0)