Skip to content

Commit cb28be9

Browse files
fixed #272, fixed #271,fixed #270, fixed #269, fixed #268, fixed #267, fixed #266, fixed #257
1 parent 7b4cd69 commit cb28be9

34 files changed

+1616
-1704
lines changed

src/main/java/org/woehlke/twitterwall/backend/service/transform/impl/UserTransformatorImpl.java renamed to src/main/java/org/woehlke/twitterwall/backend/mq/users/endpoint/serviceactivator/impl/UserTransformatorImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.woehlke.twitterwall.backend.service.transform.impl;
1+
package org.woehlke.twitterwall.backend.mq.users.endpoint.serviceactivator.impl;
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.integration.support.MessageBuilder;

src/main/java/org/woehlke/twitterwall/backend/service/transform/impl/TickerSymbolTransformServiceImpl.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
public class TickerSymbolTransformServiceImpl extends EntitiesFilter implements TickerSymbolTransformService {
2020

2121
@Override
22-
public TickerSymbol transform(TickerSymbolEntity tickerSymbol,Task task) {
23-
String tickerSymbolString = tickerSymbol.getTickerSymbol();
24-
String url = tickerSymbol.getUrl();
25-
TickerSymbol myTickerSymbolEntity = new TickerSymbol(task, null, tickerSymbolString, url);
26-
return myTickerSymbolEntity;
22+
public TickerSymbol transform(TickerSymbolEntity tickerSymbolSource,Task createdBy) {
23+
String tickerSymbolString = tickerSymbolSource.getTickerSymbol();
24+
String url = tickerSymbolSource.getUrl();
25+
Task updatedBy = null;
26+
TickerSymbol tickerSymboTarget = new TickerSymbol(createdBy, updatedBy, tickerSymbolString, url);
27+
return tickerSymboTarget;
2728
}
2829

2930
@Override

src/main/java/org/woehlke/twitterwall/backend/service/transform/impl/TweetTransformServiceImpl.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
/**
1515
* Created by tw on 28.06.17.
1616
*/
17-
1817
@Component
1918
public class TweetTransformServiceImpl implements TweetTransformService {
2019

@@ -31,7 +30,6 @@ public TweetTransformServiceImpl(UserTransformService userTransformService, Enti
3130
@Override
3231
public org.woehlke.twitterwall.oodm.model.Tweet transform(org.springframework.social.twitter.api.Tweet tweetSource, Task task) {
3332
if (tweetSource == null) { return null; } else {
34-
org.woehlke.twitterwall.oodm.model.Tweet retweetedStatus = transform(tweetSource.getRetweetedStatus(),task);
3533
long idTwitter = tweetSource.getId();
3634
String idStr = tweetSource.getIdStr();
3735
String text = tweetSource.getText();
@@ -54,17 +52,18 @@ public org.woehlke.twitterwall.oodm.model.Tweet transform(org.springframework.so
5452
tweetTarget.setFromUser(tweetSource.getFromUser());
5553
tweetTarget.setFavorited(tweetSource.isFavorited());
5654
tweetTarget.setInReplyToStatusId(tweetSource.getInReplyToStatusId());
55+
/* retweetedStatus */
56+
org.woehlke.twitterwall.oodm.model.Tweet retweetedStatus = transform(tweetSource.getRetweetedStatus(),task);
5757
tweetTarget.setRetweetedStatus(retweetedStatus);
58-
TwitterProfile userSource = tweetSource.getUser();
59-
58+
/* Entities */
6059
Entities entitiesTarget = entitiesTransformService.transformEntitiesForTweet(tweetSource,task);
61-
6260
tweetTarget.setEntities(entitiesTarget);
63-
6461
/* transformEntitiesForTweet userTarget */
62+
TwitterProfile userSource = tweetSource.getUser();
6563
User userTarget = userTransformService.transform(userSource,task);
6664
tweetTarget.setUser(userTarget);
67-
65+
/* ExtraData */
66+
tweetTarget.setExtraData(tweetSource.getExtraData());
6867
return tweetTarget;
6968
}
7069
}

src/main/java/org/woehlke/twitterwall/backend/service/transform/impl/UrlTransformServiceImpl.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@
2020
public class UrlTransformServiceImpl extends EntitiesFilter implements UrlTransformService {
2121

2222
@Override
23-
public Url transform(UrlEntity url, Task task) {
24-
String display = url.getDisplayUrl();
25-
String expanded = url.getExpandedUrl();
26-
String urlStr = url.getUrl();
27-
Url myUrlEntity = Url.createByTransformation(task, display, expanded, urlStr);
28-
return myUrlEntity;
23+
public Url transform(UrlEntity urlSource, Task task) {
24+
String display = urlSource.getDisplayUrl();
25+
String expanded = urlSource.getExpandedUrl();
26+
String urlStr = urlSource.getUrl();
27+
Url urlTarget = Url.createByTransformation(task, display, expanded, urlStr);
28+
urlTarget.setExtraData(urlSource.getExtraData());
29+
return urlTarget;
2930
}
3031

3132
@Override

src/main/java/org/woehlke/twitterwall/backend/service/transform/impl/UserListTransformServiceImpl.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
import org.springframework.stereotype.Component;
44
import org.woehlke.twitterwall.oodm.model.Task;
5+
import org.woehlke.twitterwall.oodm.model.User;
56
import org.woehlke.twitterwall.oodm.model.UserList;
67
import org.woehlke.twitterwall.backend.service.transform.UserListTransformService;
78

9+
import java.util.LinkedHashSet;
10+
import java.util.Set;
11+
812
@Component
913
public class UserListTransformServiceImpl implements UserListTransformService {
1014

@@ -22,7 +26,11 @@ public UserList transform(org.springframework.social.twitter.api.UserList twitte
2226
boolean isFollowing = twitterObject.isFollowing();
2327
int memberCount = twitterObject.getMemberCount();
2428
int subscriberCount = twitterObject.getSubscriberCount();
25-
UserList userList = new UserList(createdBy, updatedBy, idTwitter, name, fullName, uriPath, description, slug, isPublic, isFollowing, memberCount, subscriberCount);
29+
Set<User> members = new LinkedHashSet<User>();
30+
Set<User> subscriber = new LinkedHashSet<User>();
31+
User listOwner = null;
32+
UserList userList = new UserList(createdBy, updatedBy, idTwitter, name, fullName, uriPath, description, slug, isPublic, isFollowing, memberCount, subscriberCount,listOwner,members,subscriber);
33+
userList.setExtraData(twitterObject.getExtraData());
2634
return userList;
2735
}
2836
}

src/main/java/org/woehlke/twitterwall/backend/service/transform/impl/UserTransformServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
/**
1717
* Created by tw on 28.06.17.
1818
*/
19-
2019
@Component
2120
public class UserTransformServiceImpl implements UserTransformService {
2221

@@ -82,6 +81,7 @@ public User transform(TwitterProfile userSource,Task task) {
8281
userTarget.setEntities(entities);
8382
log.debug(msg+" userTarget = "+userTarget.getUniqueId());
8483
log.trace(msg+" userTarget = "+userTarget.toString());
84+
userTarget.setExtraData(userSource.getExtraData());
8585
return userTarget;
8686
}
8787

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

Lines changed: 89 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@
88

99
import javax.persistence.*;
1010
import javax.validation.constraints.NotNull;
11+
import java.util.LinkedHashSet;
12+
import java.util.Set;
13+
14+
import static javax.persistence.CascadeType.DETACH;
15+
import static javax.persistence.CascadeType.REFRESH;
16+
import static javax.persistence.CascadeType.REMOVE;
17+
import static javax.persistence.FetchType.EAGER;
18+
import static javax.persistence.FetchType.LAZY;
1119

1220
@Entity
1321
@Table(
@@ -83,7 +91,34 @@ public String getListOwnersScreenName(){
8391
return myuriPath.split("/")[1];
8492
}
8593

86-
public UserList(Task createdBy, Task updatedBy, long idTwitter, String name, String fullName, String uriPath, String description, String slug, boolean isPublic, boolean isFollowing, int memberCount, int subscriberCount) {
94+
@NotNull
95+
@ManyToOne(fetch = FetchType.EAGER)
96+
@JoinColumn(name="fk_user")
97+
private User listOwner;
98+
99+
100+
@NotNull
101+
@JoinTable(
102+
name="userlist_members"
103+
)
104+
@ManyToMany(
105+
cascade = { DETACH, REFRESH, REMOVE },
106+
fetch = LAZY
107+
)
108+
private Set<User> members = new LinkedHashSet<User>();
109+
110+
111+
@NotNull
112+
@JoinTable(
113+
name="userlist_subcriber"
114+
)
115+
@ManyToMany(
116+
cascade = { DETACH, REFRESH, REMOVE },
117+
fetch = LAZY
118+
)
119+
private Set<User> subscriber = new LinkedHashSet<User>();
120+
121+
public UserList(Task createdBy, Task updatedBy, long idTwitter, String name, String fullName, String uriPath, String description, String slug, boolean isPublic, boolean isFollowing, int memberCount, int subscriberCount, User listOwner,Set<User> members,Set<User> subscriber) {
87122
super(createdBy, updatedBy);
88123
this.idTwitter = idTwitter;
89124
this.name = name;
@@ -99,6 +134,9 @@ public UserList(Task createdBy, Task updatedBy, long idTwitter, String name, Str
99134
} else {
100135
this.description = description;
101136
}
137+
this.listOwner = listOwner;
138+
this.members = members;
139+
this.subscriber = subscriber;
102140
}
103141

104142
protected UserList() {
@@ -213,45 +251,74 @@ public void setSubscriberCount(Integer subscriberCount) {
213251
this.subscriberCount = subscriberCount;
214252
}
215253

254+
255+
public User getListOwner() {
256+
return listOwner;
257+
}
258+
259+
public void setListOwner(User listOwner) {
260+
this.listOwner = listOwner;
261+
}
262+
263+
public Set<User> getMembers() {
264+
return members;
265+
}
266+
267+
public void setMembers(Set<User> members) {
268+
this.members = members;
269+
}
270+
271+
public Set<User> getSubscriber() {
272+
return subscriber;
273+
}
274+
275+
public void setSubscriber(Set<User> subscriber) {
276+
this.subscriber = subscriber;
277+
}
278+
216279
@Override
217280
public boolean equals(Object o) {
218281
if (this == o) return true;
219282
if (!(o instanceof UserList)) return false;
220283

221284
UserList userList = (UserList) o;
222285

223-
if (getId() != null ? !getId().equals(userList.getId()) : userList.getId() != null) return false;
224-
if (getIdTwitter() != null ? !getIdTwitter().equals(userList.getIdTwitter()) : userList.getIdTwitter() != null)
225-
return false;
226-
if (getName() != null ? !getName().equals(userList.getName()) : userList.getName() != null) return false;
227-
if (getFullName() != null ? !getFullName().equals(userList.getFullName()) : userList.getFullName() != null)
286+
if (id != null ? !id.equals(userList.id) : userList.id != null) return false;
287+
if (idTwitter != null ? !idTwitter.equals(userList.idTwitter) : userList.idTwitter != null) return false;
288+
if (name != null ? !name.equals(userList.name) : userList.name != null) return false;
289+
if (fullName != null ? !fullName.equals(userList.fullName) : userList.fullName != null) return false;
290+
if (uriPath != null ? !uriPath.equals(userList.uriPath) : userList.uriPath != null) return false;
291+
if (description != null ? !description.equals(userList.description) : userList.description != null)
228292
return false;
229-
if (getUriPath() != null ? !getUriPath().equals(userList.getUriPath()) : userList.getUriPath() != null)
230-
return false;
231-
if (getDescription() != null ? !getDescription().equals(userList.getDescription()) : userList.getDescription() != null)
232-
return false;
233-
if (getSlug() != null ? !getSlug().equals(userList.getSlug()) : userList.getSlug() != null) return false;
293+
if (slug != null ? !slug.equals(userList.slug) : userList.slug != null) return false;
234294
if (isPublic != null ? !isPublic.equals(userList.isPublic) : userList.isPublic != null) return false;
235295
if (isFollowing != null ? !isFollowing.equals(userList.isFollowing) : userList.isFollowing != null)
236296
return false;
237-
if (getMemberCount() != null ? !getMemberCount().equals(userList.getMemberCount()) : userList.getMemberCount() != null)
297+
if (memberCount != null ? !memberCount.equals(userList.memberCount) : userList.memberCount != null)
298+
return false;
299+
if (subscriberCount != null ? !subscriberCount.equals(userList.subscriberCount) : userList.subscriberCount != null)
238300
return false;
239-
return getSubscriberCount() != null ? getSubscriberCount().equals(userList.getSubscriberCount()) : userList.getSubscriberCount() == null;
301+
if (listOwner != null ? !listOwner.equals(userList.listOwner) : userList.listOwner != null) return false;
302+
if (members != null ? !members.equals(userList.members) : userList.members != null) return false;
303+
return subscriber != null ? subscriber.equals(userList.subscriber) : userList.subscriber == null;
240304
}
241305

242306
@Override
243307
public int hashCode() {
244-
int result = getId() != null ? getId().hashCode() : 0;
245-
result = 31 * result + (getIdTwitter() != null ? getIdTwitter().hashCode() : 0);
246-
result = 31 * result + (getName() != null ? getName().hashCode() : 0);
247-
result = 31 * result + (getFullName() != null ? getFullName().hashCode() : 0);
248-
result = 31 * result + (getUriPath() != null ? getUriPath().hashCode() : 0);
249-
result = 31 * result + (getDescription() != null ? getDescription().hashCode() : 0);
250-
result = 31 * result + (getSlug() != null ? getSlug().hashCode() : 0);
308+
int result = id != null ? id.hashCode() : 0;
309+
result = 31 * result + (idTwitter != null ? idTwitter.hashCode() : 0);
310+
result = 31 * result + (name != null ? name.hashCode() : 0);
311+
result = 31 * result + (fullName != null ? fullName.hashCode() : 0);
312+
result = 31 * result + (uriPath != null ? uriPath.hashCode() : 0);
313+
result = 31 * result + (description != null ? description.hashCode() : 0);
314+
result = 31 * result + (slug != null ? slug.hashCode() : 0);
251315
result = 31 * result + (isPublic != null ? isPublic.hashCode() : 0);
252316
result = 31 * result + (isFollowing != null ? isFollowing.hashCode() : 0);
253-
result = 31 * result + (getMemberCount() != null ? getMemberCount().hashCode() : 0);
254-
result = 31 * result + (getSubscriberCount() != null ? getSubscriberCount().hashCode() : 0);
317+
result = 31 * result + (memberCount != null ? memberCount.hashCode() : 0);
318+
result = 31 * result + (subscriberCount != null ? subscriberCount.hashCode() : 0);
319+
result = 31 * result + (listOwner != null ? listOwner.hashCode() : 0);
320+
result = 31 * result + (members != null ? members.hashCode() : 0);
321+
result = 31 * result + (subscriber != null ? subscriber.hashCode() : 0);
255322
return result;
256323
}
257324

src/main/java/org/woehlke/twitterwall/oodm/model/parts/AbstractDomainObject.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.woehlke.twitterwall.oodm.model.parts;
22

33
import com.fasterxml.jackson.annotation.JsonAnySetter;
4+
import org.hibernate.annotations.IndexColumn;
45
import org.springframework.validation.annotation.Validated;
56
import org.woehlke.twitterwall.oodm.model.Task;
67
import org.woehlke.twitterwall.oodm.model.common.DomainObject;
@@ -55,6 +56,9 @@ public abstract class AbstractDomainObject<T extends DomainObject> implements Do
5556
@Transient
5657
private Map<String, Object> extraData = new HashMap<>();
5758

59+
@Transient
60+
private int[] indices;
61+
5862
@Transient
5963
public Boolean isCached(TaskType taskType, long timeToLive){
6064
return this.taskBasedCaching.isCached(taskType,timeToLive);
@@ -97,6 +101,13 @@ public void setExtraData(Map<String, Object> extraData) {
97101
this.extraData = extraData;
98102
}
99103

104+
public int[] getIndices() {
105+
return indices;
106+
}
107+
108+
public void setIndices(int[] indices) {
109+
this.indices = indices;
110+
}
100111

101112
@Override
102113
public String toString() {

src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/TaskRepositoryImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ public void deleteAllDomainData() {
5858
"delete from hashtag",
5959
"delete from tweet",
6060
"delete from userprofile",
61+
"delete from userlist_members",
62+
"delete from userlist_subcriber",
6163
"delete from userlist",
6264
"delete from task_history",
6365
"delete from task"

0 commit comments

Comments
 (0)